温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中的函数是什么

发布时间:2020-09-24 11:05:28 来源:亿速云 阅读:143 作者:Leah 栏目:编程语言

Python中的函数是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数的定义

定是函数使用def关键字

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

空函数

def emptyfunc():
    pass

参数检查

def checkfunc(x):
    if not isinstance(x,(int,float)):
        raise TypeError("must be int or float type!")
    if x >= 0:
        return x
    else:
        return -x

返回多个值

def price(x):
    apple=x*2
    banana=x*2.5
    return apple,banana
a,b=price(1)

函数的参数

必选参数parameter

def printdetail1(name,age,telephone):
    print("姓名:",name)
    print("年龄:",age)
    print("电话:",telephone)
printdetail1("Jack",12,12356435678)

默认参数parameter=value

def printdetail2(name,age,telephone,gender='fale'):
    print("姓名:",name)
    print("性别:",gender)
    print("年龄:",age)
    print("电话:",telephone)
printdetail2("Jack",12,12356435678,gender='female')

可变参数*

1.不定长传参

def fun1(*number):
    for i in number:
        print(i)fun1(1,2,3,4,5,6,7,8)

2.元组和列表的压包

def fun2(*number):
    s=0
    for i in number:
        s+=i
    print(s)
fun2(*[1,2,3,4,5])
fun2(*(1,2,3,4,5))

关键参数**

使用方法一

def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",sex="man",age='12')

使用方法二

extra={'sex': 'man', 'age': 12}
def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",sex=extra['sex'],age=extra['age'])

使用方法三

extra={'sex': 'man', 'age': 12}
def fun(id,name,**kargs):
    print("id:",id)
    print("name:",name)
    print("others:",kargs)
fun(2,"xiaohua",**extra)

关键字参数*

def fun(name,age,*,city,job,completion):
    print("name:",name)
    print("age:",age)
    print("city:",city)
    print("job:",job)
    print("completion:",completion)
fun('Jack',12,city='shanghai',job='teacher',completion=True)

命名关键字参数需要一个特殊分隔符*,后面的参数被视为命名关键字参数

如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了

参数组合

def fun(parameter,*args,keyparameter,**kargs):
    print(parameter)
    print(args)
    print(keyparameter)
    print(kargs)
fun(1,*(1,2,3,4),keyparameter=True,**{'id':2})

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数

函数的递归

#阶乘计算
def fact(n):
    if n == 1:
        return 1
    return n * fact(n-1)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI