Python的内置函数
1.进制转换函数:bin, oct, hex
将整数(int) 转换为不同进制的字符串
o bin(x):转换为二进制(binary),前缀为Ob。
oct(x):转换为八进制(octal),前缀为0o``。
hex(x):转换为十六进制(hexadecimal),前缀为0x。
示例:
x=12
转换为二进制
print(bin(x))#'0b1100'
转换为八进制
print(oct(x)) # '0o14'
转换为十六进制
print(hex(x)) #'0xc'
2.int(string, base)
int() 函数除了能将纯数字字符串转为整数,还可以指定第二个参数 base (基数),将一个表示特定进制的字符串,解析为对应的整数值。
示例:
从二进制字符串转换
print(int('1100',2)) #12
从八进制字符串转换
print(int('14',8))# 12
从十六进制字符串转换
print(int('c',16))# 12
3.ord():从字符到编码值
在计算机内部,所有字符(如'A','a',!”)都用一个独一无二的数字来表示,这就是它的编码值。Python 使用的是 Unicode 编码标准。Python 中没有独立的字符类型,单个字符被看作是长度为1的字符串。
ord(c):获取一个单字符字符串c对应的 Unicode 编码值(整数)。
示例:
获取字符 'A’和'a’的编码值
print(ord('A'))# 65
print(ord('a'))# 97
4.chr():从编码值到字符(ord)的逆向操作
chr(i) (character) 函数可以根据一个 Unicode 编码值 i,返回其对应的单字符字符串。
chr(integer):根据一个编码值获取对应的字符。
示例:
根据编码值获取字符
print(chr(65))# 'A'
print(chr(97))#'a'
可以进行简单的字符位移
print(chr(ord('a')+3))#'d'
5.abs(x)
返回一个数的绝对值。
示例:
print(abs(-10))#10
print(abs(10))#10
print(abs(-3.14))# 3.14
6.pow(base, exp[,mod])
计算幂。虽然 pow(base, exp) 与 base ** exp 等价,但pow函数更强大之处在于其可选的第三个参数mod。
示例:
2的3次方
print(pow(2,3))
print (2 *米3)
(2的3次方)%5
print(pow(2,3,5))#3
此函数优势:
当进行模幂运算时,pow(base,exp, mod) 比(base ** exp)% mod 的计算效率要高得多,尤其是在处理大数时。
7.round函数:round(number[,ndigits])
返回 number 舍入到小数点后ndigits 位精度的值。如果ndigits被省略或为 None,则返回最接近的整数。对于.5的情况,会舍入到最接近的偶数(银行家舍入法)。
ndigits 可以是负数,表示对整数部分进行舍入。
示例:
保留两位小数
print(round(3.14159,2))#3.14
舍入到最近的偶数
print(round(2.5))#2
print(round(3.5))
ndigits 为负数
print (round (1234.56,-2))#1200.0
❗注意:浮点数精度问题
round()的行为有时会出乎意料,例如round(2.675,2少的结果是2.67。这不是bug,而是由于大部分十进制小数无法被精确表示为二进制浮点数导致的。
8.sum函数:对序列(如列表)进行求和
sum(iterable):计算序列中所有元素的和。
示例:
scores= [95,88,72,,100]
求和
print(sum(scores))#355
9.max和min函数:找出序列中的最大值和最小值
示例:
scores = [95,88,72,100]
求最大值
print(max(scores))# 72
print(max(10,20,5))# 5
求最小值
print(min(scores))# 100
print(min(10,20,5))# 20
10.map():批量处理序列
map(function, iterable)
map 函数是一个“高阶函数”,它接收一个函数和一个序列作为参数。它的作用是:将传入的函数依次作用于序列中的每个元素,并把结果组成一个新的迭代器。
示例:将字符串列表批量转为整数列表
str_numbers=['1','2','3','4']
int_numbers=list(map(int,str_numbers))
print(int_numbers)
print(num(int_numbers))#10
回顾:
我们之前学的列表输入模板 list(map(int, input().split()))就是这个原理。
浙公网安备 33010602011771号