news 2026/8/31 11:05:25

自动化——2.Python进阶——函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自动化——2.Python进阶——函数

Python进阶

  • 函数
    • 内置函数
    • 自定义函数
    • 解包
    • 匿名函数
    • 回调函数

函数

函数介绍:
1.函数是一段代码的组合,用来实现具体的功能
2.内置函数可以直接调用
3.自定义函数可以根据业务需要设计不同的实现代码

内置函数

内置函数可以直接调用,例如print()函数:print("你好")print(type("你好"))print(len("你好"))输出结果: 你好<class'str'>2

print()

Python中的打印输出函数 语法结构是:print(*objects,sep=' ',end='\n',file=sys.stdout)objects:表示输出的对象,输出多个对象时需要用英文逗号分割 seq:用来间隔(拼接)多个对象 end:用来设定以什么结尾,默认是换行符\nfile:要写入的文件对象,该参数必须是一个具有write(String)方法的对象,如果参数不存在或为None, 则将使用sys.stdout。由于要打印的参数会被转换为文本字符串,因此print()不能用于二进制模式的文件对象, 只能用file.write(...)

自定义函数

自定义函数:1.格式:def函数名():函数体(具体的业务逻辑代码)def开头且不需要行缩进,后面跟一个空格,然后是函数名、英文小括号、英文冒号 例:# 无参函数defself_print():print("这里是自定义函数!")# 调用自定义函数self_print()self_print()# 输出:这里是自定义函数!# 函数的不定长关键字参数defself_print2(**kwargs):print(kwargs)# 调用自定义函数self_print2()self_print2(name="你好",age=18)# 输出:{'name': '你好', 'age': 18}# 函数的不定长参数defself_print3(*kwargs):print(kwargs)# 调用自定义函数self_prints()self_print3("1","2","3","4")# 输出:('1', '2', '3', '4')self_print3(1,2,4,5)# 输出:(1, 2, 4, 5)

解包

# 自定义函数deffun2(*args):returnargsprint(fun2(3))# 返回元祖(3,)print(fun2(3,4))# 返回元祖(3, 4)print(*fun2(3,4,5))# 返回元素3 4 5 # 解包:展开所有元素

匿名函数

没有具体函数名,一般是比较简单的内容才会会用到匿名函数,比如一行代码可以搞定的,一般用来作为参数使用。
格式:lambda 参数1,参数2,…参数n: 方法体
格式说明:lambda关键字后面跟空格,然后跟参数,多个参数用英文逗号分割,然后是英文冒号,然后空格,然后跟方法体。

sub1=lambdax,y,z:x+y+zprint(sub1(1,2,3))# 输出:6

回调函数

函数名被当做其他函数的参数进行调用

1.具名函数回调# 自定义加法函数defadd(x,y):print(x+y)# 自定义减法函数defsub(x,y):print(x-y)# 自定义乘法函数defmul(x,y):print(x*y)# 自定义除法函数defdiv(x,y):print(x/y)# 自定义调用函数defpow(x,y,func):func(x,y)pow(4,2,add)# 6pow(4,2,sub)# 2pow(4,2,mul)# 8pow(4,2,div)# 2.02.匿名函数回调 add1=lambdax,y:x*y sub1=lambdax,y:x-y mul1=lambdax,y:x*y div1=lambdax,y:x/y pow1=lambdax,y,func:func(x,y)print(pow1(4,2,add1))# 8print(pow1(4,2,sub1))# 2print(pow1(4,2,mul1))# 8print(pow1(4,2,div1))# 2.0
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 17:20:45

安装Docker ce

文章目录 一、前置准备 二、在线安装完整步骤 步骤1:安装基础依赖工具 步骤2:添加Docker官方GPG密钥 步骤3:配置Docker官方源(国内适配阿里云镜像源) 步骤4:安装Docker CE及配套组件 步骤5:启动并验证Docker 步骤6:(可选)配置非root用户免sudo执行Docker 步骤7:修改…

作者头像 李华
网站建设 2026/7/14 17:20:44

【脉宽调制DCDC功率变换学习笔记003】Buck变换器

1、降压DCDC变换器SPDT开关将输人电压Vs转换为矩形波作为理想低通滤波器的输人&#xff0c;如图 3.1所示。将进行傅里叶变换展开&#xff0c;可表示为直流分量和正弦谐波曲线的和&#xff1a;(3.3)式中&#xff0c;为直流分量&#xff1b;为的基频。直流分量为的平均值。(3.4)若…

作者头像 李华
网站建设 2026/7/14 17:20:46

视觉推理模型进化史:从CLEVR到TRANCE的5个关键突破点

视觉推理的范式演进&#xff1a;从静态问答到动态因果推断的深度解析 在人工智能的诸多分支中&#xff0c;视觉推理一直被视为通向“机器理解”的关键路径。它不仅仅是识别图像中的物体&#xff0c;更是要求模型理解物体间的空间关系、属性关联&#xff0c;并基于此进行逻辑推断…

作者头像 李华
网站建设 2026/7/14 17:20:43

鸿蒙开发必备:hpm-cli在Windows下的完整安装指南(含Node.js版本避坑)

鸿蒙设备开发&#xff1a;在Windows上驯服hpm-cli的完整实战手册 如果你是一名Windows开发者&#xff0c;想要涉足鸿蒙设备开发&#xff0c;那么hpm-cli这个工具链的安装&#xff0c;很可能就是你遇到的第一个“拦路虎”。官方文档和大量教程都以Ubuntu环境为主&#xff0c;这让…

作者头像 李华
网站建设 2026/7/14 17:20:44

红日靶场实战:从Weblogic漏洞到域控黄金票据的完整内网渗透

1. 靶场环境与攻击路径总览 大家好&#xff0c;我是老张&#xff0c;在安全圈摸爬滚打十来年&#xff0c;今天想和大家聊聊一次非常经典的内网渗透实战。咱们就拿“红日靶场”这个在圈内非常出名的训练环境来当例子&#xff0c;从头到尾走一遍攻击者的视角。很多新手朋友一听到…

作者头像 李华
网站建设 2026/7/14 17:20:47

uniapp分包实战:手把手教你优化小程序体积(附各平台大小限制)

Uniapp分包实战&#xff1a;从原理到实践&#xff0c;彻底解决小程序体积臃肿难题 你是否曾满怀信心地打包完你的Uniapp项目&#xff0c;准备上传到小程序平台时&#xff0c;却迎面撞上那个冰冷的红色提示——“主包大小超过限制&#xff0c;上传失败”&#xff1f;这几乎是每一…

作者头像 李华