Лучшее руководство по функция Python в 2024 году. В этом руководстве вы можете изучить Определим функцию,вызов функции,Параметры, передаваемые по параметрам стоимости и пройти по ссылке,параметры,функция Anonymous,геЬигп,Переменная Объем,Глобальные и локальные переменные,
Функция является хорошая организация, многоразовые, используется для достижения одного сегмента кода, или связанные с ними функции.
Функция может быть применена для улучшения модульности и повторного использования кода. Вы уже знаете, что Python предоставляет множество встроенных функций, таких как печать (). Но вы также можете создать свою собственную функцию, которая называется определенная пользователем функция.
Вы можете определить функцию из функции, которую вы хотите, следующих простых правил:
def functionname( parameters ): "函数_文档字符串" function_suite return [expression]
По умолчанию, имя параметра и значение параметра в порядке, определенном в объявлении функции совпадает.
Ниже приводится простая функция Python, передавая ему строку в качестве параметра, а затем распечатать на стандартное устройство отображения.
def printme( str ): "打印传入的字符串到标准显示设备上" print str return
Определим функцию только имя функции, указать параметры, и блок кода структура содержит функцию.
После завершения основной структуры этой функции можно выполнить еще один вызов функции, которая будет выполнена непосредственно из командной строки Python.
Следующие примеры называются функцией PrintMe ():
#!/usr/bin/python # -*- coding: UTF-8 -*- # 定义函数 def printme( str ): "打印任何传入的字符串" print str; return; # 调用函数 printme("我要调用用户自定义函数!"); printme("再次调用同一函数");
Примеры вышеуказанного вывода:
我要调用用户自定义函数! 再次调用同一函数
Все параметры (аргументы) в Python передаются по ссылке. При изменении параметра в функции, то эта функция вызывается функция, исходные параметры также изменились. Например:
#!/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
И передается в функцию объекта в конце добавить новое содержание, используя ту же ссылку. Таким образом, выходные результаты являются следующие:
函数内取值: [10, 20, 30, [1, 2, 3, 4]] 函数外取值: [10, 20, 30, [1, 2, 3, 4]]
Ниже приведен формальный тип параметра может использоваться при вызове функции:
Обязательный параметр, передаваемый функции в правильном порядке. Когда количество звонков и должны быть такими же декларация.
Вызов PrintMe () функция, вы должны передать в качестве параметра, или будет происходить ошибка синтаксиса:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme();
Примеры вышеуказанного вывода:
Traceback (most recent call last): File "test.py", line 11, in <module> printme(); TypeError: printme() takes exactly 1 argument (0 given)
Ключевое слово аргументы и вызовы функций тесные отношения функции вызова с использованием ключевых слов аргументы, чтобы определить значение параметра, переданного.
При использовании параметра ключевое слово позволяет параметр функции порядка вызова не согласуется с утверждением, так как интерпретатор Python способны сопоставлять значения параметров, используя имя параметра.
Функция PrintMe Следующий пример () вызывается с именем параметра:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printme( str ): "打印任何传入的字符串" print str; return; #调用printme函数 printme( str = "My string");
Примеры вышеуказанного вывода:
My string
Следующий пример может заказать аргумент ключевое слово не важно показать более четко:
#!/usr/bin/python # -*- coding: UTF-8 -*- #可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print "Name: ", name; print "Age ", age; return; #调用printinfo函数 printinfo( age=50, name="miki" );
Примеры вышеуказанного вывода:
Name: miki Age 50
Когда функция вызывается, значение по умолчанию, если параметр не передается, значение по умолчанию считается. По умолчанию печать очередное заседание возраста, если возраст не передается:
#!/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" );
Примеры вышеуказанного вывода:
Name: miki Age 50 Name: miki Age 35
Вам может понадобиться функция, которая может обрабатывать больше, чем первоначальное сообщение параметров. Эти параметры называются параметрами переменной длины, а два типа параметров различны, не именования декларации. Базовый синтаксис выглядит следующим образом:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]
Звездочкой (*) будут храниться в именах переменных все неназванные переменными параметрами. Параметры Pass может быть небольшой выбор. Ниже приведены примеры:
#!/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 );
Примеры вышеуказанного вывода:
输出: 10 输出: 70 60 50
Python с помощью лямбда, чтобы создать анонимную функцию.
Синтаксис функции Лямбда содержит только один оператор, следующим образом:
lambda [arg1 [,arg2,ruru.argn]]:expression
Ниже приведены примеры:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2; # 调用sum函数 print "相加后的值为 : ", sum( 10, 20 ) print "相加后的值为 : ", sum( 20, 20 )
Примеры вышеуказанного вывода:
相加后的值为 : 30 相加后的值为 : 40
Заявление возврата [выражение] для выхода из функции выборочно абонент возвращает выражение. оператор возврата без параметров возвращает None. Ни одна из предыдущих примеров не показано, как возвращать значение, следующий пример покажет вам, как сделать это:
#!/usr/bin/python # -*- coding: UTF-8 -*- # 可写函数说明 def sum( arg1, arg2 ): # 返回2个参数的和." total = arg1 + arg2 print "函数内 : ", total return total; # 调用sum函数 total = sum( 10, 20 );
Примеры вышеуказанного вывода:
函数内 : 30
Все переменные в программе, которая не является позицией, которая может быть доступна. Доступ зависит от того, где присваивается переменная.
Определение функции внутренних переменных имеют локальную область видимости, как это определено в внешней функции имеет глобальную область.
Локальные переменные могут быть объявлены только внутри функции ее доступа к глобальным переменным можно обращаться в течение процедур. При вызове функции все имена переменных в объявлении функции будут добавлены в область. Ниже приведены примеры:
#!/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
Примеры вышеуказанного вывода:
函数内是局部变量 : 30 函数外是全局变量 : 0