Najlepszy samouczek funkcja Python3 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ł:
Python funkcje zdefiniowane za pomocą słowa kluczowego def, ogólny format jest następujący:
def 函数名(参数列表): 函数体
Domyślnie, nazwa parametru i parametr wartość jest w kolejności określonej w deklaracji funkcji dopasowuje się.
Użyjmy funkcję do wyjścia "Hello World!":
>>> def hello() : print("Hello World!") >>> hello() Hello World! >>>
Zastosowanie bardziej złożonego punktu, aby doprowadzić zmiennych parametrów funkcji:
#!/usr/bin/python3 # 计算面积函数 def area(width, height): return width * height def print_welcome(name): print("Welcome", name) print_welcome("w3big") w = 4 h = 5 print("width =", w, " height =", h, " area =", area(w, h))
Przykłady wyżej wyjścia:
Welcome w3big width = 4 height = 5 area = 20
Definiowanie funkcji: Funkcja dać nazwę, określić parametry funkcji zawiera i struktura blok kodu.
Po zakończeniu podstawowej struktury tej funkcji, można wykonać kolejne wywołanie funkcji którą należy wykonać bezpośrednio z poziomu wiersza poleceń Pythona.
Poniższe przykłady są nazywane PrintMe funkcji ():
#!/usr/bin/python3 # 定义函数 def printme( str ): "打印任何传入的字符串" print (str); return; # 调用函数 printme("我要调用用户自定义函数!"); printme("再次调用同一函数");
Przykłady wyżej wyjścia:
我要调用用户自定义函数! 再次调用同一函数
W Pythonie wszystkie parametry (zmienne) są przekazywane przez odniesienie. Po zmianie parametru w funkcji, to ta funkcja jest wywoływana funkcja, oryginalne parametry zostały zmienione. Na przykład:
#!/usr/bin/python3 # 可写函数说明 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:
Wymagane parametry w odpowiedniej kolejności, aby być przekazywane do funkcji. 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/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str); return; #调用printme函数 printme();
Przykłady wyżej wyjścia:
Traceback (most recent call last): File "test.py", line 10, in <module> printme(); TypeError: printme() missing 1 required positional argument: 'str'
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/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str); return; #调用printme函数 printme( str = "本教程");
Przykłady wyżej wyjścia:
本教程
Poniższy przykład pokazuje zastosowanie parametrów funkcji nie trzeba używać podanej kolejności:
#!/usr/bin/python3 #可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print ("名字: ", name); print ("年龄: ", age); return; #调用printinfo函数 printinfo( age=50, name="w3big" );
Przykłady wyżej wyjścia:
名字: w3big 年龄: 50
Gdy funkcja jest wywoływana, gdy parametr nie jest przekazywana, użyje domyślnych parametrów. W poniższym przykładzie, jeśli nie ma przychodzących parametru wiekowej, wartość domyślna:
#!/usr/bin/python3 #可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print ("名字: ", name); print ("年龄: ", age); return; #调用printinfo函数 printinfo( age=50, name="w3big" ); print ("------------------------") printinfo( name="w3big" );
Przykłady wyżej wyjścia:
名字: w3big 年龄: 50 ------------------------ 名字: w3big 年龄: 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. Jeśli żaden argument, gdy funkcja jest wywoływana, to pusta krotka. Nie możemy przekazać zmienną do funkcji nienazwanych. Następujące przykłady:
#!/usr/bin/python3 # 可写函数说明 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.
Tzw anonimowe, co oznacza, że nie używa tego standardowego formularza oświadczenia def zdefiniować funkcję.
Składnia funkcji lambda zawiera tylko jedną instrukcję, jak następuje:
lambda [arg1 [,arg2,plpl.argn]]:expression
Następujące przykłady:
#!/usr/bin/python3 # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print ("相加后的值为 : ", sum( 10, 20 )) print ("相加后的值为 : ", sum( 20, 20 ))
Przykłady wyżej wyjścia:
相加后的值为 : 30 相加后的值为 : 40
Powrót [wyrażenie] Oświadczenie służy do wyjścia z funkcji, selektywnie 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ść, Poniższy przykład demonstruje użycie instrukcji return:
#!/usr/bin/python3 # 可写函数说明 def sum( arg1, arg2 ): # 返回2个参数的和." total = arg1 + arg2 print ("函数内 : ", total) return total; # 调用sum函数 total = sum( 10, 20 ); print ("函数外 : ", total)
Przykłady wyżej wyjścia:
函数内 : 30 函数外 : 30
Pyhton zmienna nie ma miejsca, w których można uzyskać dostęp do programu, w zależności od dostępu do 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/python3 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