Heim  >  Artikel  >  Backend-Entwicklung  >  Parameterübergabe der Python-Funktion

Parameterübergabe der Python-Funktion

高洛峰
高洛峰Original
2016-10-19 13:49:231848Durchsuche

In diesem Anwendungsfall geht es um die Übergabe von Funktionsparametern

Die Python-Version, die ich verwende, ist 3.3.2

Für Funktionen:

1

2

3

4

5

6

7

8

def fun(arg):

print(arg)

def main() :

fun('hello,Hongten')

if __name__ == '__main__':

main()

Wenn wir einen Parameter an die fun()-Funktion übergeben, können wir die übergebenen Parameterwertinformationen ausdrucken.

Die hier gedruckten Informationen lauten:

Hallo, Hongten

Für den folgenden Anwendungsfall:

1

2

3

4

5

6

7

8

9

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

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

def main():

fun(a='one' )

fun('one')

if __name__ == '__main__':

main()

Wenn die übergebenen Parameter fun(a='one') und fun('one') sind, wird der Wert in Parameter a kopiert und die Auswirkungen beider Parameter sind gleich :

one,None,None,()

one,None,None,()

Natürlich können wir auch Parameter angeben: b,c,* args Zuweisung

wie:

1

2

3

4

5

6

7

8

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

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

 

def main():

fun('one',1,2,('hongten'))

if __name__ == '__main__':

main()

Auf diese Weise weisen wir den Parametern Werte zu: b, c, args

Operating Wirkung:

one,1,2,('hongten',)

Im obigen Beispiel können wir die Parameter a, b, c vor den Parametern *args und copy nicht umgehen sie zu *args:

Zum Beispiel:

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()

Betriebseffekt:

Traceback (letzter Anruf zuletzt ):

Datei „E:/Python33/python_workspace/test_fun.py“, Zeile 21, in

main()

Datei „E:/Python33 /python_workspace/test_fun.py", Zeile 18, in main

fun(args=('hongten'))

TypeError: fun() got an unerwartetes Schlüsselwortargument 'args'

Aber für Parameter: a, b, c können auf diese Weise zugewiesen werden

wie zum Beispiel:

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()

Laufen Wirkung:

[1, 2, 3],2,hongten,()


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn