Python之内置函数一

作者: ropon 分类: Python 发布时间: 2018-10-11 14:45
#!/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

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!