2017-10-29 6 views
2

私はZed Shawの本 "Learn Python The Hard Way"を勉強してpython2の基礎を学んでいます。演習25で著者は、いくつかの機能を提供します、のように:)難解な方法でPythonを学ぶEx 25:関数内でのローカル変数/オブジェクトの割り当て

def break_words(sentence): 
    return sentence.split(' ') 

def print_first_word(sentence) 
    print break_words(sentence).pop(0) 

そして、著者は(.splitを割り当て理由があるかどうかを知りたいと思った&:

def break_words(sentence): 
    words = sentence.split(' ') 
    return words 

def print_first_word(words): 
    word = words.pop(0) 
    print word 

私はこのような機能を短縮しました.pop()を単語/単語に変換しますか?

は、私が唯一の理由は、(彼らの見解では)可読性のためだと思うあなた

+0

わかりやすくするためです。 –

+6

なぜPython 2を学んでいるのですか?それは2020年の公式の終わりに達するでしょう。あなたはPython 3を学ぶべきです。そして、Python 2があなたにレガシーコードを扱うために必要であれば学ぶことができます。 –

+0

@ PM2Ring著者はPython 2を最初に学ぶことを提案しているので...あなたは私にこの1つを混乱させて不満を感じました:) – tentkl

答えて

2

ありがとうございます。

多くの場合、returningの場合、それらは直接的にはっきりしていますが、コードを書く人は誰でも、コードが書かれている人は誰でも自由です。

私が個人的に行っているのはあなたのショートニング方法ですが、それは好みの問題です。 the ZEN of Pythonから誘導撮影

import this:追記として

パイソンの禅 Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than *right* now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!

は、イースター卵、これは実行して、コンソールにprintedとなるがあります。

関連する問題