※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#08:モジュールの名前を確認 (__name__)
このチャプターでは、モジュールの名前を確認する方法を学習しましょう。
- 変数 __name__ はあらかじめ用意されている変数
- 変数 __name__ には、モジュールの名前が代入される
- py ファイル 1:
# /home/ubuntu/testmod.py
def get_mod_name():
return __name__
- py ファイル 2:
# /home/ubuntu/test.py
import testmod
print(testmod.get_mod_name())
- 実行コード:
python3 test.py
- py ファイル 1:
- また、そのモジュールが直接実行されている場合、変数 __name__ には、文字列 __main__ が代入される
- py ファイル:
# /home/ubuntu/test.py
print(__name__)
- 実行コード:
python3 test.py
- py ファイル:
- クラスの継承関係を確認するコード:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def add_age(self, year):
self.age += year
class Programmer(Person):
def __init__(self, name, age, language):
super().__init__(name, age)
self.language = language
self.languages = {language}
class StudentProgrammer(Programmer):
pass
print(StudentProgrammer.__mro__)
クラス名.__mro__
が示す値のなかには、__main__.StudentProgrammer
のように、__main__ に続けてクラス名が書かれるクラスがあった- __main__ は直接実行されているモジュールに付けられる特別な名前
- つまり、
__main__.クラス名
は、クラス名
クラスが、直接実行されているモジュールの属性であることを示している