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]

  

posted @ 2018-10-09 21:01  _Q  阅读(126)  评论(0)    收藏  举报