2014年8月28日木曜日
Pythonの学習(3)
(1) Print文
・末尾に「,」(カンマ)を付与して出力をすると、改行されずに出力する
・ フォーマット出力 : 「%s」は文字列、「%d」は数値
・ファイル出力
obj = open("test.txt","w")
print >> obj , "test test"
(2) 例外処理
・try,except,finallyを使用する
・raiseを使ってエラーを発生させる(呼び出し元にエラーを返し、呼び出し元でエラー対応処理を行う)
def calc(value_1,value_2):
result = 0
try:
result = value_1 + value_2
except:
print "エラー!"
raise
finally:
print "終了"
return result
def test(list_1,list_2):
try:
print calc(list_1[0],list_2[0])
print calc(list_1[1],list_2[1])
print calc(list_1[2],list_2[2])
except:
print "エラー発生!"
「raise」をコメントアウトするとtest関数のexcept配下の処理が実行されなくなります
・エラー内容(スタックトレース)の取得
処理を実行中にエラーが発生すると、エラー内容(スタックトレース)が標準出力へ出力されますが、それを文字列で取りだす事も可能です。
try:
print test(100,"200") ' "200"は文字列なのでエラーとなる
except:
print "--------------------------------------------"
print traceback.format_exc(sys.exc_info()[2])
print "--------------------------------------------"
(3)インポート
下のコードの自作モジュール「testpy」という名前で作業ディレクトリに保存する
------ test.py -----------------------
class tes_tclass:
def __init__(self):
print "create test_class"
def test_method(self,str):
print "call test_method"
print str
-----------------------------
import test
testclass1 = test.test_class() ' 「モジュール名.クラス名」
testclass1.test_method("1") ' 「test_class」が保持している関数の呼出
from test import test_class ' 「from」の後にモジュール名、「import」の後にクラス名
testclass2 = test_class() ' クラス名で直接使用出来
testclass2.test_method("2")
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