pythonで使うあれこれとクラスの復習
f-stringsを使う
name = "田村"
age = 30
print(f"私の名前は{name}、年齢は{age}歳です")
#私の名前は田村、年齢は30歳です
f-stringsを使うとフォーマットより簡素に記載することが可能。
タプルのアンパッキング
num_taple = (1,5,10)
x,y,z = num_taple
print(x)
print(y)
print(z)
#
1
5
10
辞書のアップデート
d = {"x": 10, "y": 20}
print(d)
d2 = {"x": 1000, "y": 20, "z": 50}
print(d2)
d.update(d2)
print(d)
#
{'x': 10, 'y': 20}
{'x': 1000, 'y': 20, 'z': 50}
{'x': 1000, 'y': 20, 'z': 50}
集合型で重複している値を纏める
a = {"田村","鈴木","山田","田村"}
print(a)
b = {"鈴木"}
print(a - b)
#
{'鈴木', '山田', '田村'}
{'山田', '田村'}
リストから重複を除く
a = ["a", "b", "c", "c"]
b = set(a)
print(b)
#{'b', 'c', 'a'}
enumarate関数でidを付与
for文で書くと
test_list = ["a", "b", "c", "d","e"]
i = 0
for list in test_list:
print(i, list)
i += 1
#
0 a
1 b
2 c
3 d
4 e
enumerate関数を使うと
for i, list in enumerate(test_list):
print(i, list)
#
0 a
1 b
2 c
3 d
4 e
zip関数で2つのリストを付け合せる
for文で書くと
test_list = ["a", "b", "c", "d","e"]
test_list2 = [1, 2, 3, 4, 5]
for i in range(len(test_list)):
print(test_list[i], test_list2[i])
#
a 1
b 2
c 3
d 4
e 5
zip関数を使うと
for test, test2 in zip(test_list,test_list2):
print(test, test2)
#
a 1
b 2
c 3
d 4
e 5
関数でリストを追加する
def add_list(x, l=None):
if l is None:
l = []
l.append(x)
return l
name_list = ["田村", "tamura", "たむら"]
add_list("タムラ",name_list)
引数が多い場合、*argsを使う
def say_something(word, *args):
print(word + "=第一引数")
for arg in args:
print(arg)
say_something("田村", "タムラ", "tamura")
#
田村=第一引数
タムラ
tamura
*argsにまとめられる。
ラムダ
たとえば、以下のような小文字を大文字にするようなfuncがあるとします。
l = ["tamura", "Tam", "pachi", "PachiPachi"]
def change_words(words, func):
for word in words:
print(func(word))
def sumple_func(word):
return word.capitalize()
change_words(l, sumple_func)
➡
Tamura
Tam
Pachi
Pachipachi
これをlambdaを使うと簡単に書ける
l = ["tamura", "Tam", "pachi", "PachiPachi"]
def change_words(words, func):
for word in words:
print(func(word))
change_words (l, lambda word: word.capitalize())
クラスの復習
class Man:
#コンストラクタの設定
def __init__(self, name):
self.name = name
print("コンストラクタ")
#メソッド1
def hello(self):
print("hello:" + self.name)
#メソッド2
def bye(self):
print("bye:" + self.name)
#インスタンス化1
m = Man("tamura")
#インスタンス化2
w = Man("mikako")
m.hello()
w.hello()
#
hello:tamura
hello:mikako
m.bye()
w.bye()
#
bye:tamura
bye:mikako
この記事が気に入ったらサポートをしてみませんか?