当前位置: 首页 > news >正文

成为大佬第十六天(函数进阶)

1.函数的注释

基本语法:

def 函数名(参数名: 类型) -> 返回值类型: pass

类型错误,不会报错,会继续输出,但会警告

def f1(a :int)->int: return a print(f1("t"))

参数名:类型 | 类型 “|” 表示 或

def f1(a:int,b:float|int) -> int|float: print(a,b) return a + b f1(3,5.5)

不同数据结构参数类型表达不同

def f2(data:list[str|int],obj:dict[str,int],n : int = 5): print(data, obj,n) f2([3,6,"a"],{"id" : 101},7)

2.异步函数

异步函数是用于并发执行 I/O 密集型任务,提高程序效率。

例:代码运行会永远执行函数wake_up;因此为了并发执行,提高程序速率,我们使用异步函数

import time def wake_up(): while True: print(f"醒醒啦") time.sleep(1) def go_sleep(): while True: print(f"去睡觉") time.sleep(1) def main(): wake_up() go_sleep() main()
async def 函数名() 异步 await(等待) asyncio.sleep(1) 等待一秒执行 asyncio.run()通过asyncio来启动协程

三个都是必不可少!

import asyncio async def wake_up(): while True: print(f"醒醒啦") await asyncio.sleep(1) async def go_sleep(): while True: print(f"去睡觉") await asyncio.sleep(1) async def go_to_school(): while True: print(f"去上学") await asyncio.sleep(1) async def main(): c1 = wake_up() c2 = go_sleep() c3 = go_to_school() await asyncio.gather(c1, c2, c3) asyncio.run(main())

3.面向对象

面向函数编程是一种以函数为核心的编程范式,即函数可以像变量一样被传递、赋值和返回。

类是面向对象编程(OOP)的核心概念,可以理解为创建对象的蓝图或模板

class Person: """人类""" pass # 创建实例(对象) p1 = Person() print(p1,type(p1)) # <class '__main__.Person'>

4.初始化函数

类的核心组成部分:

__init__()— 构造函数

在创建对象时自动调用,用于初始化对象属性

self— 指向当前实例

self表示当前对象自身,所有实例方法都必须有self参数。

基本语法:

class 类名: # 初始化方法(构造函数) def __init__(self, 参数1, 参数2): """初始化实例""" self.属性1 = 参数1 # 实例属性 self.属性2 = 参数2 # 实例方法 def 方法名(self): """实例方法""" return self.属性1

例:

class Person: def __init__(self, name, age): # 给self实例添加数据name self.name = name self.age = age def get_name(self): return self.name def set_name(self, name): self.name = name def get_age(self): return self.age def set_age(self, age): self.age = age # 类内的self 完全等同于类外的实例名 # 执行类 就是执行类的初始化函数 p1 = Person("li", 25) print(p1.name, p1.age) p1.set_name("ti") print(p1.name, p1.get_name()) p1.set_age(250) print(p1.get_age())
http://www.jsqmd.com/news/1305105/

相关文章:

  • Minecraft基岩版PPT模组开发:v0.0.3功能实现与性能优化指南
  • G-Helper终极指南:华硕笔记本轻量控制的完整解决方案
  • USB PD物理层通信基石:4B/5B编码原理与工程实践
  • AI图片艺术化处理必须掌握的4类不可逆损伤预警机制——基于百万张训练集图像退化轨迹建模
  • 排针排母连接器选型、设计与焊接全攻略:从原理到实战避坑
  • 南阳正规防水补漏优选名录 TOP6 整理!卫生间地下室阳台渗漏水检测维修资深补漏师傅推荐(2026新) - 北京金修达天津维修部
  • 2026年滚珠丝杆电动推杆供应商选择:高精度传动、重载静音与智能控制的技术维度剖析 - 优企名品
  • ISP图像调校核心:ISO感光度、CRA主光线角度与景深原理及实战
  • 如何快速完成语雀文档迁移:免费开源工具的完整指南
  • 3种内容管理场景下的抖音批量下载解决方案:douyin-downloader深度解析
  • 佛山正规防水补漏精选榜单 TOP6 汇总!卫生间地下室阳台渗漏水检测维修本地堵漏师傅推荐(2026新) - 北京金修达天津维修部
  • Snipaste:从截图到生产力,打造高效屏幕信息处理工作流
  • Logisim实战:从补码运算到汉明码,打通计算机数据表示实验
  • Hive数据仓库实战:从核心原理到性能调优与生产运维
  • 《炼金与魔法》评测:双人联机沙盒游戏的炼金系统与协作玩法
  • 2026年玻纤布供应厂家实力解析:防火、耐高温、防腐及电子级玻纤布专业选型参考 - 优企名品
  • 易语言实现CreateWindowExA的Inline Hook:原理、实现与避坑指南
  • 2026年双流混凝土搅拌站厂家地址全解析:质量与服务综合评估推荐 - 优质品牌商家
  • Android ADB USB Socket通信:原理、实战与避坑指南
  • AI Agent 蜂群协作与经验基因化:从单体执行到自组织系统的工程路径
  • 深入解析PCIe总线:从架构原理到故障排查的完整指南
  • AI工具可以辅助哪些法律合规工作?六类高频应用场景解析
  • 选择重传协议:从滑动窗口到TCP SACK的可靠传输核心
  • AI内容检测工具测评:跨学科实战与应用指南
  • IINA播放器终极指南:macOS上最现代化的免费视频播放解决方案
  • SEATA AT模式:分布式事务原理与实践指南
  • [SECS/GEM研究] (五) SECS-II 是什么
  • SolidWorks外挂插件实战:21合1工具提升3倍建模效率
  • 2026年7月评价高的包装膜源头厂家口碑推荐,PE包装袋/打孔水果礼盒内袋/冷冻产品纸箱内袋,包装膜源头厂家口碑推荐 - 品牌推荐师
  • 高压大功率场景下MOS管串联技术:均压、驱动与工程实践全解析