python学習 1時間(累計6時間)

for else 文

for fruit in ['apple', 'banana', 'orange']:
#break
if fruit == 'banana':
print('stop eating')
break
print(fruit)
#break されていない場合に表示
else:
print('I eat all')

range 関数

# 繰り返しの処理を行う場合(回数が決まっている
# for でもかけるけど
num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for i in num_list:
print(i)

# range 関数を使った方がスマート
# range(開始位置, 終了位置, 飛ばす数値)
for i in range(2, 10, 3):
print(i)

# _(アンダースコア)を使うことで繰り返す際の引数が不要
for _ in range(10):
print('hello!')

enumrate関数

# インデックスとリストを併用したい場合
i = 0

for fruit in ['apple', 'banana', 'orange']:
print(i, fruit)
i += 1

# enumerate関数を用いればシンプルにかける
for i, fruit in enumerate(['apple', 'banana', 'orange']):
print(i, fruit)

 zip関数

# 複数の配列を同時に出力したい場合
days = ['Mon', 'Tue', 'Wed']
fruits = ['apple', 'banana', 'orange']
drinks = ['coffee', 'tea', 'beer']

# rangeを使って書けなくもない
#for i in range(len(days)):
# print(days[i], fruits[i], drinks[i])

# 上記だとi が何度も出て来て見にくいためzip 関数を使う
for day, fruit, drink in zip(days, fruits, drinks):
print(day, fruit, drink)

 辞書をfor文で処理する

d = {'x': 100, 'y': 200}

# dict_items([('x', 100), ('y', 200)]) という形の
# 配列の中にタプルがパッキングされたデータとしてd.item()では返される
print(d.items())

for k, v in d.items():
print(k, ':', v)

関数定義

def say_something():
s = 'hi'
return s

result = say_something()
print(result)

# 引数がある際の関数定義
def what_is_this(color):
if color == 'red':
return 'tomato'
elif color == 'green':
return 'green pepper'
else:
return "I don't know"

# 関数で定義しとけば同じ処理を何度も書かなくていいよね
result = what_is_this('red')
result = what_is_this('green')
result = what_is_this('yellow')

print(result)

関数の引数と返り値の宣言

#python は一応型の宣言が可能
# num: int = 10

# 関数でも同じことが言える。。。けど、実際は宣言している型と
# 違うデータ型のデータが入っても処理がされ、エラーが出ないので注意
def add_num(a: int, b: int) -> int:
return a + b

# 引数はint と書いているけど文字列でも正常に動作する。
r = add_num('a', 'b')
print(r)

 位置引数とキーワード引数とデフォルト引数

# 位置引数
def menu(entree, drink, dessert):
print('entree = ', entree)
print('drink = ', drink)
print('dessert = ', dessert)

# 渡した値の順番通りに引数に渡される
menu('beef', 'beer', 'ice')

# キーワード引数
def menu(entree, drink, dessert):
print('entree = ', entree)
print('drink = ', drink)
print('dessert = ', dessert)

# 渡した値の順番通りに引数に渡される
# 引数の順番が違っても大丈夫また、位置引数と組み合わせられる
# 位置引数と組み合わせる場合は位置引数の値の位置が齟齬がない容器をつける
menu( drink = 'beer', entree = 'beef', dessert = 'ice')

# デフォルト引数
# 引数が渡されなかった時に元から入っている値を使う
def menu(entree = 'chicken', drink='wine', dessert='cookie'):
print('entree = ', entree)
print('drink = ', drink)
print('dessert = ', dessert)

# 渡した値の順番通りに引数に渡される
menu(dessert='ice')