Python๐ค์์ "__name__"(ํน์ ๋ณ์)์ ์ค์ ๋ก ๋ฌด์์ ๋๊น?
1789 ๋จ์ด pythoncodenewbieprogramming100daysofcode
file1์ ๋ค์ ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
# File1.py
print ("File1 __name__ = %s" %__name__)
if __name__ == "__main__":
print ("File1 is being run directly")
else:
print ("File1 is being imported")
๋ฌผ๋ก ์ด๊ฒ์ file2์ ์์ต๋๋ค.
# File2.py
import file1
print("File2 __name__ = %s" % __name__)
if __name__ == "__main__":
print("File2 is being run directly")
else:
print("File2 is being imported")
ํ์ผ 1์ ์คํํ๋ฉด ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
File1 __name__ = __main__
File1 is being run directly
๊ทธ๋ฆฌ๊ณ file2๋ฅผ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
File1 __name__ = file1
File1 is being imported
File2 __name__ = __main__
File2 is being run directly
์ถ๋ ฅ์ ์ฃผ์ ๊น๊ฒ ๋ณธ ๊ฒฝ์ฐ *_name_ *์ ํ์ฌ ๋ชจ๋์ ์ด๋ฆ์ผ๋ก ํ๊ฐ๋๋ ๋ด์ฅ ๋ณ์์ ๋๋ค.
๋๋๋ก _main_๐ค์ ๋ฐํํ๋ ์ด์ ๋ฅผ ๋ฌผ์ ์ ์์ต๋๋ค.
ํ์ฌ ์คํฌ๋ฆฝํธ๊ฐ ์์ฒด์ ์ผ๋ก ์คํ ์ค์ธ ๊ฒฝ์ฐ _name_ ๋ณ์๋ *main *์ ๋ฐํํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ ธ์จ ๊ฒฝ์ฐ _name_์ ๋ชจ๋ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค.
๋น๊ณ : _name_์ ํญ์ ๋ฌธ์์ด ๋ฐ์ดํฐ ์ ํ์ ๋๋ค.
ํ์ผ 2๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ ์์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. file1์ _name_ ๋ณ์๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ธ์ค๋ ๋ชจ๋์ ์ด๋ฆ์ด๊ธฐ ๋๋ฌธ์ file1์ด ๋๊ณ file2์ _name_์ ์ฐ๋ฆฌ๊ฐ ์คํ ์ค์ธ ๋ชจ๋์ด๋ฏ๋ก __main__์ด ๋ฉ๋๋ค.
_name_ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ธ์จ ํด๋์ค์ ์ด๋ฆ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์์
from player import Player
print(Player.__name__)
# OUTPUT: Player
์์์ ๋งํ ๋ชจ๋ ๊ฒ์ ์์ฝํ๋ฉด _name_ ๋ณ์(์๊ณผ ๋ค์ ๋ ๊ฐ์ ๋ฐ์ค)๋ ํน๋ณํ Python ๋ณ์์ ๋๋ค. ํฌํจํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๊ฐ์ ์ป์ต๋๋ค.
์ด ํน์ ๋ณ์ ๋๋ถ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๋๋ ์คํฌ๋ฆฝํธ์ ์ ์๋ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒฝ์ฐ.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Python๐ค์์ "__name__"(ํน์ ๋ณ์)์ ์ค์ ๋ก ๋ฌด์์ ๋๊น?), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/felixdusengimana/what-really-is-name-a-special-variable-in-python-2fbgํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค