関数は、たとえば、a=len(b)だと、lenという関数で、bの中身の数がわかります。そういったものです。
def 関数名(引数): の後に文を書いて、定義します。
def SayHello():
print "Hello"
SayHello()
Hello
3行目のSayHello()で、SayHello関数を呼び出しました。中身は、見ての通りです。
引数とは、関数にわたしてあげる値です。
def nibai(n):
print n*2
nibai(5)
10
5を引数としました。nibai(n)で、5をnの中にいれます。あとは、見ての通りです。
文字の例です。
def Say(s):
print s
a=Say("こんにちは")
こんにちは
引数を2つにしてみます。
def Plus(a,b):
print a+b
Plus(10,7)
17
2つの引数を、aとbに入れて、足してprintしてますね。
returnを使うと、関数内で計算してりしたものを、返せます。戻り値といいます。
def Plus(a,b):
return a+b
print Plus(10,7)
17
return で、a+b が戻ってきましたね。
変数に入れることも勿論できます。
def Plus(a,b):
return a+b
s=Plus(10,7)
print s
17
もうひとつ例をみてみましょう。
def Big(n):
return n*10
for i in range(7):
print i,Big(i)
0 0 1 10 2 20 3 30 4 40 5 50 6 60
引数は、デフォルトを設定できます。
def SenPlus(n=10):
return 1000+n
print SenPlus()
print SenPlus(200)
1010 1200
単なるSenPlus()だと、 n=10 となって、1010がでたわけです。
引数や戻り値は、リストでもかまいません。
def Two(a):
x=[0]
for i in range(a):
x.append(i*2)
return x
print Two(10)
[0, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
引数は、普通の数字で、戻り値が、リストになりました。
呼び出し方の例です。
def Coffee(sugar=1,color='black'):
print "--My Coffee--"
print "Sugar:",sugar
print "color:",color
Coffee(3)
Coffee(4,"brown")
Coffee(color="gray")
--My Coffee-- Sugar: 3 color: black --My Coffee-- Sugar: 4 color: brown --My Coffee-- Sugar: 1 color: gray
color="gray"で、特定の引数にだけ値をわたしています。
このページの初めのほうの戻り値がないようなのは関数ではなく、プロシージャというそうです。
次はモジュールをやります。