Python基礎的な使い方について忘れ気味だったので自分ようにメモを残しておきます。
Python関数基礎
関数
・defで関数を定義する
・a:int で引数がint型だと指定している、-> intで戻り値の方を指定している。ただしPython側ではエラーにならずに実行される
num: int = 10
def add_num(a: int, b: int) -> int:
return a + b
r = add_num(1,3)
print(r)
//結果
4
-------------------------------------
// stringで指定してもエラーにはならない
num: int = 10
def add_num(a: int, b: int) -> int:
return a + b
r = add_num("1","3")
print(r)
//結果
13
・引数のデフォルト値を設定できる
def color(one="red", two="blue", three="green"):
print(one)
print(two)
print(three)
color(two="yellow")
// 結果
red
yellow
green
・リスト引数で渡す際は注意(参照渡しに注意)
・空のリストやDictをデフォルトに設定する際はNoneを使うこと
def test_func(x, l=[]):
l.append(x)
return l
r = test_func(100)
print(r)
r = test_func(100)
print(r)
// 結果
[100]
[100, 100]
------------------------------
def test_func(x, l=None):
if l is None:
l =[]
l.append(x)
return l
r = test_func(100)
print(r)
r = test_func(100)
print(r)
// 結果
[100]
[100]
リスト引数(*args)
・*argsを使うことで引数を全てしていなくても自動的にタプル型で引数としてとれる
def say_something(word,*args):
print(word)
for arg in args:
print(arg)
say_something('Hi','Mike', 'Nancy')
// 結果
Hi
Mike
Nancy
-----------------------------
t = ('Mike', 'Nancy')
say_something('Hi',t)
// 結果
Hi
('Mike', 'Nancy')
-----------------------------
// タプルをアンパッキングして入れる
t = ('Mike', 'Nancy')
say_something('Hi',*t)
// 結果
Hi
Mike
Nancy
キーワード引数(**kwargs)
・キーワード引数(**kwargs)を利用可能
def menu(**kwargs):
for k,v in kwargs.items():
print(k,v)
menu(entree='beef', drink='coffee')
// 結果
entree beef
drink coffee
-----------------------------
d = {
'entree' : 'beef',
'drink' : 'coffee',
'dessert' : 'ice'
}
menu(**d)
// 結果
entree beef
drink coffee
dessert ice
・組み合わせてまとめて引数として使える(順番は注意)
def menu(food, *args, **kwargs):
print(food)
for arg in args:
print(arg)
for k,v in kwargs.items():
print(k,v)
menu('banana', 'apple', 'orange', entree='beef', drink='coffee')
// 結果
banana
apple
orange
entree beef
drink coffee
Pythonのオススメ勉強方法
私がオススメするPython初心者向けの最初に購入すべき書籍は「シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全」です。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
この書籍は実際にシリコンバレーの一流エンジニアとして活躍している酒井潤さんが書いた本です。
内容も初心者から上級者までまとめられており、各Lessonも長すぎずに分かりやすくまとめられているので、初心者の方にもおすすめです。
シリコンバレー一流プログラマーが教える Pythonプロフェッショナル大全
今回は以上となります。
コメント