ホームページ  >  記事  >  バックエンド開発  >  Python関数のパラメータ受け渡し

Python関数のパラメータ受け渡し

高洛峰
高洛峰オリジナル
2016-10-19 13:49:231847ブラウズ

このユースケースでは、関数のパラメーターの受け渡しについて説明します

私が使用しているPythonのバージョンは3.3.2です

関数の場合:

1

2

3

4

5

6

7

8

def fun(arg):

print(arg)

def main():

fun('hello,Hongten' )

if __name__ == '__main__':

main()

fun() 関数にパラメータを渡すと、渡されたパラメータ値の情報を出力できます。

ここに印刷される情報は次のとおりです:

こんにちは、Hongten

次の使用例の場合:

1

2

3

4

5

6

7

8

9

def fun(a=1, b=なし, c=なし, *args):

print('{0},{1},{2},{3}'.format(a, b 、c、引数)))

()

渡されたパラメータが fun(a='one') および fun('one') の場合、値はパラメータ a にコピーされます。 2 つのパラメータはすべて同じです:

one,None,None,()

one,None,None,()

もちろん、パラメータに値を割り当てることもできます: b、c、*args

として:

1

2

3

4

5

6

7

8

def fun(a=1, b=なし, c=なし, *args) :

print('{0},{1 },{2},{3}'.format(a, b, c, args))

def main():

楽しい('one',1,2,('hongten'))

('hongten',)

上記の例では、パラメーター * の前にあるパラメーター a、b、c をバイパスすることはできません。 args を取得して *args にコピーします:

例:

def fun(a=1, b=None, c=None, *args):
    print('{0},{1},{2},{3}'.format(a, b, c, args))
      
def main():
    fun(args=('hongten'))
      
if __name__ == '__main__':
    main()

実行効果:

トレースバック (最新の呼び出し最後):

ファイル "E:/Python33/python_workspace/test_fun.py"、行21、

main() 内

ファイル "E:/Python33/python_workspace/test_fun.py"、18 行目、main

fun(args=('hongten')) 内

TypeError: fun() got予期しないキーワード引数 'args' です

しかし、パラメーター: a、b、c については、この Assign 値を

のような方法で使用できます:

def fun(a=1, b=None, c=None, *args):
    print('{0},{1},{2},{3}'.format(a, b, c, args))
      
def main():
    fun(c=('hongten'), b=2, a=[1,2,3])
      
if __name__ == '__main__':
    main()

動作効果:

[1, 2, 3],2,ホンテン,()

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。