変数代入について
まとめて代入
x, y, z = 1, 10, 100
print(x, y, z) # 1 10 100
リスト、辞書型の展開
リストの展開
test = [1, 2, 3]
print([test, 4, 5]) # [[1, 2, 3], 4, 5]
print([*test, 4, 5]) # [1, 2, 3, 4, 5]
辞書型の展開
test = {'apple': 'red', 'remon': 'yellow'}
print({**test,'cherrie': 'pink'}) # {'apple': 'red', 'remon': 'yellow', 'cherrie': 'pink'}
真偽
test
がNone
ではないまたはTrue
の場合は真
if test:
print('OK')
test
がNone
またはFalse
の場合は真
if not test:
print('NG')
inは辞書型でも使える
test = {'age': 20}
if 'age' in test and test['age'] >= 20:
print('大人です')
比較演算子の組み合わせ
if x >= 0 and x <= 20:
if 0 <= x <= 20:
三項演算子
if文の中の処理が少ないとき、1行で済ませる方法があります。
(変数) = (条件が真のときの値) if (条件式) else (条件が偽のときの値)
if test >= 0:
message = "正の数または0です"
else:
message = "負の数です"
# ↓一行で終わり
message = "正の数または0です" if test >= 0 else "負の数です"
文字列の扱い
文字列の中に変数を埋め込む
name = "太郎"
print("私は" + name + "です")
# 一番見やすく簡単
print(f"私は{name}です")
# format関数
print("私は{}です".format(name))
print("私は%sです" % name)
型変換
# 文字から数字へ
int('100') # 100
# 数字から文字へ
str(100) # "100"
文字列置換
は
とも
を置換している。
print("私は男です。".replace("は", "も"))
# 私も男です。
金額のカンマ
'money'は数値型ですがフォーマットでカンマをつけると文字列になります。
money = 12345678
print("代金は¥{:,}円になります。".format(money))
# 代金は¥12,345,678円になります。
小数点以下丸め
print("{:,.2f}".format(1234.5678))
# 1,234.57
for文
indexと一緒に繰り返す
index
には0~カウントアップする数字が入っています。
value
にはtestの中の値が入っています。
test = [1, 10, 15, 16]
for index, value in enumerate(test):
print('index:', index, 'value:', value, ',', end=' ')
複数のリストを同時に回す
list1 = [1, 2, 3, 4]
list2 = ["リンゴ", "みかん", "もも", "パイナポー"]
for num, fruit in zip(list1, list2):
print(f"{fruit}が{num}個")
# リンゴが1個
# みかんが2個
# ももが3個
# パイナポーが4個
enumerate
とzip
の合わせ技もできる。
辞書のFOR文
普通にするとkeyの値しか入ってない。
test = {'apple': 'red', 'remon': 'yellow'}
for key in test:
print(key)
print(test[key])
.items()
を付与することでキーと値が取れるようになる。
for key, value in test.items():
print(f"{key}:{value}")
配列
配列内の重複を削除
test = [1, 2, 3, 3, 5, 1]
print(list(set(test))) # [1, 2, 3, 5]
ソート(昇順降順)
test = [10, 25, 4, 100, 69]
print(sorted(test)) # [4, 10, 25, 69, 100]
print(sorted(test, reverse=True)) # [100, 69, 25, 10, 4]
test = [[10, 25], [4, 100], [69, 71]]
print(sorted(test, key=lambda item: item[1])) # [[10, 25], [69, 71], [4, 100]]
辞書型のソート
test = [{'name': 'taro', 'age': 18},{'name': 'jiro', 'age': 12}]
# [{'name': 'jiro', 'age': 12}, {'name': 'taro', 'age': 18}]
print(sorted(test, key=lambda item: item['age']))
例外
try
の中でエラーが起こった場合except
に入ります。
finally
はエラーになってもならなくても最終的に通るところです。
finally
はなくてもいいです。
エラーの場合、何もしない場合はexcept
の中にpass
try:
print("テスト")
except Exception:
print("エラー!")
finally:
print("ここは絶対通る")
エラーの場合、何もしない場合はexcept
の中はpass
try:
print("テスト")
except Exception:
pass