- 追加された行はこの色です。
- 削除された行はこの色です。
#topicpath
----
#contents
***改行をそのまま文字列であつかいたい [#te4d69fb]
「"""」や「'''」で始めて終わることで、その間の文字列はそのまま扱われるようになります。
text1 ="""1行目
2行目
3行目"""
text2 ="""1行目
2行目
3行目"""
print ("----")
print (text1)
print ("----")
print (text2)
print ("----")
結果は
----
1行目
2行目
3行目
----
1行目
2行目
3行目
----
このとおり。文字列内の改行はそのまま改行と解釈され、さらにインデントもそのままタブとして反映されるということですね。ちなみに、複数行コメントを書く際にこれを使って書いているコードもありました。
'''
/*
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
.....
*/
'''
こんな感じで。なるほどね。。
***finallyがよばれない?? [#zbe6d819]
Linux上で、sudo kill した場合、try/finallyのfinallyがよばれないっぽい。フォアグラウンドで実行してctrl+cした場合は問題ないのですが。。
import sys,signalしといて
def cleanup(*args):
sys.exit(0)
signal.signal(signal.SIGINT, cleanup)
signal.signal(signal.SIGTERM, cleanup)
とか書いておくと、よばれるようになりますが、コレでいいのかな。。。
***他ファイルのメソッド呼び出し [#jb7fd7e3]
myutils.py に定義された
def cleanup(xx):
などのメソッドを呼び出すには、呼び出し側で
from myutils import cleanup,sysout
と宣言しておけば、
cleanup("hoge")
などと直接呼び出せる。
***public static void main ぽく書きたい [#df1b09f6]
PythonにはJavaでいう
public static void main(String[] args){
...
}
みたいな概念がなく、
sudo python3 xxx.py
と呼び出すと、先頭から順次実行されるっぽい。
いわゆるmainメソッドを作るやり方は以下の通りです。
import sys
def main(args):
メイン処理
if __name__ == "__main__":
main(sys.argv)
「 __name__ 」 には、スクリプトとして直接呼び出されたときのみ((よするに sudo python3 xxx.py てこと))、"__main__" と入っているらしいので、それを判定して main メソッドを呼び出すとすれば public static void main の完成です。ついでにコマンドライン引数を上記のように渡せば、引数も同様にJavaぽくあつかうことができます。あ、引数は0番目はプログラム名なので、1番目からが実際の引数です。
参考
-[[基本構文 - Python入門から応用までの学習サイト>http://www.python-izm.com/contents/introduction/syntax.shtml#a004]]
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}