開発環境
- 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 コメント:
コメントを投稿