Python基础必备之最新的73个内置函数(1)

Python 解释器内置了很多函数和类型(一共73个内置函数),任何时候都能使用。本篇将介绍第1到第10个内置函数的作用、特性以及详细的使用方法,并给出对应的代码示例。

注意:本代码示例均在当前最新版本Python3.11上运行的结果。

Python专栏:https://blog.csdn.net/zhouruifu2015/category_5742543.html

文章清单:

Python基础之最新的73个内置函数(1)

Python基础之最新的73个内置函数(2)

Python基础之最新的73个内置函数(3)

Python基础之最新的73个内置函数(4)

Python基础之最新的73个内置函数(5)

Python基础之最新的73个内置函数(6)

Python基础之最新的73个内置函数(7)

弄清楚一些基本概念

在开始之前首先弄清楚一些基础概念,如什么是内置函数,什么是内置命名空间,什么是内置库(标准库),什么是第三方库,什么是内置类型,了解它们的含义和用法,有助于开发者更好地使用Python编程。

在Python中,内置函数、内置命名空间、内置库、第三方库和内置类型都是常见的概念,下面我们来详细介绍一下它们。

1. 内置函数(Built-in Functions)

内置函数是指Python解释器中已经定义好的函数。这些函数可以直接使用,无需导入任何模块。例如,`print()`、`len()`、`type()`等都是内置函数。

2. 内置命名空间(Built-in Namespace)

内置命名空间是Python解释器中的一个命名空间,其中包含了Python解释器中已经定义好的名称。当Python解释器启动时,会自动加载这些名称。例如,`None`、`True`、`False`、`int`、`str`等都是内置命名空间中的名称。

3. 内置库(Standard Library)

内置库是指Python自带的标准库,包含了大量常用的模块和函数,例如`os`、`sys`、`re`、`math`、`random`等。这些模块和函数可以直接import进来使用,无需下载或安装。

4. 第三方库(Third-party Library)

第三方库是指由第三方开发者编写的Python库。这些库可以通过pip或conda等包管理工具进行下载和安装,例如`numpy`、`pandas`、`matplotlib`、`django`等。即需要pip install安装后才能使用的都是第三方库。

5. 内置类型(Built-in Types)

内置类型是指Python解释器中已经定义好的类型。例如,`int`、`float`、`str`、`list`、`tuple`、`dict`等都是内置类型。这些类型可以直接使用,无需导入任何模块。

abs()

Python内置函数abs()用于返回一个数的绝对值的内置函数, 它可以用于整数、浮点数和复数等数值类型的值。在使用abs()函数时,需要注意参数的类型,确保参数是一个数值类型的值。在本文中,我们将介绍abs()函数的使用方法和示例。

使用方法

abs()函数的语法如下:

abs(x)

其中,x为一个数值类型的参数,可以是整数、浮点数或复数。

返回值

abs()函数返回参数x的绝对值。如果x为正数,则返回x本身;如果x为负数,则返回x。

示例

以下是一些使用abs()函数的示例:

# 整数

print(abs(5))  # 5

print(abs(-5))  # 5

# 浮点数

print(abs(3.14))  # 3.14

print(abs(-3.14))  # 3.14

# 复数

print(abs(3+4j))  # 5.0

print(abs(-3+4j))  # 5.0

在以上示例中,我们分别使用了整数、浮点数和复数作为参数,得到了它们的绝对值。可以看到,对于正数,abs()函数返回其本身;对于负数,abs()函数返回其绝对值;对于复数,abs()函数返回其模长(即复数的绝对值)。

注意事项

需要注意的是,如果参数不是数值类型,则会引发TypeError异常。因此,在使用abs()函数时,需要确保参数是一个数值类型的值。

aiter()

1. 作用

aiter()函数用于获取异步可迭代对象的迭代器。异步可迭代对象是一种支持异步迭代的对象,它的__aiter__()方法返回一个异步迭代器。

2. 特性

- aiter()函数的参数必须是异步可迭代对象。

- aiter()函数返回一个异步迭代器对象。

3. 详细用法

示例代码:

# aiter()函数的使用示例
import asyncio

async def async_generator():
    for i in range(3):
        yield i
        await asyncio.sleep(1)

async def main():
    async for i in async_generator():
        print(i)

async def test():
    async_iter = async_generator().__aiter__()
    while True:
        try:
            value = await async_iter.__anext__()
            print(value)
        except StopAsyncIteration:
            break

asyncio.run(main())
asyncio.run(test())

在上面的示例代码中,我们定义了一个异步生成器async_generator(),它每隔1秒钟产生一个数字,并使用async for循环和异步生成器进行异步迭代。我们还定义了一个test()函数,使用aiter()函数获取异步可迭代对象的迭代器,并使用anext()函数逐个获取异步生成器产生的数字。

all()

Python内置函数all()是一个非常有用的内置函数,用于判断一个可迭代对象中的所有元素是否都为True。如果是,则返回True,否则返回False。在本文中,我们将介绍all()函数的用法及示例。

语法

all(iterable)

参数说明:

- iterable:可迭代对象,如列表、元组、集合、字典等。

