Python之内置函数一
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/10/9 15:59
# @Author : Ropon
# @File : 14_01.py
#内置函数
#作用域
# locals()
# globals()
#迭代器相关
# range()
# next() #调用内部封装__next()__
# iter() #调用内部封装__iter()__
#字符串类型代码执行
#eval()
# print(eval("2" + "2"))
# print(eval("2 + 2"))
#执行字符串类型的代码
#exec()
# exec("""
# for i in range(5):
# print(i)
# """)
#将字符串类型代码变异,代码对象能通过exec执行或通过eval进行求值
# code1 = "for i in range(10): print(i)"
# c1 = compile(code1, "", mode="exec")
# exec(c1)
# code2 = "1+2+3"
# c2 = compile(code2, "", mode="eval")
# a = eval(c2)
# print(a)
# code3 = "name = input('请输入您的名字:')"
# c3 = compile(code3, "", mode="single")
# exec(c3)
# print(name)
#总结:有返回值字符串形式代码使用eval,没有返回值的字符串形式代码用exec,很少使用compile
#输入输出有关
#input()
#print()
#内存相关
# hash() #获取int,str,bool,tuple对象的哈希值
# id() #获取对象的内存地址
#文件操作相关
#open()
#模块相关
# __import__() #用于动态加载类和函数
#帮助
# help()
#调用相关
# callable() #检查对象是否可调用,返回True,对象有可能调用失败,但如果返回False,那调用肯定不成功
#查看对象内置属性
# dir() #查看对象内置属性,方法;访问的是对象中__dir__()方法
#基础数据类型相关
#数字相关
# bool() #将给的数据转换为bool值,不给值返回False
# int() #将给的数据转换为int值,不给值返回0
# float() #将给的数据转换为float值,不给值返回0.0
# complex()#创建一个复数,第一个参数为实部,第二个参数为虚部;或者第一个参数直接用字符串来描述复数
#complex(1, 1)
#complex("1+1j")
# a = complex("1-2j")
# print(a.real)
# print(a.imag)
#进制转换
# bin() #将给的值转换成二进制
# oct() #将给的值转换成八进制
# hex() #将给的值转换成十进制
# a = 15
# print(bin(a))
# print(oct(a))
# print(hex(a))
#数学运算
# abs() #返回绝对值
# divmod(x, y) #表示x/3 返回商和余数
# round() #四舍五入
# pow(x, y, [z]) #[]表示可选,求x的y次幂,如果有第三个参数,求完幂后再对第三个数取余
# sum() #求和 参数可迭代对象,如列表、元组、集合
# min() #求最小值
# max() #同理求最大值
# a = 7
# print(abs(a))
# print(divmod(a, 3))
# print(round(4.3))
# print(pow(2, 4, 3))
# print(sum((3, 2)))
# print(sum([1, 2, 3]))
# print(min(1, 2, -1))
# print(min([4, 5, -1]))
# print(max([4, 5, -1]))
#数据结构相关
#列表和元祖
# list() #将可迭代对象转换为列表
# tuple() #将可迭代对象转换为元组
# reversed() #将一个序列翻转,返回翻转序列的迭代器
# slice() #列表切片
# ret = reversed([1, 3, 5, 7, 9])
# print(ret.__next__())
# a = [11, 22, 33, 44]
# s = slice(1, 3) #11,33
# print(a[s])
#字符串相关
# str() #将数据转换为字符串
# format() #与具体数据有关,用于计算各种小数,精算等
#字符串
# print(format('test', '<20')) #左对齐
# print(format('test', '>20')) #右对齐
# print(format('test', '^20')) #居中
#数值
# print(format(3, 'b')) #转换为二进制
# print(format(97, 'c')) #转换Unicode编码
# print(format(11, 'd')) #转换为十进制
# print(format(11, 'n')) #转换为十进制
# print(format(121)) #以十进制输出
# print(format(11, 'o')) #转换为八进制
# print(format(11, 'x')) #转换为十六进制(小写字母)
# print(format(11, 'X')) #转换为十六进制(大写字母)
#浮点数
# print(format(123456789, 'e')) #科学计数法,默认保留6位小数
# print(format(123456789, '0.2e')) #科学计数法,保留2位小数(小写)
# print(format(123456789, '0.2E')) #科学计数法,保留2位小数(大写)
# print(format(123456789, 'f')) #小数点计数法,默认保留6位小数
# print(format(123456789, '0.2f')) #小数点计数法,保留2位小数
# print(format(123456789, '0.10f')) #小数点计数法,保留10位小数
# print(format(123456789, 'F')) #小数点计数法,默认保留6位小数
# bytes() #把字符串转换为bytes类型
# s = "测试"
# bs = s.encode("UTF-8")
# print(bs)
# s1 = bs.decode("UTF-8")
# print(s1)
# bs = bytes(s, encoding="UTF-8")
# print(bs)
# bytearray() #返回一个新字节数组,这个数组元素是可变的,而且每个元素的取值范围是[0, 256]
# ret = bytearray('ropon', encoding='UTF-8')
# for i in range(len(ret)):
# print(ret[i])
# memoryview() #查看bytes在内存中的情况
# s = memoryview("再次测试".encode("UTF-8"))
# a = '5'
# s1 = memoryview(a.encode("UTF-8"))
# print(s)
# print(s1)
# ord() #返回字符编码
# chr() #返回对应编码的字符
# ascii() #在ASCII编码中就返回该值,不在就返回Unicode
# print(ord('a'))
# print(ord('中'))
# print(chr(98))
# print(ascii('a'))
# print(ascii('我们'))
# repr() #返回一个对象的string形式
# print(repr('哈喽,\n \t 我是Ropon'))
# print('哈喽,\n \t 我是Ropon')
#数据集合
# dict() #创建一个字典
# set() #创建一个集合
# frozenset() #创建一个冻结的集合,冻结的集合不能进行添加或者删除
# 其他相关
# len() #返回对象中元素的个数
# sorted() #对可迭代的对象进行排序,配合lambda
# enumerate() #获取集合的枚举对象
# a = {'cpu', 'mem', 'os', 'os_size', 'data_size'}
# ret =enumerate(a)
# print(ret.__next__())
# print(ret.__next__())
# lst = ["cpu", "mem", "os"]
# for index, el in enumerate(lst):
# print(str(index)+"==>"+el)
#all() #可迭代对象中全部为True,结果才问True
#any() #可迭代对象中有一个为True,结果就是True
#zip() #将可迭代对象作为参数,将对象中对应的元素打包成一个个元组
# l1 = [1, 2, 3, ]
# l2 = ['a', 'b', 'c', 5]
# l3 = ('*', '**', (1, 2 ,3))
# for i in zip(l1, l2, l3):
# print(i)
#filter() #过滤,配合lambda
#map() #根据提供的函数对指定序列做映射,配合lambda