Program学習 Python

Pythonの基礎②(関数基礎)

Program学習

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の学習については、これまでもいくつかおすすめの書籍などを挙げていたこともありますが、今はまずは「Udemy」が何よりもオススメです。

Pythonの以下のコースは合計で28.5時間のビデオ講座があって、それらを受講するだけで、Pythonの基礎から応用まで学ぶことができます。

そして何より安いです!!
Udemyでは頻繁にセールが開催されているので、セールのタイミングで購入すれば2,000円以内で済みます。(※セールごとに割引率が少し違うみたいです)
書籍より安いビデオ講座があるとは・・・

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

私も受講してみましたが、かなり幅広く網羅されており、おそらくこれ以上の教材はないと思いますので、絶対にUdemyはおすすめです。

今回は以上となります。

コメント

タイトルとURLをコピーしました