返回值:

- 如果iterable中所有元素都为True,则返回True;否则返回False。

注意:如果iterable为空,则all()函数将返回True。

示例

以下示例演示了如何使用all()函数:

1. 判断列表中所有元素是否都为正数:

lst = [1, 2, 3, 4, 5]

print(all(x > 0 for x in lst))  # True

2. 判断元组中所有元素是否都为偶数:

tup = (2, 4, 6, 8, 10)

print(all(x % 2 == 0 for x in tup))  # True

3. 判断集合中所有元素是否都为小写字母:

s = {'a', 'b', 'c', 'd'}

print(all(x.islower() for x in s))  # True

4. 判断字典中所有值是否都为正数:

d = {'a': 1, 'b': 2, 'c': -3, 'd': 4}

print(all(x > 0 for x in d.values()))  # False

5. 判断空列表是否为True:

lst = []

print(all(lst))  # True

6. 判断列表中的None是否为False:

print(all([None]))  # False

any()

Python内置函数any()用于判断一个可迭代对象中是否存在任意一个元素为True。如果存在,则返回True,否则返回False。在本文中,我们将介绍any()函数的用法及示例。

语法

any(iterable)

参数说明:

- iterable:可迭代对象,如列表、元组、集合、字典等。

返回值:

- 如果iterable中存在任意一个元素为True,则返回True;否则返回False。

注意:如果iterable为空,则any()函数将返回False。

示例

以下示例演示了如何使用any()函数:

1. 判断列表中是否存在负数:

lst = [1, 2, -3, 4, 5]

print(any(x < 0 for x in lst))  # True

2. 判断元组中是否存在奇数:

tup = (2, 4, 6, 8, 9)

print(any(x % 2 == 1 for x in tup))  # True

3. 判断集合中是否存在大写字母:

s = {'a', 'B', 'c', 'd'}

print(any(x.isupper() for x in s))  # True

4. 判断字典中是否存在负数:

d = {'a': 1, 'b': 2, 'c': -3, 'd': 4}

print(any(x < 0 for x in d.values()))  # True

5. 判断空列表是否为True:

lst = []

print(any(lst))  # False

anext()

1. 作用

anext()函数用于获取异步迭代器的下一个值。异步迭代器是一种支持异步迭代的对象,它的__anext__()方法返回一个异步可等待对象,当异步可等待对象完成时,返回下一个值。

2. 特性

- anext()函数的参数必须是异步迭代器对象。

- anext()函数返回一个异步可等待对象,当异步可等待对象完成时,返回下一个值。

- 如果异步迭代器没有下一个值,anext()函数会抛出StopAsyncIteration异常。

3. 详细用法

示例代码:

# anext()函数的使用示例
import asyncio

async def async_generator():
    for i in range(3):
        yield i
        await asyncio.sleep(1)

async def main():
    async for i in async_generator():
        print(i)

async def test():
    async_iter = async_generator().__aiter__()
    while True:
        try:
            value = await asyncio.wait_for(async_iter.__anext__(), timeout=1)
            print(value)
        except StopAsyncIteration:
            break
        except asyncio.TimeoutError:
            print("Timeout")

asyncio.run(main())
asyncio.run(test())

在上面的示例代码中,我们定义了一个异步生成器async_generator(),它每隔1秒钟产生一个数字,并使用async for循环和异步生成器进行异步迭代。我们还定义了一个test()函数,使用aiter()函数获取异步可迭代对象的迭代器,并使用anext()函数逐个获取异步生成器产生的数字,如果等待时间超过1秒钟,会抛出TimeoutError异常。

ascii()

Python内置函数ascii()可以将一个对象转换为其ASCII字符表示,返回一个表示对象的可打印ASCII字符的字符串,如果对象中包含非ASCII字符,则会使用\x、\u或\U转义字符来表示,在使用时,需要注意是否需要转义非ASCII字符。在本文中,我们将介绍ascii()函数的用法及示例。

语法

ascii(obj)

参数说明:

- obj:要转换的对象。

返回值:

- 返回一个字符串,表示对象的ASCII字符表示。

示例

以下示例演示了如何使用ascii()函数:

1. 将字符串转换为ASCII字符表示:

s = "Hello, 世界"

print(ascii(s))  # 'Hello, \u4e16\u754c'

2. 将列表中的元素转换为ASCII字符表示:

lst = ["Hello", "世界"]

print([ascii(x) for x in lst])  # ["'Hello'", "'\\u4e16\\u754c'"]

3. 将字典中的值转换为ASCII字符表示:

d = {"Hello": "世界", "Python": "中文"}

print({k: ascii(v) for k, v in d.items()})  # {'Hello': "'\\u4e16\\u754c'", 'Python': "'\\u4e2d\\u6587'"}

4. 将集合中的元素转换为ASCII字符表示:

s = {"Hello", "世界"}

print({ascii(x) for x in s})  # {"'\\u4e16\\u754c'", "'Hello'"}

bin()

函数bin()是Python内置函数之一,用于将整数转换为二进制字符串。其基本语法如下:

bin(x)

