内置函数

 内置函数

作用域相关:

  • locals :函数会以字典的类型返回当前位置的全部局部变量。
  • globals:函数会以字典的类型返回全部全局变量。

 

字符串相关:

  • eval():执行字符串类型的代码,并返回最后结果
  • eval('2 + 2')  # 4
    
    
    n=81
    eval("n + 4")  # 85
    
    
    eval('print(666)')  # 666

     

 

    • exec():执行字符串类型的代码,用于流程类
    • s = '''
      for i in [1,2,3]:
          print(i)
      '''
      exec(s)

       

    • 返回值为None
    • print():
    • #print(sep = )多个元素时用什么元素连接
      print(111,222,333,sep='*')                     # 111*222*333
      
      #print(end = )末尾以什么元素结束
      print(111,end='')  
      print(222)                                  #两行的结果 111222
      
      
      #print(file =  ) 在哪个文件写入内容
      f = open('log','w',encoding='utf-8')
      print('写入文件',file=f,flush=True)

       

    • hash():
    • print(hash(12322))       #数字的哈希值还是数字本身
      print(hash('123'))         #字符串的哈希值 为字符串转换成一串数字
      print(hash('arg'))          #                ~~~
      print(hash('alex'))         #                ~~~
      print(hash(True))          #布尔值的哈希值True为1,False为0
      print(hash(False))
      print(hash((1,2,3)))      #为它转换成一段数字
      
      
      
      
      #运行结果
      '''
      12322
      -4950091516282234652
      6729590813659231111
      -7291915363773521476
      1
      0
      2528502973977326415
      '''        

       

    • callable():判断一个对象是否可以被调用,一般判断是否为函数名

    • >>> def add(a, b):
      ...     return a + b
      ... 
      >>> callable(add)             # 函数返回 True
      True

       

    • dir():查询一个对象的所有方法
    • >>> dir([ ])    # 查看列表的方法
      ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

       

    • iter():函数用来生成迭代器(将一个可迭代对象,生成迭代器)
    • from collections import Iterable
      from collections import Iterator
      
      l = [1,2,3]
      print(isinstance(l,Iterable))  # True     #判断对象是否为迭代器
      print(isinstance(l,Iterator))  # False    #判断对象是否为可迭代对象
      
      
      l1 = iter(l)
      print(isinstance(l1,Iterable))  # True    #判断对象是否为迭代器
      print(isinstance(l1,Iterator))  # True    #判断对象是否为可迭代对象

       

    • int():函数用于将字符串或数字转换成整形
    • print(int())  # 0
      
      print(int('12'))  # 12
      
      print(int(3.6))  # 3       #默认去除小数点后的保留整数
      
      print(int('0100',base=2))  # 将2进制的 0100 转化成十进制。结果为 4

       

    • float:函数用于将整数和字符串转换成浮点数
    • 进制转换:
      • *bin()十进制转2进制并返回     格式:0bxxx

      • *oct()将十进制转化为八进制并返回   格式:0oxxx

      • *hex()将十进制转换成十六进制字符串并返回 。 格式:0xXXXdivmod()

    • divmod():

      divmod(a,b)返回一个包含商与余数的元组

       

    • 数学运算
    • round(3.114,2):保留浮点数的小数位数。默认保留整数

    • pow(x,y,z):求x**y。(三个参数对第三个数z取余)

    • sum([1,2,5,99,7],88):对可迭代对象进行求和      #最多一个列表加上一个数

    • mix():返回可迭代对象的最大值(可加key(条件abs),key为函数名,通过函数的规则,返回最大值)

    • min():返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)

    • 数据结构
      • ist():将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素。

      • tuple():将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素。  

      • reversed():将一个列表翻转后,返回这个翻转列表的迭代器。 

      • slice(5) :构建一个切片,对一定列表进行切割。

      • 规则=(5)→list[规则] 

  • format('test',20  < > ^)  <左对齐   >右对齐   ^居中
  • byte():用于不同编码之间的转换

  • ord():输入字符返回字符在unicode中aciss码的编号

  • chr():输入ascii码在unicode对应ascii码的字符
  • ascii():判断是否用的ascii码如果是返回原值,不是返回/u
  • repr():跟%r一样 原封不动的填入 
  • ennumerate():返回一个枚举对象 此枚举对象是一个迭代器
  • li = ['老男孩', 'alex', 'wusir', '嫂子', 'taibai']
    
    print(enumerate(li))            #<enumerate object at 0x0000024C66C90C60>
                  
    for i in enumerate(li):  
        print(i)
    
    '''#运行结果
    (0, '老男孩')
    (1, 'alex')
    (2, 'wusir')
    (3, '嫂子')
    (4, 'taibai')
    '''    
    
    for a,b in enumerate(li):    # a是索引值b是对象中的每一个元素
        print(b)
    
    
    for a,b in enumerate(li,3):     #可加起始索引
        print(a,b)

     

  • all():可迭代对象中,全都是True才是True
  • any():可迭代对象中,有一个是True全部是True
  • zip():拉链方法    函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
  • l1 = [1,2,3,4,5,6]
    l2 = ['a','b','c',5,6]
    l3 = ('*','**',(1,2,3))
    for i in zip(l1,l2,l3):
        print(i)
    print('__iter__' in dir(zip(l1,l2,l3)))
    print('__next__'in dir(zip(l1,l2,l3)))
    '''运行结果 #以最短的对象内的元素有几个就竖着取值取几个元祖 形成元素的个数与最短的可迭代对象长度一样 
    (1, 'a', '*')
    (2, 'b', '**')
    (3, 'c', (1, 2, 3))
    True
    True
    '''

     

  • zip()是一个迭代器
  • filter():过滤,用一个函数过滤一个可迭代对象  类似于[i for i in range() if i ==0]

  • fliter(函数,可迭代对象):也是一个迭代器
  • map():循环  
  • map(函数,可迭代对象):也是一个迭代器     
  • 匿名函数:为了解决那些功能很简单的需求而设计的一种函数
  • calc = lambda n:n**2 
  • calc为函数名
  • n为匿名函数的变量
  • n**2为函数的返回值
posted @ 2018-04-04 21:31  程序猿·胖虎  阅读(243)  评论(0)    收藏  举报