ページへ戻る
印刷
Python/関数定義
をテンプレートにして作成 ::
NJF Wiki
xpwiki
:Python/関数定義 をテンプレートにして作成
開始行:
*定義
Pythonで関数を定義するには「def」を使います。
def testFunc():
print "test"
testFunc()
結果
test
*引数
**通常の引数
関数定義の時に引数も定義できます。
def testFunc(a,b,c):
print "a:%s,b:%s,c:%s" % (a,b,c)
testFunc("a","b","c")
結果
a:a,b:b,c:c
**引数の指定
関数を呼び出すときに、どの引数に値を入れるかを指定できま...
testFunc(b="b",a="a",c="c")
結果
a:a,b:b,c:c
引数の値を指定したものとそうでないものが混在する場合には...
testFunc("a",c="c",b="b")
結果
a:a,b:b,c:c
順番を守らないとエラーとなります。
testFunc(c="c",b="b","a")
結果
SyntaxError: non-keyword arg after keyword arg
**引数のデフォルト値
引数にデフォルト値を設定することも可能です。
その場合、引数を省略すると定義時のデフォルト値が使われま...
def testFunc(a, b = "b", c = "c"):
print "a:%s,b:%s,c:%s" % (a,b,c)
testFunc("a","b")
結果
a:a,b:b,c:c
関数を定義するときには、デフォルト値のないもの、デフォル...
def testFunc(a = "b", b, c = "c"):
print "a:%s,b:%s,c:%s" % (a,b,c)
結果
SyntaxError: non-default argument follows default argument
**可変引数
可変引数にも対応しています。引数をリストで受け取りたい場...
def testFunc(*i_list):
for i in i_list:
print i
testFunc(1,2)
結果
1
2
このとき、引数をリストで指定することも可能です。その時に...
testFunc(*[1,2,3])
結果
1
2
3
「**」を使うと辞書オブジェクトで引数を受け取ることも可能...
def testFunc(**i_dic):
for k,v in i_dic.iteritems():
print k,v
testFunc(A='a',B='b')
結果
A a
B b
リストと同様に、関数呼び出し時の引数に「**」を付けること...
testFunc(**{'A':'a','B':'b'})
結果
A a
B b
*その他
**関数を変数に入れる
関数は変数に入れることもできます。
def testFunc(a, b, c):
print "a:%s,b:%s,c:%s" % (a,b,c)
f = testFunc
f("a","b","c")
結果
a:a,b:b,c:c
ただし、定義と同時に変数や関数の引数には入れられないため...
**再帰関数
再帰関数も使えます。
def printN(n):
if n > 0:
print n
printN(n-1)
printN(3)
結果
3
2
1
**ドキュメントストリング
関数やクラス定義のすぐ下に書かれた引用符で囲まれた部分は...
def testFunc(a, b, c):
"""print a,b,c"""
print "a:%s,b:%s,c:%s" % (a,b,c)
print testFunc.__doc__
結果
print a,b,c
「"」「'」「"""」「'''」どれでも書けますが、複数行に渡る...
このドキュメントストリングは対話モードで「help()」でも参...
終了行:
*定義
Pythonで関数を定義するには「def」を使います。
def testFunc():
print "test"
testFunc()
結果
test
*引数
**通常の引数
関数定義の時に引数も定義できます。
def testFunc(a,b,c):
print "a:%s,b:%s,c:%s" % (a,b,c)
testFunc("a","b","c")
結果
a:a,b:b,c:c
**引数の指定
関数を呼び出すときに、どの引数に値を入れるかを指定できま...
testFunc(b="b",a="a",c="c")
結果
a:a,b:b,c:c
引数の値を指定したものとそうでないものが混在する場合には...
testFunc("a",c="c",b="b")
結果
a:a,b:b,c:c
順番を守らないとエラーとなります。
testFunc(c="c",b="b","a")
結果
SyntaxError: non-keyword arg after keyword arg
**引数のデフォルト値
引数にデフォルト値を設定することも可能です。
その場合、引数を省略すると定義時のデフォルト値が使われま...
def testFunc(a, b = "b", c = "c"):
print "a:%s,b:%s,c:%s" % (a,b,c)
testFunc("a","b")
結果
a:a,b:b,c:c
関数を定義するときには、デフォルト値のないもの、デフォル...
def testFunc(a = "b", b, c = "c"):
print "a:%s,b:%s,c:%s" % (a,b,c)
結果
SyntaxError: non-default argument follows default argument
**可変引数
可変引数にも対応しています。引数をリストで受け取りたい場...
def testFunc(*i_list):
for i in i_list:
print i
testFunc(1,2)
結果
1
2
このとき、引数をリストで指定することも可能です。その時に...
testFunc(*[1,2,3])
結果
1
2
3
「**」を使うと辞書オブジェクトで引数を受け取ることも可能...
def testFunc(**i_dic):
for k,v in i_dic.iteritems():
print k,v
testFunc(A='a',B='b')
結果
A a
B b
リストと同様に、関数呼び出し時の引数に「**」を付けること...
testFunc(**{'A':'a','B':'b'})
結果
A a
B b
*その他
**関数を変数に入れる
関数は変数に入れることもできます。
def testFunc(a, b, c):
print "a:%s,b:%s,c:%s" % (a,b,c)
f = testFunc
f("a","b","c")
結果
a:a,b:b,c:c
ただし、定義と同時に変数や関数の引数には入れられないため...
**再帰関数
再帰関数も使えます。
def printN(n):
if n > 0:
print n
printN(n-1)
printN(3)
結果
3
2
1
**ドキュメントストリング
関数やクラス定義のすぐ下に書かれた引用符で囲まれた部分は...
def testFunc(a, b, c):
"""print a,b,c"""
print "a:%s,b:%s,c:%s" % (a,b,c)
print testFunc.__doc__
結果
print a,b,c
「"」「'」「"""」「'''」どれでも書けますが、複数行に渡る...
このドキュメントストリングは対話モードで「help()」でも参...
ページ名: