自分用備忘録_Pythonチュートリアル

Pythonで知らなかった事を備忘録的に書く
少しずつ加筆していくつもり

対話モードでは最後に表示した式を変数「_」(アンダーバー)に代入する

tax=12.5/100
price=100.50
price*tax
>12.5625
price+_ 
>113.0625

列挙された文字列リテラルは自動的に連結される

'py' 'thon'
>'python'

大きすぎるインデックスをしてするとエラーになるgあ、スライシングでは範囲外のインデックスを指定してもエラーにならない

Pythonの文字列は改変できない(変換不能体)であるため新しい文字列を生成する必要がある

word='Python'
'J'+word[1:] #スライシングして1番目以降を選択したwordとJを足してる
>'Jython'

キーワード引数のendを使うと出力末尾の改行の抑制や、出力末尾を他の文字列にかえられる

a,b=0,1 #多重代入
while b<1000:
 print(b,end=',')#キーワード引数のend
 a,b=b,a+b
>1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

for文で反復中のシーケンスを改変するときは、コピーを取って反復を掛ける

words=['cat','window','defenstarate']

for w in words[:]: #リスト全体にスライスコピー
 if len(w)>6:
   words.insert(0,w)
words
>['defenstarate', 'cat', 'window', 'defenstarate']

try文のelse節は例外が起きなかった説き、ループのelse節はbreakが起きなかったときに実行される

for n in range(2,10):
 for x in range(2,n):
   if n%x==0:
     print(n,'equals',x,'*',n//x)
     break
 else:
   print(n,'is a prime number')
>2 is a prime number
>3 is a prime number
>4 equals 2 * 2
>5 is a prime number
>6 equals 2 * 3
>7 is a prime number
>8 equals 2 * 4
>9 equals 3 * 3

コーディングスタイル

・インデントはスペース4つ、タブは混乱の元
・79文字以下で折り返す
・ブロックを分離するのに空白行を使う
・可能ならコメント行は独立
・docstringを使う
・カンマの後にスペース、かっこのすぐ内側にスペースを入れない
・クラスや関数は一貫した命名をする
・UTF-8かASCIIでエンコード

この記事が気に入ったらサポートをしてみませんか?