Python 内置函数常用示例与用法详解
本文列举了 Python 内置函数的常见用法,包括类型转换、数值运算、字符串处理、对象属性检查及迭代工具等。内容涵盖 bin、oct、hex 进制转换,str、int、float 类型转换,dict、set、tuple 数据结构创建,以及 id、type、dir 等对象查询方法。同时补充了 sorted、sum、eval、input 等实用函数的代码示例,旨在帮助开发者快速熟悉 Python 标准库 API 并提升编码效率。

本文列举了 Python 内置函数的常见用法,包括类型转换、数值运算、字符串处理、对象属性检查及迭代工具等。内容涵盖 bin、oct、hex 进制转换,str、int、float 类型转换,dict、set、tuple 数据结构创建,以及 id、type、dir 等对象查询方法。同时补充了 sorted、sum、eval、input 等实用函数的代码示例,旨在帮助开发者快速熟悉 Python 标准库 API 并提升编码效率。

将十进制转换为二进制:
>>> bin(10)
'0b1010'
十进制转换为八进制:
>>> oct(9)
'0o11'
十进制转换为十六进制:
>>> hex(15)
'0xf'
字符串转换为字节类型:
>>> s = "apple"
>>> bytes(s, encoding='utf-8')
b'apple'
字符类型、数值型等转换为字符串类型:
>>> i = 100
>>> str(i)
'100'
十进制整数对应的 ASCII 字符:
>>> chr(65)
'A'
字符对应的十进制数:
>>> ord('A')
65
创建数据字典的几种方法:
>>> dict()
{}
>>> dict(a='a', b='b')
{'a': 'a', 'b': 'b'}
>>> dict(zip(['a','b'], [1,2]))
{'a': 1, 'b': 2}
>>> dict([('a',1), ('b',2)])
{'a': 1, 'b': 2}
整数或数值型字符串转换为浮点数:
>>> float(3)
3.0
如果不能转化为浮点数,则会报 ValueError:
>>> float('a')
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
float('a')
ValueError: could not convert string to float: 'a'
int(x, base=10) x 可能为字符串或数值,将 x 转换为整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出普通整数的表示范围,一个长整数被返回。
>>> int('12', 16)
18
返回一个 set 对象,集合内不允许有重复元素:
>>> a = [1, 4, 2, 3, 1]
>>> set(a)
{1, 2, 3, 4}
class slice(start, stop[, step]) 返回一个由 range(start, stop, step) 指定索引集的 slice 对象,代码可读性变好。
>>> a = [1, 4, 2, 3, 1]
>>> my_slice = slice(0, 5, 2)
>>> a[my_slice]
[1, 2, 1]
tuple() 将对象转为一个不可变的序列类型:
>>> a = [1, 3, 5]
>>> a.append(7)
>>> a
[1, 3, 5, 7]
# 禁止 a 增删元素,只需转为元组
>>> t = tuple(a)
>>> t
(1, 3, 5, 7)
创建不可修改的集合:
>>> a = frozenset([1, 1, 3, 2, 3])
>>> a # a 无 pop, append, insert 等方法
frozenset({1, 2, 3})
分别取商和余数:
>>> divmod(10, 3)
(3, 1)
pow 三个参数都给出表示先幂运算再取余:
>>> pow(3, 2, 4)
1
四舍五入,ndigits 代表小数点后保留几位:
>>> round(10.045, 2)
10.04
>>> round(10.046, 2)
10.05
>>> import sys
>>> a = {'a': 1, 'b': 2.0}
>>> sys.getsizeof(a) # 变量占用字节数
240
返回对象的内存地址:
>>> id(a)
140234567890
排序:
>>> sorted([3, 1, 2])
[1, 2, 3]
求和:
>>> sum([1, 2, 3])
6
计算字符串型表达式的值:
>>> eval("1 + 2")
3
布尔转换:
>>> bool(0)
False
>>> bool(1)
True
如果可迭代对象的所有元素都为真,那么返回 True,否则返回 False:
>>> all([True, True, True])
True
>>> all([True, False, True])
False
接受一个可迭代对象,如果可迭代对象里至少有一个元素为真,那么返回 True,否则返回 False:
>>> any([False, False, True])
True
>>> any([False, False, False])
False
获取用户输入内容:
>>> input("Enter something:")
Enter something:hello
'hello'
打印输出:
>>> print("Hello, World!")
Hello, World!
格式化字符串常见用法:
>>> name = "Alice"
>>> age = 25
>>> f"Name: {name}, Age: {age}"
'Name: Alice, Age: 25'
返回对象的哈希值。值得注意,自定义的实例都可哈希:
>>> hash("test")
-123456789
list, dict, set 等可变对象都不可哈希 (unhashable):
>>> hash([1, 2, 3])
TypeError: unhashable type: 'list'
返回文件对象:
>>> f = open('test.txt', 'w')
>>> f
<_io.TextIOWrapper name='test.txt' mode='w' encoding='UTF-8'>
mode 取值表:
class type(name, bases, dict) 传入参数,返回 object 类型:
>>> type(1)
<class 'int'>
返回 property 属性,典型的用法:
class C:
def __init__(self):
self._x = None
def getx(self):
return self._x
def setx(self, value):
self._x = value
def delx(self):
del self._x
x = property(getx, setx, delx)
使用 @property 装饰器,实现与上完全一样的效果:
class C:
def __init__(self):
self._x = None
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value
判断对象是否可被调用,能被调用的对象是一个 callable 对象。
>>> callable(print)
True
>>> callable(1)
False
删除对象的属性:
>>> class A:
... pass
>>> a = A()
>>> a.x = 1
>>> delattr(a, 'x')
获取对象的属性:
>>> getattr(a, 'x', 'default')
'default'
>>> hasattr(a, 'x')
False
判断 object 是否为 classinfo 的实例,是返回 true:
>>> isinstance(1, int)
True
>>> issubclass(int, object)
True
第二个参数可为元组:
>>> issubclass(int, (object,))
True
object 是所有类的基类:
>>> object.__subclasses__()
[...] # 列出所有子类
不带参数时返回当前范围内的变量、方法和定义的类型列表;带参数时返回参数的属性,方法列表:
>>> dir(list)
['__add__', '__class__', ...]
Python 的枚举对象:
>>> for i, v in enumerate(['a', 'b']):
... print(i, v)
0 a
1 b
>>> list(range(3))
[0, 1, 2]
>>> list(reversed([1, 2, 3]))
[3, 2, 1]
聚合各个可迭代对象的迭代器:
>>> list(zip([1, 2], ['a', 'b']))
[(1, 'a'), (2, 'b')]
函数通过 lambda 表达式设定过滤条件,保留 lambda 表达式为 True 的元素:
>>> list(filter(lambda x: x > 0, [-1, 0, 1]))
[1]
>>> 1 < 2 < 3
True
>>> 1 < 2 > 0
True
通常指 itertools 中的链式处理或逻辑链:
>>> from itertools import chain
>>> list(chain([1, 2], [3, 4]))
[1, 2, 3, 4]
>>> "a,b,c".split(',')
['a', 'b', 'c']

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online