python内置函数 A

python内置函数 A

Python 解释器内置了很多函数和类型,任何时候都能使用。

A

名称描述
abs返回一个数的绝对值。
aiter返回对象的异步迭代器。
all所有元素均为真值(或可迭代对象为空)则返回 True
anext获取异步迭代器中的下一个异步项。
any任一元素为真值则返回 True
ascii返回一个表示单个字符或可转换为 ASCII 的对象的字符串。
abs(x)

返回一个数的绝对值。 参数可以是整数、浮点数或任何实现了_abs_() 的对象。 如果参数是一个复数,则返回它的模。

print(abs(-10))         # 10
print(abs(10))          # 10
print(abs(-10+2j))      # 10.198039027185569
print(abs(-10.2))       # 10.2
aiter(async_iterable)

接受一个异步可迭代对象作为参数,并返回该对象的异步迭代器。返回 asynchronous iterable的 asynchronous iterator。相当于调用 x.__aiter__()

注意:与 iter()不同,aiter()没有两个参数的版本。

在 3.10 版本加入。

import asyncio

class AsyncIterable:
    async def __aiter__(self):
        for i in range(5):
            await asyncio.sleep(1) # 模拟异步操作
            yield i


async def main():
    async_iterable = AsyncIterable()
    async_iter = aiter(async_iterable) # 使用 aiter() 获取异步迭代器

    async for value in async_iter:
        print(value)

asyncio.run(main())

在上面的示例中,我们定义了一个 AsyncIterable 类,它实现了 __aiter__ 方法,使其成为一个异步可迭代对象。在 main() 函数中,我们创建了 AsyncIterable 的一个实例,并使用 aiter() 函数获取其异步迭代器。然后,我们使用 async for 循环遍历异步迭代器,并打印每个值。

all(iterable)

如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True

s = []
all(s) # True
s = ''
all(s) # True
# set()、dict()也都为True
s = [1, 2, 0]
all(s) # False

# all等价于:
def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True
anext(async_iterator)

awaitable anext(async_iterator)

awaitable anext(async_iterator, default)

anext() 是 Python 中的一个内置函数,用于获取异步迭代器中的下一个异步项。

当进入 await 状态时,从给定 asynchronous iterator 返回下一数据项,迭代完毕则返回 default

这是内置函数 next() 的异步版本,类似于:

调用 async_iterator__anext__() 方法,返回一个 awaitable。等待返回迭代器的下一个值。若有给出 default,则在迭代完毕后会返回给出的值,否则会触发 StopAsyncIteration

在 3.10 版本加入.

import asyncio

class AsyncIterable:
    async def __aiter__(self):
        for i in range(5):
            await asyncio.sleep(1) # 模拟异步操作
            yield i


async def main():
    async_iterable = AsyncIterable()
    # async_iter = aiter(async_iterable) # 使用 aiter() 获取异步迭代器
    async_iter = async_iterable.__aiter__() # 使用 aiter() 可以使代码更加清晰和一致

    try:
        while True:
            value = await anext(async_iter) # 使用 anext() 获取下一个异步项
            print(value)
    except StopAsyncIteration:
        print('迭代结束')

asyncio.run(main())

在这个例子中,我们定义了一个 AsyncIterable 类,它实现了 __aiter__ 方法,使其成为一个异步可迭代对象。在 main() 函数中,我们创建了 AsyncIterable 的一个实例,并直接调用其 __aiter__ 方法来获取异步迭代器。然后,我们使用一个无限循环和 anext() 来异步地遍历迭代器中的每个项,直到迭代器耗尽并引发 StopAsyncIteration 异常为止。

any(iterable)

如果 iterable 的任一元素为真值则返回 True。 如果可迭代对象为空,返回 False

s = []
any(s) # False
s = ''
any(s) # False
# set()、dict()也都为False
s = [1, 2, 0]
any(s) # True
s = [0]
any(s) # False

# all等价于:
def any(iterable):
    for element in iterable:
        if not element:
            return True
    return False
ascii(object)

repr() 类似,返回一个包含对象的可打印表示形式的字符串,但是使用 \x\u\Urepr() 返回的字符串中非 ASCII 编码的字符进行转义。生成的字符串和 Python 2 的 repr() 返回的结果相似。

# 转换单个字符为ASCII  
print(ascii('A'))  # 输出: 'A'  
  
# 转换字符串为ASCII  
print(ascii('Hello, World!'))  # 输出: 'Hello, World!'  
  
# 转换特殊字符为ASCII  
print(ascii('\t'))  # 输出: '\t'  
print(ascii('\n'))  # 输出: '\n'  
  
# 转换数字为ASCII(数字直接转换为字符串形式)  
print(ascii(1))  # 输出: '1' 
print(ascii(123))  # 输出: '123'  
  
# 转换包含非ASCII字符的字符串  
print(ascii('你好'))  # 输出: "'\u4f60\u597d'"  
  
# 转换列表(注意:列表本身不会被转换为ASCII,而是其内容的可打印表示)  
print(ascii([1, 'a', '\n']))  # 输出: "[1, 'a', '\n']"

ascii() 函数不会改变原始对象,它只是返回一个表示该对象的字符串。

参考:内置函数 — Python 3.12.2 文档

  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棠越

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值