Python学习笔记(九)

复制代码
"""
演示函数的多返回值示例
"""
# 演示使用多个变量,接收多个返回值
# def test_return():
#     return 1, "hello", True
#
# x, y, z = test_return()
# print(x)
# print(y)
# print(z)

# """
# 演示多种传参的形式
# """
# def user_info(name, age, gender):
#     print(f"姓名是:{name}, 年龄是:{age}, 性别是:{gender}")
#
# # 位置参数 - 默认使用形式 必须按照顺序
# user_info('小明', 20, '男')
#
# # 关键字参数
# user_info(name='小王', age=11, gender='女')
# user_info(age=10, gender='女', name='潇潇')    # 可以不按照参数的定义顺序传参
# user_info('甜甜', gender='女', age=9)    # 可以和位置参数混用,但位置参数必须在前,且符合参数顺序
#
# # 缺省参数(默认值),但默认参数必须在最后写,在别的位置写会报错
# def user_info(name, age, gender="男"):
#     print(f"姓名是:{name}, 年龄是:{age}, 性别是:{gender}")
#
# user_info('小天', 13)
# user_info('小天', 13, '女')
#
#
# # 不定长 - 位置不定长, *号
# # 位置不定长定义的形式参数会作为元组存在,接收不定长数量的参数传入
# def user_info(*args):
#     print(f"args参数的类型是:{type(args)},内容是:{args}")
#
# user_info(1, 2, 3, '小明', '男孩')
#
# # 不定长 - 关键字不定长, **号
# # 关键字不定长定义的形式参数会作为字典存在
# def user_info(**kwargs):
#     print(f"args参数的类型是:{type(kwargs)},内容是:{kwargs}")
# #     参数必须是key="value"这种类型的
# user_info(name='小王', age=11, gender='男孩')

"""
演示函数作为参数传递
"""

# 定义一个函数,接收另一个函数作为传入参数,参数是一种计算逻辑
# def test_func(compute):
#     result = compute(1, 2)  # 确定compute是函数
#     print(f"compute参数的类型是:{type(compute)}")
#     print(f"计算结果:{result}")
#
# # 定义一个函数,准备作为参数传入另一个函数
# def compute(x, y):
#     return x + y
# # 调用,并传入函数
# test_func(compute)

"""
演示lambda匿名函数
"""

# 定义一个函数,接受其它函数输入
def test_func(compute):
    result = compute(1, 2)
    print(f"结果是:{result}")
# 通过lambda匿名函数的形式,将匿名函数作为参数传入
def add(x, y):
    return x + y
test_func(add)
test_func(lambda x, y: x + y)
test_func(lambda x, y: x + y)
相关推荐
Evand J2 小时前
【MATLAB程序,一维非线性EKF与RTS】MATLAB,用于一维的位移与速度滤波和RTS平滑/高精度定位,带滤波前后的误差对比
开发语言·matlab·卡尔曼滤波·rts平滑·正向滤波
火云洞红孩儿7 小时前
告别界面孤岛:PyMe如何用一站式流程重塑Python GUI开发?
开发语言·python
攻城狮7号7 小时前
不懂代码也能造?TRAE+GLM-4.6 手把手教你搭心理咨询智能客服小程序
python·小程序·uni-app·vue·trae·glm我的编程搭子·glm-4.6
叫我辉哥e17 小时前
新手进阶Python:办公看板集成ERP跨系统同步+自动备份+AI异常复盘
开发语言·人工智能·python
●VON7 小时前
0基础也能行!「Flutter 跨平台开发训练营」1月19日正式启动!
学习·flutter·von·openjiuwen
晚风吹长发7 小时前
初步了解Linux中的命名管道及简单应用和简单日志
linux·运维·服务器·开发语言·数据结构·c++·算法
敲敲了个代码8 小时前
如何优化批量图片上传?队列机制+分片处理+断点续传三连击!(附源码)
前端·javascript·学习·职场和发展·node.js
C++ 老炮儿的技术栈8 小时前
不调用C++/C的字符串库函数,编写函数strcpy
c语言·开发语言·c++·windows·git·postman·visual studio
布局呆星8 小时前
闭包与装饰器
开发语言·python
fyzy8 小时前
C++写后端实现,实现前后端分离
开发语言·c++