0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

python基礎で押さえておきたいポイント

Last updated at Posted at 2024-11-30

アウトプット用です。

https://www.udemy.com/course/python-ai/
私がこちらの講座を受講して押さえておきたいポイントについてアウトプットします。

*args, **kwags

*argsについて

1つしか定義していないのなら、渡す引数は1つだが
この可変長引数というもので不特定多数の引数を渡すことができる
argsという文字は慣習的なもので別名に変更可能
ただ、特に理由がない場合はargsを使用

def delivery(*args):
    print(f"{args}を受け取った")

delivery("ご飯", "Apple", 5555)
# ("ご飯", "Apple", 5555)を受け取った!

このように3つ引数を渡してもエラーせずに処理をしてくれる
returnはタプル型で返ってくる

**kwargs

こちらは*argsと違ってくる部分はreturnがディクショナリー型で返ってくること。

def func_kwargs(**kwargs):
    print(kwargs)

func_kwargs(param1=1, param2=3, param3=5)
# {'param1': 1, 'param2': 3, 'param3': 5}

__ name __ と __ main __

とあるファイルを呼び出す際に実行しないようにするもの
具体的には以下の例がある

module/mymodule.py
def todayfunc():
    print("This is today function!!")


def tomorrowfunc():
    print("this is tomorrow function!!")

print("This is todaymodule!!")
module/yourmodule.py
import mymodule

def yourfunc():
    print("This is your function!!")

yourfunc()
mymodule.todayfunc()

# This is your function!!
# This is today function!!
# This is todaymodule!!

おかしい...
なんでmymodule.pyでprintしたものが実行されているの?!

こうなららないためにアレが必要なんです

つまり__ name __ と __ main __ ってなんぞや?

一回printしてみましょう

module/yourmodule.py
print(__name__)
module/mymodule.py
print(f"mymodule.__name__:{__name__}")

この2つのprintをyourmodule.pyで実行すると以下のような結果が返ってきました。(1行目がにyourumodule.py、2行目がmymodule.pyに記述されたもの)

# __main__

# mymodule.__name__:mymodule

__ name __ はimportされると自分のモジュール名が入ってスクリプト自体が実行されると __ main __ が入る

つまり実行される場所によって__ name __ の実行結果が変わる

よってimportする際に実行されたくない部分があった際は以下のように書くと実行されなくなる

module/mymodule.py
if __name__ == "__main__":
    print(f"mymodule.__name__: {__name__}")

随時更新します!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?