尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Python进阶:内置函数、函数注解、异步编程与面向对象精讲
一、内置函数精选Python内置了丰富的函数库以下是最常用的几个1. 数值运算类print(abs(-5), abs(5)) # 5 5 print(pow(5, 3), 5**3) # 125 125 print(divmod(45, 7)) # (6, 3) 商和余数2. 逻辑判断类print(all([])) # True 空可迭代对象返回True print(all([0])) # False 存在假值 print(any([True])) # True print(any([])) # False3. 类型转换与自省print(chr(20013), ord(中)) # 中 20013 print(dir([])) # 查看列表所有属性和方法4. 动态执行s print(666) eval(s) # 执行字符串表达式二、函数注解Type Hints函数注解是Python 3.5引入的类型提示功能仅作提示不强制校验def my_add(x: int, y: int) - int: return x y print(my_add.__annotations__) # {x: class int, y: class int, return: class int} # 支持联合类型Python 3.10 def my_print(datas: list[int | str | float], obj: dict[str, str | int], n: int 100): print(datas, obj)三、异步函数async/await同步 vs 异步特性同步阻塞异步非阻塞执行方式顺序执行并发执行等待耗时操作阻塞后续代码可切换执行其他任务关键字无async/await异步示例import asyncio async def wake_up(): while True: print(醒醒啦) await asyncio.sleep(1) # 让出控制权 async def go_sleep(): while True: print(去睡觉) await asyncio.sleep(1) async def main(): # 并发执行多个协程 await asyncio.gather(wake_up(), go_sleep()) # 或批量启动 tasks [wake_up() for _ in range(10)] await asyncio.gather(*tasks) asyncio.run(main())注意异步函数返回的是协程对象需通过asyncio.run()或await启动。四、面向对象编程1. 类与实例class Person: 人类类型模板 pass p1 Person() # 创建实例 p2 Person() print(type(p1)) # class __main__.Person2. 初始化函数__init__class Person: def __init__(self, name, age): self.name name self.age age def get_name(self): return self.name def set_name(self, name): self.name name p Person(马云, 25) print(p.name) # 马云 p.set_name(马云云) print(p.get_name()) # 马云云3. 综合案例随机点与绘图import random import turtle class Point: def __init__(self, x, y): self.x x self.y y def get_x(self): return self.x def get_y(self): return self.y class Draw: def __init__(self, points): self.points points def draw_between_points(self): turtle.up() for i in range(len(self.points)): for j in range(i 1, len(self.points)): turtle.goto(self.points[i].get_x(), self.points[i].get_y()) turtle.down() turtle.goto(self.points[j].get_x(), self.points[j].get_y()) turtle.up() turtle.mainloop() # 生成3个随机点并绘制连线 points [Point(random.randint(-200, 200), random.randint(-200, 200)) for _ in range(3)] draw Draw(points) draw.draw_between_points()
RELATED

相关推荐

Java中Double保留小数位数的五种方法:从格式化展示到高精度计算

Java中Double保留小数位数的五种方法:从格式化展示到高精度计算

1. 项目概述:为什么“保留小数”是个技术活?刚入行的朋友可能会觉得,给一个Double类型的数字保留几位小数,不就是调个方法的事儿吗?用String.format或者DecimalFormat一下不就搞定了?在实际项目中踩过几次坑…

📅 2026/8/22 15:37:42
IEEE 802.3标准全解析:从千兆到PoE++,网络工程师的物理层实战指南

IEEE 802.3标准全解析:从千兆到PoE++,网络工程师的物理层实战指南

1. 项目概述:从“以太网”到“IEEE 802.3”的认知跃迁提到“以太网”,几乎每个和网络打交道的人都能说上两句。但如果说“IEEE 802.3”,很多人的第一反应可能就是翻开标准文档,或者觉得这是硬件工程师才需要关心的底层细节。实际上…

📅 2026/9/5 5:26:30
【C语言进阶】:从定义、调用函数到递归与数组传参

【C语言进阶】:从定义、调用函数到递归与数组传参

五、函数函数是C语言程序的基本构建块,它能够:降低程序的耦合性(关联度),减少重复代码;让程序模块化,增强代码的复用性。1. 函数定义函数的具体实现:返回值 函数名(形参表…

📅 2026/8/31 22:21:22
MORE NEWS

更多资讯

📰

搞懂月球自转周期,手写实现天体同步算法

搞懂月球自转周期,手写实现天体同步算法 你复制的那段模拟代码跑起来就报错,变量名对不上,逻辑更是乱成一锅粥,根本不知道怎么调?别急着删库,问题往往出在底层逻辑没搞清。今天咱们不背公式,直接上手,通过 手写实现…

📰

Webots机器人开发环境搭建与多机械臂协同仿真实战

1. 为什么选Webots?——不是“又一个仿真工具”,而是工程师手里的物理沙盒你搜“机器人仿真平台选择”,页面上跳出来的全是ROSGazebo、V-REP(现在叫CoppeliaSim)、MATLAB Simulink、还有UnityROS插件。但真正坐下来搭一…

📰

Bright Data CLI 装成 Codex Skill,模型请求这侧改走 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

QGroundControl二次开发:从源码编译到自定义功能实战

1. 为什么值得折腾QGC二次开发QGC地面站(QGroundControl)在无人机圈子里基本是绕不开的工具。不管你是飞PX4还是ArduPilot固件,QGC都是最主流的航线规划、参数调试、固件烧录平台。但很多人用着用着就会发现,官方版本虽然稳定&…

📰

SpringBoot+Vue白酒销售系统开发与协同过滤算法实践

1. 项目概述与核心价值黔醉酒业白酒销售系统是一个典型的B2B电商平台解决方案,采用SpringBootVue前后端分离架构,核心特色是集成了协同过滤推荐算法。这个项目特别适合计算机相关专业学生作为毕业设计或课程设计的选题,也适合Java开发者作为全…

📰

魔兽血精灵源码解析:3个致命坑让你少走弯路

魔兽血精灵源码解析:3个致命坑让你少走弯路 报错堆满屏幕,StackTrace 看得人头皮发麻,连个断点都打不准位置。这种时候,别急着改代码,先打开源码看看底层到底在干嘛。很多人卡在“魔兽血精灵”相关的渲染逻辑或数据同步上,以为是自己业务逻…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