day-011

# -------------------------------*day-011*----------------------------------
"""
函数  为减少重复而出现,简简单单的def
"""

# 通过help可以看到函数的文档信息
# def triangle ():
# help(triangle)

# 形参
# 默认参数 默认形参,Python 允许为参数设置默认值,即在定义函数时,直接给形式参数指定一个默认值。
# 这样的话,即便调用函数时没有给拥有默认值的形参传递参数,该参数可以直接使用定义函数时设置的默认值。
# 关键字参数
# def print_stu_info(name,age,height,weight,job):
#
#     print("学员姓名:",name)
#     print("学员年龄:",age)
#     print("学员身高:",height)
#     print("学员体重:",weight)
#     print("学员工作:",job)
#
#
# print_stu_info("张三",23,"180cm","80kg","销售") # 位置参数
# print_stu_info(name="张三",height="180cm",weight="90kg",job="销售",age=23) # 关键字参数
# print_stu_info("张三",height="180cm",weight="90kg",job="销售",age=23) # 混合参数
# 使用位置参数和关键字参数混合传参的方式。但需要注意,混合传参时关键字参数必须位于所有的位置参数之后。

"""
不定长函数
"""
# 在函数定义中使用`*args`和`**kwargs`传递可变长参数。
# `*args`用作传递非命名键值可变长参数列表(位置参数);
# `**kwargs`用作传递键值可变长参数列表。
# `*args `的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
# `**kwargs`的参数会以字典的形式导入。
# **kwargs
# def print_stu_info(**kwargs):
#     print(kwargs)
#
# print_stu_info(name="张三",height=190)

# 注意点:
# 1、参数`arg`、`*args`、`**kwargs`三个参数的位置必须是一定的。必须是`(arg,*args,**kwargs)`这个顺序,否则程序会报错。
# 2、不定长参数的长度可以为零。
# 3、`args` 和 `kwargs`其实只是编程人员约定的变量名字,`args `是 arguments 的缩写,表示位置参数;`kwargs` 是 keyword arguments 的缩写,表示关键字参数。
""" 形参的书写顺序:位置形参 > 默认形参 > 元组不定长形参  > 字典不定长形参
实参的书写顺序:位置实参 > 关键字实参 """

# 全局变量与局部变量
字母英语释义简称作用空间
LLocal(function)当前函数内的作用域局部作用域局部
EEnclosing Functions Locals外部嵌套函数的作用域嵌套作用域局部
GGlobal(module)函数外部所在的命名空间全局作用域全局
BBuilt In(python)Python内置模块的命名空间内建作用域内置
 

"""匿名函数"""
# 变量名 = lambda [参数列表] : 表达式或返回值
#
# list = [1, "2", "C", "D", "A"]
# list.sort(key= lambda x: str(x))
# print(list)
#
# list = [1, "2", "C", "D", "A"]
# list.sort() # 会报错,因为列表中的成员类型不一样。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值