Takuya Miyashita
This site
Web
Start:
*「if __name__ == '__main__':」について [#v1586bfb]
「if __name__ == '__main__':」内は,main文として扱う時だ...
これの外にある文は,importするだけでも実行されてしまうの...
下記のようなhoge.pyがあるとする.
#codeprettify(lang-python){{
import numpy as np
# def
def testf(x,y):
''' test '''
val = x**y
return val
# ①importでも実行する
x,y = 2,3
z = testf(x,y)
print 'z = '+str(z)
# ②main文として扱う場合だけ実行
if __name__ == '__main__':
x,y = 3,2
z = testf(x,y)
print 'z = '+str(z)
}}
これを
#codeprettify(lang-bash){{
python hoge.py
}}
で実行すると
#codeprettify(lang-bash){{
z = 8
z = 9
}}
のように,zが①と②の両方で算出される.~
importした時は①だけ.~
importでは,関数を呼び出す以外の処理はおそらく望ましくな...
以下のように,main文も関数にし,main()を実行させるものが...
#codeprettify(lang-python){{
def main():
(mainの記述)
if __name__ == '__main__':
main()
}}
End:
*「if __name__ == '__main__':」について [#v1586bfb]
「if __name__ == '__main__':」内は,main文として扱う時だ...
これの外にある文は,importするだけでも実行されてしまうの...
下記のようなhoge.pyがあるとする.
#codeprettify(lang-python){{
import numpy as np
# def
def testf(x,y):
''' test '''
val = x**y
return val
# ①importでも実行する
x,y = 2,3
z = testf(x,y)
print 'z = '+str(z)
# ②main文として扱う場合だけ実行
if __name__ == '__main__':
x,y = 3,2
z = testf(x,y)
print 'z = '+str(z)
}}
これを
#codeprettify(lang-bash){{
python hoge.py
}}
で実行すると
#codeprettify(lang-bash){{
z = 8
z = 9
}}
のように,zが①と②の両方で算出される.~
importした時は①だけ.~
importでは,関数を呼び出す以外の処理はおそらく望ましくな...
以下のように,main文も関数にし,main()を実行させるものが...
#codeprettify(lang-python){{
def main():
(mainの記述)
if __name__ == '__main__':
main()
}}
Page:
Edit with a page name which already exists