Basic
式と文の違い
式は値を返すが,文は値を返さない.
式は値を返す
例えば,print 関数や,リストの sort メソッドは,パッと見ると値を返していないように見えるが,正確には None を返している.
>>> lis = [3, 1, 5]>>> lis.sort()# lis.sort() の戻り値を出力してみる>>> print(lis.sort())# None# リストの sort メソッドが None を返していることが分かる# print(lis.sort()) の戻り値を出力してみる>>> print('print(lis.sort() の戻り値):', print('lis.sort() の戻り値:', lis.sort()))# lis.sort() の戻り値: None# print(lis.sort() の戻り値): None
文は値を返さない
例えば,del 文は文なので,値を返さない.そのため,変数に代入できず,SyntaxError になる.
>>> a = 'foo'>>> del a # 文が実行される.エラーは起きない.>>> a = 'foo'>>> b = del a # 文を変数に代入しようとしている.エラーが起きる.File "<ipython-input-8-54b1e435e69c>", line 1b = del a^SyntaxError: invalid syntax
リストを任意の値,要素数で初期化
神記事:(nkmk)Python のリスト(配列)を任意の値・要素数で初期化
- 空リストを作成
空のリストは falsy であることに注意.
# 空のリストを作成lis_empty = []# 空のリストが falsy であることの確認print(bool(lis_empty))# False
- 任意の値・要素数で初期化
length = 10lis = [0] * length# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]print(len(lis))# 10
要素数によらず,元のリストの要素が繰り返されたリストが生成される.
lis = [0, 1, 2] * 3# [0, 1, 2, 0, 1, 2, 0, 1, 2]
- 2 次元配列(リストのリスト)を初期化する際の注意
- タプル、配列(array 型)の場合
デコレータを理解する
© 2019 nukopy All Rights Reserved.