2018年9月2日日曜日

【Python3】pythonの教科書(4) ~無名関数、例外処理

1、無名関数
関数を定義しない関数のことで、lambdaを使います。
【例:xを2倍する無名関数】
y = lambda x : x *2  # y(x) : return x * 2 と同じ
y(2)
   ⇒(結果)4

【例: yに代入された関数オブジェクトをnumsの要素全てに実行してリスト化する 】
nums = [1, 3, 5, 7, 9]
y = lambda x : x *2
list(map(y, nums))
  ⇒(結果)[2. 6, 10, 14, 18]

【例: タプルのリストをソートする 】
tpl_list = [(1,2),(2,1),(3,0),(4,-5)]
ranking_list = sorted( tpl_list, key = lambda tpl : tpl[1], reverse=False)
print("+-------- rank (index, value)  ------+")
for i,v in enumerate(ranking_list) : print(i+1, v)
  ⇒(結果)+-------- rank (index, value)  ------+
               1 (4, -5)
               2 (3, 0)
               3 (2, 1)
               4 (1, 2)

2、例外処理
例:
s = input("Please input weight !")
try:
  v = 100 / float(s)
  print(v)
except ValueError as e:
  print(e)
except ZeroDivisionError as e:
  print(e)
except:
  print("another Error !!")
finally:
  print("end !!!")

エラーを発生させたいときは、 raiseを使用する
raise Exception("test Error ")


0 件のコメント:

コメントを投稿