34-python-内置函数(基础数据类型--小结)
#=================================和数字相关==================================
# ------------------ 数据类型 ------------------
# 1. bool() # 布尔
# 2. int() # 整数
# 3. float # 将整数和字符串转换成浮点数
float(1) #打印结果:1.0
float(112) #打印结果:112.0
float(-123.6) # 打印结果:-123.6
# 字符串
float('123') # 打印结果: 123.0
# 4. compile() # 将一个字符串编译为字节代码
str = 'for i in range(10): print(i)'
c = compile(str,'','exec')
exec(c) # 打印结果: 0 1 2 3 4 5 6 7 8 9
str1 = '6 * 5 + 1'
c1 = compile(str1,'','eval')
print(eval(c1)) # 打印结果:31
# 5. eval()
eval()函数只能计算单个表达式的值,eval()函数可以有返回值
# 6. exec()
而exec()函数可以动态运行代码段。而exec()函数返回值永远为None。
# ------------------ 进制转换 ------------------
# 1. bin # 二进制 # 2. oct # 八进制 # 3. hex # 十六进制
# ------------------ 数学运算 ------------------
# 1. asb() # 返回数字的绝对值 print(abs(-2)) # 打印结果:2 # 2. divmod() # 返回(除,余) print(divmod(10,5)) # 打印结果:(2, 0) # 3. round() # 小数精确 参数(数值,取几位小数) print(round(3.1415926535,2)) # 打印结果:3.14 # 4. pow() # 幂运算 print(pow(2,3)) # 打印结果:8 # 5. sum() # 求和 参数(可迭代数字集,和第一个参数相加) print(sum([1,2,3,4],29)) # 返回结果:39 # 6. min() # 返回最小值,参数可以为序列 print(min([13,-2,4,-3,90])) # 打印结果:-3 # 7. max() # 返回最大值,参数可以为序列 print(max([1,2,4,5])) # 打印结果:5
#=================================和数据结构相关==================================
# ------------------ 列表和元组 ------------------
# 1. list() # 列表 # 2. tuple() # 元组
# ------------------ 相关内置函数 ------------------
# 1. reversed() # 反向 列表中元素
rs = reversed([1,2,3,4])
print(rs) # 打印结果:<list_reverseiterator object at 0x000001BDE2ACE898>
for i in rs:
print(i) # 打印结果:
# 4
# 3
# 2
# 1
# 2. slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。
# 参数: (起始位置,结束位置,间距)
# ------------------ 字符串 ------------------
# 1. str() # 字符串
# 2. format() # 格式化输出
# 3. bytes() # 由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象
# 4. bytearray() # 返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256
# 5. memoryview() # 返回给定参数的内存查看对象
v = memoryview(bytearray('asdf','utf-8'))
print(v[1]) # 打印结果: 98
# 6. ord() # 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,
# 返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常
ord('a') # 打印结果 : 97
# 7. chr() # 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符
print(chr(0x30), chr(0x31), chr(0x61)) # 十六进制
# 打印结果: 0 1 a
print(chr(48), chr(49), chr(97)) # 十进制
# 打印结果: 0 1 a
# 8. ascii() # 只要是ascii码中的内容,就打印出来,不是就转换成\u
# 9. repr() # 用于 %r 格式化输出
# ------------------ 数据集合 ------------------
# 1. dict() # 字典
# 2. set() # 集合
# 3. frozenset() # 返回一个冻结的集合,冻结后集合不能添加或删除任何元素
a = frozenset(range(10)) # 生成一个新的不可变集合
print(a) # 打印结果: frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
b = frozenset('abc')
print(b) # 打印结果: frozenset({'c', 'a', 'b'})
c = frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合
print(c) # 打印结果:frozenset({'u', 'r', 'o', 'n', 'b'})
# ------------------ 相关内置函数 ------------------
# 1. len() # 获取字符的长度的个数
abs = 'asd'
print(len(abs)) # 打印结果 : 3
# 2. enumerate() #可遍历一个可迭代的对象,一般用于 for,会返回数据 和 数据的下标
a = enumerate([1,2,3,4])
for i in a:
print(i) # 打印结果:
# (0, 1)
# (1, 2)
# (2, 3)
# (3, 4)
# 3. all() # 如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;
# 单独的 空元组、空列表返回值为True,这里要特别注意
asd = [1,2,[],'sdfsdf']
print(all(asd)) # 打印结果:False
# 4. any() # 用于判断给定的可迭代参数 iterable 是否全部为 False,如果有一个为 True
# 元素除了是 0、空、FALSE 外都算 TRUE
as1 = [[],'',0,False]
print(any(as1)) # 打印结果 : False
# 5. zip() # 可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
# zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。
# 如需展示列表,需手动 list() 转换。
# 利用 * 号操作符,可以将元组解压为列表
dic = {'k1':2,'k2':3,'k4':5}
q = zip(dic)
print(q)
for i in q:
print(i) # 打印结果: ('k1',)
# ('k2',)
# ('k4',)
# 6. filter() 过滤方法 和 推导式类似
# 只能筛选,无法改变值[6, 6, 6, 6]
# 两个参数
# 一个是 函数名
# 一个是 可迭代对象
# 返回的是 迭代器
def f(i):
return i % 2 == 0
ret = filter(f,[1,2,3,4])
print(ret) # 打印结果:<filter object at 0x000001CF16E9E828>
for i in ret:
print(i) # 打印结果:2 4
# 7. map() # 执行后元素个数不变,值可能发生改变
ret = map(abs,[1,2,-2,-4,9])
print(ret) # 打印结果 : <map object at 0x000001CF16EA5278>
for i in ret:
print(i) # 打印结果:# 1
# 2
# 2
# 4
# 9
# 8. sorted()
# 生成一个新列表,不改变原列表,占内存
# key = 这里可是个函数名
l = [1,2,-5,3,-9,0,4]
print(sorted(l)) # 打印结果:[-9, -5, 0, 1, 2, 3, 4]
print(sorted(l,key=abs,reverse=True)) # 打印结果:[-9, -5, 4, 3, 2, 1, 0]

浙公网安备 33010602011771号