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(ユーデミー)」によるビデオ学習です。

「Udemy」は、オンライン学習の提供サイトです。学びたい人は多くある講座の中から受講したいコースを選択することができ、動画で学べるのが特徴です。

多くあるPythonのコースの中でもオススメするPythonのコースは以下となります!!

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

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

私も購入して受講していますが、内容としては初心者の方から上級者まで対応する幅広い内容になっています。

下手な書籍を何冊か購入するより、この動画コースを最初からじっくりと受けることで総合的なスキルを習得することができるできます。おそらくこれ以上の教材はないと思いますので、絶対おすすめです。

ちなみに、Udemyでは頻繁にセール(1か月に2,3回程度)が開催されているので、セールのタイミングで購入すれば90%OFFになる講座もあるため、セールが開催されてからの購入をオススメします!

今回は以上となります。

コメント

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