Python零基础必学之内置函数、函数注释、异步函数详解

 更新时间:2026年08月25日 09:20:39   作者:青禾837  
还在为Python内置函数记不住而烦恼吗,本文详细讲解了abs、all、any、callable、dir、divmod、pow等常用函数的用法,并带你了解函数注释、异步函数和面向对象编程的基础知识,帮助你全面进阶Python

大家好,今天的内容涵盖四个相对独立但同样重要的知识点:常用内置函数的使用、函数注释的规范写法、异步函数的基础概念,以及面向对象编程的入门知识。这四个知识点在实际开发中各有其用武之地,掌握它们能让你对 Python 的理解更加全面。

一、常用内置函数

Python 提供了大量内置函数,这里选取几个实用但容易被忽视的函数进行讲解。

1.1 abs():绝对值

abs() 返回数字的绝对值,支持整数、浮点数和复数。

# 整数和浮点数
print(abs(-10))      # 10
print(abs(-3.14))    # 3.14

1.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([]))                     # True

1.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([]))                     # False

1.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 f"Hello, {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秒)
# World

3.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秒(而不是 3+2+1 = 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())   # 李四,清华大学,成绩:92

4.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()所有元素为真时返回 True
any()任意元素为真时返回 True
callable()判断对象是否可调用
dir()列出对象的属性和方法
divmod()返回 (商, 余数) 元组
pow()幂运算,支持取模
函数注释参数: 类型 和 -> 返回类型,提高可读性,辅助 IDE 提示
async/await异步编程,适用于 I/O 密集型任务
asyncio.run()运行异步函数的入口
asyncio.gather()并发执行多个协程
类对象的模板,用 class 定义
对象类的实例,通过 类名() 创建
__init__构造方法,初始化实例属性
self代表当前实例
类属性所有实例共享的属性
实例属性每个实例独有的属性

内置函数是 Python 提供的基础工具箱,熟练掌握能提高编码效率;函数注释让代码更清晰;异步函数是处理高并发 I/O 的有力工具;面向对象是组织大型项目的核心方式。这四个知识点覆盖了从工具使用到架构设计的多个层面,建议结合实际项目多练习。

以上就是Python零基础必学之内置函数、函数注释、异步函数详解的详细内容,更多关于Python内置函数的资料请关注脚本之家其它相关文章!

相关文章

  • python topN 取最大的N个数或最小的N个数方法

    python topN 取最大的N个数或最小的N个数方法

    今天小编就为大家分享一篇python topN 取最大的N个数或最小的N个数方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 利用ImageAI库只需几行python代码实现目标检测

    利用ImageAI库只需几行python代码实现目标检测

    这篇文章主要介绍了利用ImageAI库只需几行python代码超简实现目标检测功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 浅谈python中scipy.misc.logsumexp函数的运用场景

    浅谈python中scipy.misc.logsumexp函数的运用场景

    下面小编就为大家带来一篇浅谈python中scipy.misc.logsumexp函数的运用场景。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • python如何利用traceback获取详细的异常信息

    python如何利用traceback获取详细的异常信息

    异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置。这篇文章主要给大家介绍了关于python如何利用traceback获取详细的异常信息的相关资料,需要的朋友可以参考下
    2021-06-06
  • python之pexpect实现自动交互的例子

    python之pexpect实现自动交互的例子

    今天小编就为大家分享一篇python之pexpect实现自动交互的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现图片添加文字

    Python实现图片添加文字

    这篇文章主要为大家详细介绍了Python实现图片添加文字,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • 基于numpy.random.randn()与rand()的区别详解

    基于numpy.random.randn()与rand()的区别详解

    下面小编就为大家分享一篇基于numpy.random.randn()与rand()的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python数据分析之堆叠数组函数示例总结

    Python数据分析之堆叠数组函数示例总结

    这篇文章主要为大家介绍了Python数据分析之堆叠数组函数示例总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • python中利用队列asyncio.Queue进行通讯详解

    python中利用队列asyncio.Queue进行通讯详解

    asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 下面这篇文章主要给大家介绍了关于python中利用队列asyncio.Queue进行通讯的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-09-09
  • Python实现简单的索引排序与搜索功能

    Python实现简单的索引排序与搜索功能

    这篇文章主要介绍了Python实现简单的索引排序与搜索功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04

最新评论