欢迎来到测试Test-Admin的博客

本来以为,学习了这么多年,我已经洞察了世界,真相却不过是蒙蔽了自己。原来世界如此精彩,而我却一无所知。昨天已经成为过去,明天还是一个未知,但今天是一个礼物。珍惜自己,把握每一寸光阴!

(07)-Python3之--函数

1.定义

函数:实现了某一特定功能。

     可以重复使用。

例如:

len()    功能:获取长度。
input()   功能: 控制台输入
print()   功能:输出

语法:

def 函数名称(参数1,参数2.。。。):
  实现函数的功能(代码段/块)
  [return [值]]

2.函数的参数

2.1位置参数(必传,定义的时候没有数值。)

形参和实参的参数顺序是一一对应的

形式参数,接收具体的数值。会变

例如:

def out_going(id,ticket):
    print("请出示身份证和飞机票!")
    print("身份证为:" + id,"机票为:" + ticket)
    if len(id) != 18:
        print("身份证不符合要求!!")
    if id is not None and ticket is not None:
        print("请上飞机!")

# 调用函数
out_going("363636200001023212","东方航空")

结果:
请出示身份证和飞机票!
身份证为:363636200001023212 机票为:东方航空
请上飞机!

2.2默认参数(定义函数时,给形参一个默认的具体数值。)

可传可不传

默认参数要放在所有的必传参数之后

例如:

def out_going(id, ticket, enter="上海", h="5"):
    enters = ["上海", "北京", "深圳"]
    print("请出示身份证和飞机票!")
    print(" 身份证为:" + id + "\n", "机票为:" + ticket + "\n","到达城市为:" + enter + "\n", "耗时:" + h + "\n")
    if len(id) != 18:
        print("身份证不符合要求!!")
    elif enter not in enters:
        print("当前城市尚未开放机场!!")
    elif id is not None and ticket is not None:
        print("请上飞机!")

# 调用函数
out_going("363636200001023212", "东方航空")

结果:
请出示身份证和飞机票!
 身份证为:363636200001023212
 机票为:机票
 到达城市为:上海
 耗时:5

请上飞机!

2.3指定参数(调用的时候去指定  形参=数据)

形参=值。可以不按位置的顺序来传参

例如:

def out_going(id, ticket, enter="上海", h="5"):
    enters = ["上海", "北京", "深圳"]
    print("请出示身份证和飞机票!")
    print(" 身份证为:" + id + "\n", "机票为:" + ticket + "\n","到达城市为:" + enter + "\n", "耗时:" + h + "\n")
    if len(id) != 18:
        print("身份证不符合要求!!")
    elif enter not in enters:
        print("当前城市尚未开放机场!!")
    elif id is not None and ticket is not None:
        print("请上飞机!")

# 调用函数
out_going("363636200001023212", "东方航空",h="10",enter="北京")

结果:
请出示身份证和飞机票!
 身份证为:363636200001023212
 机票为:东方航空
 到达城市为:北京
 耗时:10

请上飞机!

2.4可变参数(*args、**kwargs)

参数个数不固定 。调用的时候来确定有几个参数。

*args

在函数内部,是以元组的形式来表示。

放在位置参数,默认参数之后。

例如:

def my_args(*args):
    print(args)

# 调用函数
my_args(12,34,True,False,[1,2])
my_args("hello",True)
my_args()

结果:
(12, 34, True, False, [1, 2])
('hello', True)
()

**kwargs

在函数内部,是以字典的形式来表达。

一个函数的定义当中,都有*args,**kwargs.先*args,再**kwargs。

例如:

def my_all_args(num,*args,**kwargs):
    print(num,args,kwargs)
    if "my_class" in kwargs:
        if kwargs["my_class"] == "python17":
            print("正确!")
            
# 调用函数
my_all_args(12,23,34,45,hello="world",name="python17")

结果:
12 (23, 34, 45) {'hello': 'world', 'name': 'python17'}

3.函数返回(return)

1、代表函数返回数据

2、终止函数调用 

3、return 后面可以不用跟任何的数据。实际上代表的是返回的None 。return None

4、调用函数的时候,如果函数有返回值,要主动用变量接收函数的返回值

5、return 可以返回任意类型的数据

6、定义函数的时候,没有用到return.请问调用函数,有返回值?有,为None

posted on 2019-12-23 19:07  Test-Admin  阅读(273)  评论(0编辑  收藏  举报

导航