Python 内置函数、函数注释、异步函数与面向对象入门

Python 内置函数、函数注释、异步函数与面向对象入门
大家好,今天的内容涵盖四个相对独立但同样重要的知识点常用内置函数的使用、函数注释的规范写法、异步函数的基础概念以及面向对象编程的入门知识。这四个知识点在实际开发中各有其用武之地掌握它们能让你对 Python 的理解更加全面。一、常用内置函数Python 提供了大量内置函数这里选取几个实用但容易被忽视的函数进行讲解。1.1 abs()绝对值abs()返回数字的绝对值支持整数、浮点数和复数。# 整数和浮点数 print(abs(-10)) # 10 print(abs(-3.14)) # 3.141.2 all()全部为真all()接收一个可迭代对象当所有元素都为True时返回True否则返回False。# 所有元素为真 print(all([True, True, True])) # True print(all([1, 2, 3])) # True # 存在假值 print(all([True, False, True])) # False print(all([1, 0, 3])) # False # 空可迭代对象返回 True print(all([])) # True1.3 any()存在为真any()接收一个可迭代对象当任意一个元素为True时返回True否则返回False。# 存在真值 print(any([False, False, True])) # True print(any([0, 0, 1])) # True # 所有元素为假 print(any([False, False, False])) # False print(any([0, 0, 0])) # False # 空可迭代对象返回 False print(any([])) # False1.4 callable()判断是否可调用callable()判断一个对象是否可以被调用即是否可以像函数一样使用()调用。只有函数和类可以被调用print(callable(100)) f lambda :print(666) print(callable(f)) f()1.5 dir()查看对象的属性和方法dir()返回对象的所有属性和方法列表是调试时非常有用的工具。# 查看字符串的方法 print(dir(hello)) # [__add__, __class__, __contains__, ... upper, zfill]1.6 divmod()返回商和余数divmod(a, b)返回一个元组(a // b, a % b)即商和余数。# 基本用法 print(divmod(10, 3)) # (3, 1) 10 // 3 3, 10 % 3 1 print(divmod(17, 5)) # (3, 2)1.7 pow()幂运算pow(base, exp, mod)返回base的exp次方如果指定了mod则返回(base ** exp) % mod。# 基本幂运算 print(pow(2, 3)) # 8 相当于 2 ** 3 print(pow(5, 2)) # 25二、函数注释函数注释Type Hints是 Python 3.5 引入的特性用于为函数参数和返回值添加类型信息提高代码的可读性和可维护性。基本语法:def 函数名(参数名: 类型, 参数名: 类型 默认值) - 返回值类型: 函数文档字符串 pass # 基本类型注释 def greet(name: str) - str: return fHello, {name} def add(a: int, b: int) - int: return a b # 调用 print(greet(张三)) # Hello, 张三 print(add(3, 5)) # 8三、异步函数 async / await异步编程是用于编写并发代码特别适合 I/O 密集型任务网络请求、数据库操作、文件读写等。3.1 基本概念概念说明async def定义异步函数协程await等待一个异步操作完成asyncioPython 内置的异步 I/O 库事件循环调度和管理多个协程的核心机制3.2 基本用法import asyncio # 定义异步函数 async def say_hello(): print(Hello) await asyncio.sleep(1) # 模拟耗时操作 print(World) # 运行异步函数需要事件循环 # Python 3.7 asyncio.run(say_hello()) # 输出 # Hello # (等待1秒) # World3.3 多个异步任务并发执行import asyncio import time async def task(name: str, delay: int): print(f任务 {name} 开始) await asyncio.sleep(delay) print(f任务 {name} 完成 (耗时 {delay}秒)) return f{name} 的结果 async def main(): # 创建多个任务并发执行 tasks [ task(A, 3), task(B, 2), task(C, 1) ] start time.time() results await asyncio.gather(*tasks) # 并发执行所有任务 print(f所有结果: {results}) print(f总耗时: {time.time() - start:.2f}秒) asyncio.run(main()) # 输出 # 任务 A 开始 # 任务 B 开始 # 任务 C 开始 # 任务 C 完成 (耗时 1秒) # 任务 B 完成 (耗时 2秒) # 任务 A 完成 (耗时 3秒) # 所有结果: [A 的结果, B 的结果, C 的结果] # 总耗时: 3.00秒而不是 321 6秒四、面向对象与初始化对象面向对象编程OOP是 Python 的核心编程范式之一通过类和对象来组织代码。4.1 类与对象的基本概念概念说明示例类对象的模板或蓝图class Person:对象类的具体实例p Person()属性对象的特征或数据p.name 张三方法对象的行为或功能p.greet()4.2 定义类和创建对象# 定义类 class Person: 人类 species 人类 # 类属性所有实例共享 # 初始化方法构造方法 def __init__(self, name: str, age: int): self.name name # 实例属性 self.age age # 实例方法 def greet(self) - str: return f你好我是 {self.name}今年 {self.age} 岁 def birthday(self): self.age 1 print(f{self.name} 过生日了现在 {self.age} 岁) # 创建对象实例化 p1 Person(张三, 25) p2 Person(李四, 30) # 访问属性和方法 print(p1.name) # 张三 print(p1.greet()) # 你好我是 张三今年 25 岁 p1.birthday() # 张三 过生日了现在 26 岁 print(p2.name) # 李四 print(p2.greet()) # 你好我是 李四今年 30 岁 # 访问类属性 print(Person.species) # 人类 print(p1.species) # 人类4.3__init__方法详解__init__是类的构造方法在创建对象时自动调用用于初始化对象的属性。class Student: def __init__(self, name: str, score: int, school: str 北京大学): self.name name self.score score self.school school def info(self) - str: return f{self.name}{self.school}成绩{self.score} # 创建对象时传入参数 s1 Student(张三, 85) s2 Student(李四, 92, 清华大学) print(s1.info()) # 张三北京大学成绩85 print(s2.info()) # 李四清华大学成绩924.4self参数的含义self代表当前实例对象在实例方法中通过self访问实例的属性和其他方法。class Car: def __init__(self, brand: str, speed: int 0): self.brand brand self.speed speed def accelerate(self, amount: int): self.speed amount print(f{self.brand} 加速到 {self.speed} km/h) def brake(self, amount: int): self.speed max(0, self.speed - amount) print(f{self.brand} 减速到 {self.speed} km/h) # 每个实例都有自己的状态 car1 Car(宝马, 0) car2 Car(奔驰, 0) car1.accelerate(50) # 宝马 加速到 50 km/h car2.accelerate(80) # 奔驰 加速到 80 km/h car1.brake(20) # 宝马 减速到 30 km/h print(car1.speed) # 30 print(car2.speed) # 80五、总结知识点核心要点abs()返回数字的绝对值all()所有元素为真时返回 Trueany()任意元素为真时返回 Truecallable()判断对象是否可调用dir()列出对象的属性和方法divmod()返回 (商, 余数) 元组pow()幂运算支持取模函数注释参数: 类型和- 返回类型提高可读性辅助 IDE 提示async/await异步编程适用于 I/O 密集型任务asyncio.run()运行异步函数的入口asyncio.gather()并发执行多个协程类对象的模板用class定义对象类的实例通过类名()创建__init__构造方法初始化实例属性self代表当前实例类属性所有实例共享的属性实例属性每个实例独有的属性内置函数是 Python 提供的基础工具箱熟练掌握能提高编码效率函数注释让代码更清晰异步函数是处理高并发 I/O 的有力工具面向对象是组织大型项目的核心方式。这四个知识点覆盖了从工具使用到架构设计的多个层面建议结合实际项目多练习。如果觉得这篇内容对你有帮助欢迎收藏备用。