Python系列6——函数

函数从某种角度来讲也是一种控制流程,这种控制流程的特点在于函数更加的灵活。

1 函数的定义

//函数定义语法
//def 函数名 (形参) : 函数体 

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

def myPrint():
    print("今天你吃饭没")
    
myPrint()
今天你吃饭没

定义函数时,需要确定函数名和参数的个数。也可以不传入参数。

函数体内部可以用return随时返回结果,函数执行完毕也没有return语句时,自动return None。

函数可以同时返回多个值,但其实就是将多个返回值打包成为了一个tuple。

2 函数调用

函数调用有那种方式,直接调用和间接调用。

>>> n = abs    //直接调用
>>> n(-2)
2
>>> abs(-2)    //间接调用
2

3 函数参数

//命名关键字参数,作用限制关键字参数的名字。使用*进行分隔
def person(name, age, *, city, job):
    print(name, age, city, job)
>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
//如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
def person(name, age, *args, city, job):
    print(name, age, args, city, job)

函数参数具有多种类型(从函数形参来看):位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合

//其中x便是位置参数,占有函数实参的位置
def power(x):
    return x * x
//默认参数
def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s
//n=2,便为默认参数,默认参数可以简化函数的调用
//.......python在进行定义时,默认参数的值已经被计算出来了,如果默认参数中的值被改变,下次调用时函数值已发生改变
//可变参数,传入的参数是可变的
def fun(n, *args):   #将多余的数据打包成数组
    print(n)
    print(args)      # 未拆包
    print(*args)     # 进行拆包
fun(1,2,3,4)

输出:
1
(2, 3, 4)
2 3 4
//关键字参数 **kwargs,用于接收形参的命名参数
def fun(**kwargs):        #打包
    print(kwargs)       #未拆包
    print(*kwargs)  # 进行拆包
fun(a=1, b=2)

输出:
{'a': 1, 'b': 2}
a b

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值