自分用備忘録_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でエンコード
この記事が気に入ったらサポートをしてみませんか?