関数を書いてみる

#!C:\\Python25\\python.exe
# -*- coding: utf-8 -*-

def Say(x):
    return x * 2

print "Content-type:text/html\\n\\n"
print "<!DOCTYPE html PUBLIC \\"-//W3C//DTD XHTML 1.0 Strict//EN\\" \\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\\">"
print "<html xmlns=\\"http://www.w3.org/1999/xhtml\\" xml:lang=\\"ja\\" lang=\\"ja\\">"
print "<head>"
print "<meta http-equiv=\\"Content-Type\\" content=\\"text/html;charset=utf-8\\" />"
print "<title>Pythonことはじめ</title>"
print "</head>"
print "<body>"
print "<p>"

print Say("ho!")
print Say("こんにちは")

print "</p>"
print "</body>"
print "</html>"

ho!ho! こんにちはこんにちは
と表示された。おk。

繰り返しの回数を指定できるようにする

パラメータを2つ渡すように変更。

def Say(x,y):
    return x * y

として

print Say("ho!",2)
print Say("こんにちは",3)

ho!ho! こんにちはこんにちはこんにちは
と表示された。

2つ目のパラメータとして文字列を渡してみる

こんにちは * fugaa とか、数字じゃないものを掛けるとどうなるかな。

print Say("ho!",2)
print Say("こんにちは","fuga")

としてみたら

ho!ho!
だけが表示された。

関数を使って変数をいじってみる

def Say(x,y):
    return x * y

def Say(x,y):
    word = x * y
    return word

と変えてみた。表示されるものに特に変化なし。

word = ""

def Say(x,y):
    word = x * y

として

Say("hello",2)
print word

でhellohelloと表示されるのを期待したけど

None
と表示される

word = ""

def Say(x,y):
    global word
    word = x * y

とすることでhellohelloが表示されるようになった。
グローバル変数ってやつですね。グローバル変数はあんまり使わない方がいいよ、ですかね。