码迷,mamicode.com
首页 > 其他好文 > 详细

函数注意事项

时间:2018-05-08 19:31:17      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:dad   lan   位置   报错   传值   fun   func   经验   add   

# 函数的位置参数必须要传实参,可以按位置,也可以按关键字传
# 函数的默认参数可以不传实参,可以按位置,也可以按关键字
# 不定长参数*args只收集位置参数形成元组,不定长参数应放在后面,要不会把实参当做位置参数然后报错
# 用**,只要定义了关键字参数,以后针对这个参数传值就必须是关键字形式传递



# 关键字参数和关键字传值必须放在位置参数(实参)后面
# def add_num(list1 = []):     # 运行第二次以后里面的默认参数不会执行,会把第一次运行完的结果当做关键字参数放入
#     list1.append(100)
#     print(list1)

# add_num()
# add_num()
# add_num()


# 函数:每个用户去调用函数,在自己的列表中追加100,不能干扰别人的
# def add_num(list1=None):
#     if list1==None:
#         list1 = []  # 针对每个用户创建自己的list
#     list1.append(100)
#     print(list1)

# add_num()
# add_num()
# add_num()

# *args:位置参数,收集成元组
# def func1(name,*args,age=12):
#     print(args)
#     for i in args:
#         print(i)

# func1(‘python‘, ‘man‘,‘meiguo‘, age=28)

# **kwargs :收集关键字参数,合并字典
# def func2(**kwargs):
#     print(kwargs)
#     for key,value in kwargs.items():
#         print(key)
#         print(value)

# func2(name=‘python‘,age=28,sex=‘man‘,weizhi=‘helan‘)

# 定义关键字参数
def func1(*,name,age,sex,**k):
    print(name)
    print(age)
    print(sex)
    print(k)
#
# func1(‘python‘, 28,sex=‘man‘)
func1(name=‘python‘, age=30, sex=‘nv‘, aw=‘as‘,ad=22)


# 工作经验:不定长参数都是放到最后
def func1(a,b, c=100, *args, **kwargs):
    ‘‘‘
    sadasdada             # 函数说明文档,使用help可查看,函数名前用# ,函数名后用文档注释
    ‘‘‘
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)

# 不定长参数可以不接收值
func1(10,99, 20, f=200, d=90)    # 函数是按顺序接收,如果提前把关键字参数给了实参
help(func1)                  # 则后面紧跟着的是函数里写形参位置,关键字参数后面的要传入实参的形式
# c是第三个位置,能接收第三个数据
# func1(10, 20, 300)

# func1(10, 20, 30, 40,50,60,name=‘python‘)

# 下一行报错:一个参数c只能接收一个值:这里是c接收了30和100
# func1(10,20,30,50,60, c=100,name=‘python‘)

  

函数注意事项

标签:dad   lan   位置   报错   传值   fun   func   经验   add   

原文地址:https://www.cnblogs.com/wf-skylark/p/9009740.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!