Pythonの忘れがちな機能

どうも,ポテト・ポテト・ポテト君です(?)

Pythonからプログラミングを始めて最近では別の言語を多くやってる僕ですが,Pythonってまあ特殊だったりするので忘れがちなのをメモ的な意味も兼ねて書いていきます。

0.コメントは#
かなり初歩的ですが大体/か/**/なので…

# this is a comment

1.ソースコード中では\で長い式を改行できる。

a=1+2+3+\
    4+5+6

2.文字列の先頭にfをつけてフォーマット済み文字列リテラルに

str="test"
str2=f"this is {str}"
# str2->this is test

3.文字列の先頭にrをつけてraw文字列(エスケープの要らない文字列)
rawだから加工されてないってことですかね

str=r"\n\\"
# str->\n\\

4."""でdocstring
つまり関数の説明文です。

def func(a):
    """this is function"""
    return a

5.NullはNone

val=None
print(val)
#->None

6.//で商
余剰(%)はあっても商がある言語は珍しい気がします。
珍しくてもべき乗(**)はよく使うので覚えてましたが…

a=7//2
# a->3

7.比較演算子を複数連続して使える。
大体 min<val && val<max みたいな感じになる言語が多いですよね。

print(0<10<20)
# ->True

8.インデックスを負数値で指定できる。
時々この仕様に助けられることがあります。

list=[0,1,2,3,4]
print(list[-1])
# ->4

9.リストのステップ
ステップが1のスライス構文はたまに使いますけどね。

list=[0,1,2,3,4,5,6,7,8]
print(list[1:7:2])
# ->[2,4,6]

10.リストの要素の削除
大体はリストじゃなくて配列なのでPythonならではみたいなところはあるかもですね。

list=['0','1','2','3','4','5']
del list[1]
# list->['0','2','3','4','5']
list.remove('2')
# list->['0','3','4','5']
print(list.pop(0))
# ->'0'
# list->['3','4','5']

11.アンパック

list=[0,1,2]
a,b,c=list
print(a,b,c)
# ->0 1 2

11を利用して次のように記述することもできます。
スワッピングなんか1行でできてしまうじゃないか…

a=0
b=1
c=2
a,b,c=c,a,b
print(a,b,c)
# ->2 0 1

12.in演算子

list=['a','b','c','d']
print('c' in list)
# ->True

13.三項演算子
式の実行ではなく値を返すだけなのがわかりずr…忘れやすいところですね。

a=0 if 0<2 else 1
# a->0

14.ループカウンタ
この存在を忘れてカウンタ用の変数を別で作ってしまいがち。

list=['a','b','c']
for ind, val in enumerate(list):
    print(ind,val,end=' : ')
# -> 0 a : 1 b : 2 c

15.内包表記

list = [val * 3 for val in range(0,5) if val!=3]
# list -> [0,3,6,12]

16.for文のelse部
break文が実行されなかったときに実行

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