其中,x是一个整数,返回值是一个表示x的二进制字符串,字符串的前缀是"0b"。

例如,对于整数10,bin(10)的返回值是"0b1010",其中"1010"是10的二进制表示。

除了整数,bin()函数还可以接受其他类型的参数,但是在转换时会先将其转换为整数。如果参数不是整数或无法转换为整数,则会抛出TypeError异常。

如下错误的用法:

bin('10')  # TypeError: 'str' object cannot be interpreted as an integer

bin(010)  # SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

下面是bin()函数的一些常见用法:

1. 将整数转换为二进制字符串

bin(10)  # 返回值是'0b1010'

bin(20)  # 返回值是'0b10100'

2. 将二进制字符串转换为整数

int('0b1010', 2)  # 返回值是10

int('0b10100', 2)  # 返回值是20

3. 将整数转换为八进制字符串

oct(10)  # 返回值是'0o12'

oct(20)  # 返回值是'0o24'

4. 将整数转换为十六进制字符串

hex(10)  # 返回值是'0xa'

hex(20)  # 返回值是'0x14'

bool()

函数bool()是Python内置函数之一,用于将一个值转换为布尔类型。其基本语法如下:

bool(x)

其中,x是要转换的值,返回值是True或False。如果x是一个真值(非零、非空、非空字符串、非空列表、非空字典等),返回True;否则返回False。

下面是bool()函数的一些常见用法:

1. 判断一个值是否为真

bool(10)  # 返回值是True

bool('hello')  # 返回值是True

bool([])  # 返回值是False

bool(0)  # 返回值是False

2. 将一个值转换为布尔类型

bool(10)  # 返回值是True

bool('')  # 返回值是False

bool(None)  # 返回值是False

3. 判断一个列表是否为空

lst = [1, 2, 3]
if lst:
    print('列表不为空')
else:
    print('列表为空')

4. 判断一个字典是否为空

dct = {'a': 1, 'b': 2}
if dct:
    print('字典不为空')
else:
    print('字典为空')

breakpoint()

1. 作用

breakpoint()函数用于在代码中设置断点,以便在调试程序时进行交互式调试。它会在调用位置打开一个交互式调试器,可以查看变量的值、执行代码、设置断点等。

2. 特性

- breakpoint()函数可以在Python 3.7及以上版本中使用。

- breakpoint()函数可以在任何位置设置断点,包括函数、类、模块等。

- breakpoint()函数默认使用pdb调试器,也可以使用其他调试器。

3. 详细用法

示例代码:

# breakpoint()函数的使用示例
def func(a, b):
    c = a + b
    breakpoint()  # 在此处设置断点
    return c

x = 1
y = 2
z = func(x, y)
print(z)

在上面的示例代码中,我们定义了一个函数func(),在函数中使用breakpoint()函数设置了一个断点。当程序运行到断点处时,会打开一个交互式调试器,可以查看变量的值、执行代码、设置断点等。我们还定义了三个变量x、y、z,并调用函数func(),最终输出函数的返回值。

需要注意的是,如果程序运行在非交互式环境中,比如在命令行中运行脚本或在生产环境中运行程序,breakpoint()函数会被忽略,程序会继续执行。

bytearray()

函数bytearray()是Python内置函数之一,用于创建一个可修改的字节数组对象。其基本语法如下:

bytearray([source[, encoding[, errors]]])

其中,source是可选参数,可以是一个字符串、一个字节序列、一个可迭代对象或一个整数,用于初始化字节数组的值;encoding是可选参数,用于指定字符串的编码方式;errors是可选参数,用于指定编码时的错误处理方式。

如果没有提供source参数,则返回一个空的字节数组对象。

下面是bytearray()函数的一些常见用法:

from inner_module_def_datastruct import WEIXIN_URL
# 1. 创建一个空的字节数组对象
bt = bytearray()
print(bt, type(bt)) # bytearray(b'') <class 'bytearray'>

# 2. 通过一个字符串初始化字节数组
bt = bytearray(WEIXIN_URL, 'utf-8')
print(bt) # bytearray(b'https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q')

# 3. 通过一个字节序列初始化字节数组
bt = bytearray(b'\x01\x02\x03')
print(bt) # bytearray(b'\x01\x02\x03')

# 4. 通过一个可迭代对象初始化字节数组
bt = bytearray([1, 2, 3])
print(bt) # bytearray(b'\x01\x02\x03')

# 5. 通过一个整数指定字节数组的长度
bt = bytearray(5)
print(bt) # bytearray(b'\x00\x00\x00\x00\x00')

# 6. 修改字节数组中的值
bt[0] = 10
print(bt) # bytearray(b'\n\x00\x00\x00\x00')

参考阅读:

Python专栏:https://blog.csdn.net/zhouruifu2015/category_5742543.html

SteveRocket的博客_CSDN博客-Django进阶,Python进阶,网络&信息安全领域博主SteveRocket擅长Django进阶,Python进阶,网络&信息安全,等方面的知识https://blog.csdn.net/zhouruifu2015/


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接



关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SteveRocket

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

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

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

打赏作者

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

抵扣说明:

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

余额充值