開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)16章(スコープと引数)1を解いてみる。
その他参考書籍
1, 2, 3, 4, 5, 6
コード(TextWrangler)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- print(1) x = 'spam' def func(): print(x) func() # spam print(2) x = 'spam' def func(): x = 'ni!' func() print(x) # spam print(3) x = 'spam' def func(): x = 'ni' print(x) func() # ni print(x) # spam print(4) x = 'spam' def func(): global x x = 'ni' func() print(x) # ni print(5) x = 'spam' def func(): x = 'ni' def nested(): print(x) nested() func() # ni print(x) # spam print(6) def func(a,b,c=3,d=4):print(a,b,c,d) func(1, *(5,6)) # 1 5 6 4
入出力結果(Terminal)
$ ./sample.py 1 spam 2 spam 3 ni spam 4 ni 5 ni spam 6 1 5 6 4 $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var x = 'spam' var result = "1\n"; function f1(){ result += x + "\n"; } f1(); result += "2\n"; var b = 'spam'; function f2(){ var b = 'ni'; } f2(); result += b + "\n"; result += "3\n"; var c = 'spam'; function f3(){ var c = 'ni'; result += c + "\n"; } f3(); result += c + "\n"; result += "4\n"; var d = 'spam'; function f4(){ var d = this.d; d = 'ni'; } f4(); result += d + "\n"; result += "5\n"; var e = 'spam'; function f5(){ var e = 'ni'; function nested(){ result += e + "\n"; } nested(); } f5(); result += e + "\n"; result += "6\n"; function f6(a,b,c,d){ if(!c) c = 3; if(!d) d = 4; result += a + " " + b + " " + c + " " + d + "\n"; } f6(1,5,6); $('#pre0').text(result);
0 コメント:
コメントを投稿