Najlepszy samouczek funkcja Python W 2024 r. W tym samouczku możesz dowiedzieć się Definiowanie funkcji,wywołanie funkcji,Parametry przekazywane przez parametry wartości i przejść przez odniesienie,parametry,funkcja Anonymous,return,zmienna Zakres,Zmienne globalne i lokalne,
Funkcja to sprawna organizacja, wielokrotnego użytku, stosowane w celu osiągnięcia jeden segment kodu lub związanych funkcji.
Funkcja ta może być stosowana do poprawy modułowości i ponownego wykorzystania kodu. Wiesz już, że Python posiada wiele wbudowanych funkcji, takich jak print (). Ale można też stworzyć własną funkcję, która jest wywoływana funkcja zdefiniowana przez użytkownika.
Można zdefiniować funkcję z funkcją chcesz, następujących prostych reguł:
def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
Domyślnie, nazwa parametru i parametr wartość jest w kolejności określonej w deklaracji funkcji dopasowuje się.
Poniżej znajduje się prosta funkcja Python, przekazując mu ciąg jako parametr, a następnie wydrukować na standardowe urządzenia wyświetlającego.
def printme( str ): "打印传入的字符串到标准显示设备上" print str return
Zdefiniuj funkcję tylko do nazwy funkcji, należy określić parametry, a struktura blok kodu zawiera funkcję.
Po zakończeniu podstawowej struktury tej funkcji, można wykonać kolejne wywołanie funkcji mają być wykonane bezpośrednio z wiersza Pythona.
Poniższe przykłady są nazywane PrintMe funkcji ():
#!/usr/bin/python # -*- coding: UTF-8 -*- # 定义函数 def printme( str ): "打印任何传入的字符串" print str; return; # 调用函数 printme("我要调用用户自定义函数!"); printme("再次调用同一函数");
Przykłady wyżej wyjścia:
我要调用用户自定义函数! 再次调用同一函数
Wszystkie parametry (argumenty) w Pythonie są przekazywane przez referencję. Po zmianie parametru w funkcji, to ta funkcja jest wywoływana funkcja, oryginalne parametry zostały zmienione. Na przykład:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def changeme( mylist ): "修改传入的列表" mylist.append([1,2,3,4]); print "函数内取值: ", mylist return # 调用changeme函数 mylist = [10,20,30]; changeme( mylist ); print "函数外取值: ", mylist
I przekazywane do funkcji obiektu na koniec dodać nowe treści, używając tego samego odniesienia. Zatem, wyniki wyjściowe są następujące:
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]
Poniżej znajduje się formalny typ parametru mogą być wykorzystane przy wywołaniu funkcji:
Obowiązkowe parametr przekazany do funkcji w odpowiedniej kolejności. Gdy liczba połączeń i musi być taka sama deklaracja.
Zaproszenie PrintMe () funkcji, należy przejść do parametru, lub nastąpi błąd składni:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme();
Przykłady wyżej wyjścia:
Traceback (most recent call last): File "test.py", line 11, in <module> printme(); TypeError: printme() takes exactly 1 argument (0 given)
Złożone argumenty i wywołania funkcji ścisły związek wywołanie funkcji za pomocą argumentów, słów kluczowych, aby określić wartość parametru przyjęta.
Przy użyciu parametru kluczowego umożliwia parametr wywołania funkcji zlecenia jest niezgodna ze stwierdzeniem, ponieważ interpreter Pythona zdolny do dopasowania wartości parametrów przy użyciu nazwy parametru.
W poniższym przykładzie funkcja PrintMe () jest wywoływana z nazwy parametru:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme( str = "My string");
Przykłady wyżej wyjścia:
My string
Poniższy przykład można zamówić argumentu słowa kluczowego nie jest ważne pokaż jaśniej:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" );
Przykłady wyżej wyjścia:
Name: miki Age 50
Gdy funkcja jest wywoływana, wartość domyślna, jeśli parametr nie jest przekazywana, domyślna wartość jest uwzględniana. Domyślnie drukować regularne spotkania z wiekiem, jeśli wiek nie są przekazywane:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" ); printinfo( name="miki" );
Przykłady wyżej wyjścia:
Name: miki Age 50 Name: miki Age 35
Może trzeba funkcję, która może obsłużyć więcej niż oryginalnej deklaracji parametrów. Parametry te nazywane są zmienne parametry długości i dwa rodzaje parametrów są różne, nie nazywając oświadczenie. Składnia podstawowa jest następujący:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
Gwiazdką (*) będą przechowywane w nazwach zmiennych wszystkie nienazwane zmiennych parametrów. Parametry karnet może być mały wybór. Następujące przykłady:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def printinfo( arg1, *vartuple ): "打印任何传入的参数" print "输出: " print arg1 for var in vartuple: print var return; # 调用printinfo 函数 printinfo( 10 ); printinfo( 70, 60, 50 );
Przykłady wyżej wyjścia:
输出: 10 输出: 70 60 50
python przy użyciu lambda do tworzenia anonimowej funkcji.
Składnia funkcji lambda zawiera tylko jedną instrukcję, jak następuje:
lambda [arg1 [,arg2,plpl.argn]]:expression
Następujące przykłady:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print "相加后的值为 : ", sum( 10, 20 ) print "相加后的值为 : ", sum( 20, 20 )
Przykłady wyżej wyjścia:
相加后的值为 : 30 相加后的值为 : 40
Return [wyrażenie], aby wyjść z funkcji selektywnego rozmówca zwraca wyrażenie. return bez parametrów zwróci None. Brak wcześniejsze przykłady pokazują, w jaki sposób zwrócić wartość, w poniższym przykładzie pokażemy, jak to zrobić:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def sum( arg1, arg2 ): # 返回2个参数的和." total = arg1 + arg2 print "函数内 : ", total return total; # 调用sum函数 total = sum( 10, 20 );
Przykłady wyżej wyjścia:
函数内 : 30
Wszystkie zmienne w programie, który nie jest to stanowisko, które mogą być dostępne. Dostępu zależy od której przypisany jest zmienny.
Definicja funkcji zmiennych wewnętrznych posiadać lokalny zakres, określony w funkcji zewnętrznego ma zakresu globalnych.
Zmienne lokalne mogą być zadeklarowane tylko wewnątrz można uzyskać funkcją jego dostęp do zmiennych globalnych w całej procedury. Podczas wywoływania funkcji, wszystkie nazwy zmiennych w deklaracji funkcja zostanie dodana do zakresu. Następujące przykłady:
#!/usr/bin/python # -*- coding: UTF-8 -*- total = 0; # 这是一个全局变量 # 可写函数说明 def sum( arg1, arg2 ): #返回2个参数的和." total = arg1 + arg2; # total在这里是局部变量. print "函数内是局部变量 : ", total return total; #调用sum函数 sum( 10, 20 ); print "函数外是全局变量 : ", total
Przykłady wyżej wyjścia:
函数内是局部变量 : 30 函数外是全局变量 : 0