python之函数使用

一.函数的定义

  • 函数必须遵循先定义后调用的原则,在开发过程中,可以把一些功能代码定义成函数,可以重复使用
# 函数的语法
def 函数名(参数):
    '''函数功能描述'''
    函数体(代码)
    return 值

函数示例

# 有参函数
def min(x,y):
    res=x if x < y else y
    return res
# 无参函数
def interactive():
    user=input('user>>: ').strip()
    passwd=input('password>>: ').strip()
    return (user,passwd)

二.调用函数与函数返回值

实例

def foo():
    print('hello world!')
    bar()

def bar():
    print('fuck you!')

foo() # 函数的调用

三.函数的参数

函数的参数分为形参和实参:

  • 形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。
  • 实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合.

3.1.位置参数

def register(name,age,sex):
    print('name:{} age:{} sex:{}'.format(name,age,sex))
# 三个参数都必须被传值

3.2.关键词参数

# 调用函数用key=value形式传参
def register(name,age,sex):
    print('name:{} age:{} sex:{}'.format(name,age,sex))

register('weixu',24,'man')
register(sex='man',name='xixi',age=18)
register(18,sex='man',name='xiaowei')
register('lili',18,sex='male')
# 位置参数和关键词参数混合使用时,必须要按顺序使用,位置参数必须在关键词参数前面

3.3.默认参数

# 设置sex默认值
def register(name,age,sex='male'):
    print('name:{} age:{} sex:{}'.format(name,age,sex))

register('weixu',18)
register('chenxue',18,'female')
# 默认参数必须放在位置参数后面

3.4.可变长的参数

  • 可变长的位置参数
def foo(x,y,z,*arg):
    print(x)
    print(y)
    print(z)
    print(arg)

foo(1,2,3,4,5) # 溢出值保存为元组格式
list=[1,2,3,4]
foo(1,2,3,*list)
foo(1,2,3,list)
foo(*[1,2,3,4])

# 求和
def add(*arg):
    res=0
    for i in arg:
        res+=i
    print(res)

add(1,2,5,323,23,23,23,23)
  • 可变长关键词参数
def foo(x,**kwargs):
    print(x)
    print(kwargs)

foo(x=1,y=2,z=5)
dict={'a':22,'b':33}
foo(x=1,y=2,**dict)
# 溢出值保存为字典格式

def foo(x,y,z=3):
    print(x)
    print(y)
    print(z)

foo(**{'x':1,'y':2})

3.5.分隔符*使用

def register(name,age,*,sex,height):
    print('name:{} age:{} sex:{} height:{}'.format(name,age,sex,height))

register('weixu',18,sex='man',height=1.8)

def register(name,age,*,sex='male',height):
    print('name:{} age:{} sex:{} height:{}'.format(name,age,sex,height))

register('weixu',24,height=1.8)

def register(name,age,*arg,sex,height):
    print('name:{} age:{} arg:{} sex:{} height:{}'.format(name,age,arg,sex,height))

register('weixu',24,1,3,2,3,23,23,sex='male',height=1.8)

# *前面是位置参数,后面用关键词参数key=value形式

3.6.*args和**kwargs组合使用

def func(x, y, c):
    print(x, y, c)


def xixi(*args, **kwargs):
    print(args,kwargs)
    func(*args, **kwargs)


xixi(2,y=2,c=3)
因为func函数只能接收3个参数,所以xixi函数必须传3个参数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值