文章目录
一、大数据Python基础函数
def 函数名():
代码
1016day3.py
(1)定义函数和函数调用
1.
def hi(ok):
print(ok)
hi() #结果:报错
hi('柳宗元') #结果:柳宗元
print(hi('柳宗元') ) #结果:None,因为定义的函数没有返回值,我们给函数添加返回值
2.
def hi(ok): #ok是形参
print(ok)
return 'yes'
print(hi('柳宗元') )
#结果:yes,定义了函数的返回值 #柳宗元是实参
3.可以返回多个值,并且以元组形式返回
def hi(ok):
print(ok)
return 'yes','i love you'
print(hi('柳宗元') )
结果:
柳宗元
('yes', 'i love you')
4.#形参
def hello(hellos,ok=333,*args,**kwargs):
print(ok,hellos,args,kwargs)
return 123,456
5.# 实参
print(hello('你好','李白','我们一起喝酒',666,tel=1817892349,hello='world'))
(1)实参和形参都有的时候,实参的优先级高
def hi(ok='白居易'):
print(ok)
return 'yes','i love you'
print(hi('柳宗元') )
#结果:
柳宗元
('yes', 'i love you')
(2)有实参用实参,没有实参用形参
def hi(ok='白居易'):
print(ok)
return 'yes','i love you'
print(hi() )
#结果:
白居易
('yes', 'i love you')
6.*args,**kwargs这两个基本可以代替所有参数,
#形参
def hello(hellos,ok=333,*args,**kwargs):
print(ok,hellos,args,kwargs)
return 123,456
# 实参
print(hello('你好','李白','我们一起喝酒',666,tel=1817892349,hello='world'))
#结果:
李白 你好 ('我们一起喝酒', 666) {'tel': 1817892349, 'hello': 'world'}
(123, 456)
#'我们一起喝酒', 666这种单独的全都传给*args,返回值是('我们一起喝酒', 666)元组
#**kwargs主要接键值对
二、定义函数def
def fun99(): #定义函数
for i in range(1,10):
for j in range(i,i+1):
print(j,"*",i,"=",i*j,'\t',end='')
print('\n')
三、调用函数
fun99() #调用函数、实际参数
def add(a,b): #a,b 声明是形式参数
"""
:param a: 参数a
:param b: 参数b
:return: 函数的逻辑
"""
print(a+b)
add(1,8) #1,8 是实际参数
结果:9
四、返回值
def add(a,b):
print(a+b)
return a+b
add(1,2)
结果:3
def add(a,b):
return a+b
print(add(1,2))
结果:3
五、函数的参数
1.必备参数
def kfc(money,food):
print('来一份%d元的%s套餐'%(money,food))
kfc(25,'汉堡') #来一份25元的汉堡套餐
kfc('薯条',15) #报错
2.默认参数
def kfc(money,food='薯条',other=''):
if not other:
print('来一份%d元的%s套餐'%(money,food))
else:
print('来一份%d元的%s套餐外加%s'%(money,food,other))
kfc(money=50)
kfc(50,'爆米花','可乐')
kfc(food='全家桶',money=88,other='一杯奶茶')
结果:
来一份50元的薯条套餐
来一份50元的爆米花套餐外加可乐
来一份88元的全家桶套餐外加一杯奶茶
3.可变参数
就是传入的参数个数是可以变化的,可以是1个也可以是2个,或者0个,需要在参数加*号
def kfc(money,food,*other):
if not other:
print('来一份%d元的%s套餐'%(money,food))
else:
print('来一份%d元的%s套餐外加%s'%(money,food,other))
kfc(100,'汉堡包','奶茶','雪碧','咖啡')
结果:来一份100元的汉堡包套餐外加('奶茶', '雪碧', '咖啡')
4.关键字参数
允许在传入必选参数外,接受关键字参数。
def info(name,age,**kw):
print('姓名:',name,'年龄:',age,'其他:',kw)
info('李白',28,city = '天津')
info('李白',28,job = 'teacher')
结果:
姓名: 李白 年龄: 28 其他: {'city': '天津'}
姓名: 李白 年龄: 28 其他: {'job': 'teacher'}
5.命令关键字参数
用来限制关键字参数的名字。
def info(name,gender,*,age,city):
print('姓名',name,'性别',gender,'年龄',age,'城市',city)
info('杜甫','男',age = 28,city = '天津')#姓名 杜甫 性别 男 年龄 28 城市 天津
info('柳宗元',28,job='teacher') #报错
六、匿名函数
在Python中,除了使用def定义函数外,还有一种使用lambda定义匿名函数,这种函数可以用在任何普通函数可以使用的地方,但是定义是被严格限定为单一表达式。
ambda语法
#lambda[参数1[,参数2,…参数n]]:表达式
#lambda只是一个表达式,函数体比def简单很多
#lambda表达式只能封装有限的逻辑
def add(a,b):
print(a+b)
return a+b
add(1,2)
结果:3
add = lambda a,b: a + b
print(add(1,2))
结果:3