2.语法:
def 函数名(参数列表):
函数体
return XXX
可以返回多个值,返回的多个值组成一个元组,返回值加上一对中括号,则返回一个列表
函数分为定义和调用。
def calc(x,y=None,*numbers): #定义函数,并设定参数
print(numbers) #输出不定长参数numbers
sum = 0 #定义变量
for n in numbers: #迭代参数numbers内变量
sum = sum + n * n #求得所有数值的平方和
return sum #返回给函数结果
result=calc(1,2) #调用函数calc,并赋值参数x,y的值为1和2.所以numbers为空值
print(result) #输出的为sum最初定义值
3.可更改(mutable)与不可更改(immutable)对象
在 python 中,(strings, tuples, 和 numbers) 是不可更改的对象,而( list,dict )等则是可以修改的对象。
4.
关键字参数:关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
不定长参数(可变参数):
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple,
但是调用的时候,需要先组装出一个list或tuple。
5.
参数组合
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用,除了可变参数无法和命名关键字参数混合。
但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
6.
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
7.
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
其中详解:
(1).map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
(2). map(lambda x:expres ,foo) map(tt,foo) 得到列表,需要循环输出,其中tt代表引用的函数
filter(lambda x:x>10,foo) 可以过滤符合的结果,一个元素, 注:如果需要输出值,需要转为list类型才可以!!!!
def is_odd(n):
return n % 2 == 1
a = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
print(a)
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,
然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
2.语法:
def 函数名(参数列表):
函数体
return XXX
可以返回多个值,返回的多个值组成一个元组,返回值加上一对中括号,则返回一个列表
函数分为定义和调用。
def calc(x,y=None,*numbers): #定义函数,并设定参数
print(numbers) #输出不定长参数numbers
sum = 0 #定义变量
for n in numbers: #迭代参数numbers内变量
sum = sum + n * n #求得所有数值的平方和
return sum #返回给函数结果
result=calc(1,2) #调用函数calc,并赋值参数x,y的值为1和2.所以numbers为空值
print(result) #输出的为sum最初定义值
3.可更改(mutable)与不可更改(immutable)对象
在 python 中,(strings, tuples, 和 numbers) 是不可更改的对象,而( list,dict )等则是可以修改的对象。
4.
关键字参数:关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
不定长参数(可变参数):
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple,
但是调用的时候,需要先组装出一个list或tuple。
5.
参数组合
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用,除了可变参数无法和命名关键字参数混合。
但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
6.
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
7.
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
其中详解:
(1).map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
(2). map(lambda x:expres ,foo) map(tt,foo) 得到列表,需要循环输出,其中tt代表引用的函数
filter(lambda x:x>10,foo) 可以过滤符合的结果,一个元素, 注:如果需要输出值,需要转为list类型才可以!!!!
def is_odd(n):
return n % 2 == 1
a = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
print(a)
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,
然后返回 True 或 False,最后将返回 True 的元素放到新列表中。