Python 内置函数

Python About 2,280 words

ord() 函数

获取字符的整数表示,字符串长度只能为1

>>> ord('A')
65
>>> ord('中')
20013

chr() 函数

把编码转换为对应的字符

>>> chr(66)
'B'
>>> chr(25991)
'文'

bytes 相关

  • bytes类型的数据用带b前缀的单引号或双引号表示,以Unicode表示的str通过encode()方法可以编码为指定的bytes
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
  • bytes变为str,就需要用decode()方法,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
  • bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'

len() 函数

  • str包含多少个字符
>>> len('ABC')
3
>>> len('中文')
2
  • bytes包含多少个字符
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6

输出格式化的字符串

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

格式化整数和浮点数

指定是否补0和整数与小数的位数:

print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)

 3-01 //注意3前面有空格
3.14

format()函数

用传入的参数依次替换字符串内的占位符{0}、{1}……

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

range()函数

生成的序列是从0开始小于5的整数:

>>> list(range(5))
[0, 1, 2, 3, 4]

max()函数

最大值

>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3

abs()函数

取绝对值

>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34

数据类型转换

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False

函数起“别名”

>>> a = abs # 变量a指向abs函数
>>> a(-1) # 所以也可以通过a调用abs函数
1

hex()函数

整数转换成十六进制表示的字符串

>>> hex(17)
0x11

callable()函数

判断一个对象是否能被调用

>>> callable(Student()) # 实现了__call__方法
True
>>> callable(max)
True
>>> callable([1, 2, 3])
False
>>> callable(None)
False
>>> callable('str')
False
Views: 1,590 · Posted: 2019-04-17

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh