Python函数

一、大数据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
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ゆきな

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值