1, определение функции
Формат: DEF <имя функции> (<параметр (0 или более)>):
<тело функции>
возвращение <Возвращаемое значение>
2, функция дополнительных параметров
Когда определение функции, могут быть использованы дополнительные параметры. При использовании дополнительного параметра должны быть помещен за не-необязательные параметрами, а затем вызывать эту функцию , когда дополнительные параметры не могут дать ему значения
, такие как:
def fact(n,m = 1):
s = 1
for i in range(1,n+1):
s *= i
return s//m
print(fact(10))
print(fact(10,10))
3, функция параметра переменной
Относится к общему числу функций, определенное время неопределенных параметров: переменные параметры
def fact(n,*b):
s = 1
for i in range(1,n + 1):
s *= i
for item in b:
s *= item
return s
print(fact(10,3))
print(fact(10,3,4,5,6))
Это время, и б представляет собой комбинацию типа данных
4, параметры передачи
Когда вызовы функций, передавая параметры могут быть переданы в соответствии с местоположением или имя моды
def fact(n,m=1):
s = 1
for i in range(1,n + 1):
s *= i
return s//m
fact(10, 5) #按照位置
fact(m=5, n=10)#按照名称
5, возвращаемое значение функции
Функция может возвращать значение, или не может, может вернуться, может не
возвращать 0 возвращаемое значение может быть передано, может быть любым из множества возвращаемого значения прошло
несколько возвращаемых значений , непосредственно возвращает кортеж
def fact(n,m=1):
s = 1
for i in range(1,n + 1):
s *= i
return s//m, n, m
fact(10,5) #这里将会返回一个包含三个元素的元组
a,b,c = fact(10,5)
6, локальные переменные и глобальные переменные
Правило 1: функциональные переменные являются локальными переменными, для того, чтобы использовать глобальную переменную в функции, использовать глобальное слово зарезервированное
n, s = 10, 100
def fact(n):
global s #使用global声明这是一个全局变量
for i in range(1,n + 1):
s *= i
return s
print(fact(n),s)
Правило 2: Создайте локальную переменную, а не как совокупность типов данных, глобальная переменная эквивалентна
ls = ['F', 'f']
def func(a):
ls.append(a)
return
func("C")
print(ls)
7, лямбда-функции
Функция лямбда возвращает имя функции в результате
лямбда анонимной функции является функцией, то есть без имени функции
с лямбда зарезервированных слов определенной, функция возвращает имя результата
функция используется для определения просто функция лямбда может быть выражена в виде линии ,
используя формат: < имя функции> = лямбда <параметр>: <выражение>
эквивалентно: DEF <имя функции> (<параметры>):
<функция имя>
возврат <возвращаемое значение>
f = lambda x,y : x + y
f(10,15)
f = lambda : "这是一个lambda函数"
print(f())
Не рекомендуется для регулярного использования