2012年7月7日土曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)17章(関数に関する高度なテクニック)練習問題7を解いてみる。

7.

lambdaは式、defはステートメント。どちらも関数オブジェクトを作成。

コード(TextWrangler)

sample.py

#!/usr/bin/env python
#encoding: utf-8

def f(x):
 return pow(x,2)

a = lambda x: pow(x,2)

for x in [f,a]:
 print(x.__name__,type(x))

print("lambdaは直接リストの要素として記述")
l = [lambda x:2*x,lambda x:pow(x,2)]
for x in range(5):
 for i in range(len(l)):
  print(l[i](x),end=' ')
 print()

入出力結果(Terminal)

$ ./sample.py
f <class 'function'>
<lambda> <class 'function'>
lambdaは直接リストの要素として記述
0 0 
2 1 
4 4 
6 9 
8 16 
$

0 コメント:

コメントを投稿