2012年11月29日木曜日

開発環境

『初めての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 コメント:

コメントを投稿