>>>defadd():... a =10+20...>>> x = add()>>>print(x)None>>>defadd():... a =10+20... b =[1,2,3]... c =100+200...return'hello world'...>>> x = add()>>>print(x)>>>defadd():... a =100... b =200... c = a + b
...return c
...>>> x = add()>>>print(x)300>>> c +5# NameError。在函数内使用的变量是局部变量,只能在函数内使用
参数:
形式参数,形参:在函数名括号中的变量
实际参数,实参:在调用函数时,传递的具体数据
# 斐波那契数列deffib_func(l):list=[0,1]for i inrange(l -2):list.append(list[-1]+list[-2])returnlist
_length =[10,20,30,5,6,9]for i in _length:print(fib_func(i))
>>>defget_info(name, age):...print('%s is %s years old'%(name, age))...>>> get_info('dc',20)# OK
dc is20 years old
>>> get_info(20,'dc')# 语法正确,语义不对20is dc years old
>>> get_info(age=20, name='dc')# OK
dc is20 years old
>>> get_info(age=20,'dc')# 语法错误,关键字参数必须在位置参数后面>>> get_info(20, name='dc')# name得到了多个值>>> get_info('dc', age=20)# OK
dc is20 years old
>>> get_info()# Error,参数不足>>> get_info('dc',20,200)# Error,参数过多
from random import randint
defmy(x):returnTrueif x %2==1elseFalseif __name__ =='__main__':#过滤出10个数中的奇数
nums =[randint(1,100)for i inrange(10)]print(nums)
result1 =list(filter(my, nums))print(result1)
result2 =list(filter(lambda x:Trueif x %2==1elseFalse, nums))print(result2)
deffunc1(x):return x +100from random import randint
if __name__ =='__main__':
nums =[randint(1,100)for i inrange(10)]print(nums)
result1 =map(func1, nums)print(list(result1))
result2 =map(lambda x: x +100, nums)print(list(result2))