python基础---内置函数

  • all()#print(all([]))可迭代对象全部为真时返回真
  • any()#可迭代对象有一个为真则返回真
  • bin()#bin(10)十进制整数转换成二进制
  • bool()#判断真假
  • bytearray()#定义可修改的二进制
  • callable(x)#判断x是否可调用(x后是否能加括号)
  • chr(数字)#把数字转换成对应的asc码
  • ord(字符)#asc码的字符转换成数字
  • pow(x,y)    x**y
  • pow(x,y,z)  x**y%z
  • compile #代码编译的过程
  • dir() #查方法
  • help()#查方法的详细信息
  • divmod(a,b)#两数相除返回商和余数
  • filter(lambda n:n>5,range(10))#过滤出想要的
  • map(lambda n:n*n,range(10))#对传入的值按规定方式处理(与列表生成式作用相同)
  • reduce(fn,list)  #fn接受两个参数,reduce把结果和序列的下一个元素累计运算
  • #内置函数
    #map()
    #原型 map(fn,lst)
    #参数1是函数
    #参数2是序列
    
    #功能:将传入的函数依次作用在序列中的每一个元素
    #      并把结果作为新的Iterator返回
    def strToInt(s):
        s = int(s)
        return s
    list1 = ['1','2','3']
    a = map(strToInt,list1)
    print(a)
    print(list(a))
    s='123'
    t = map(strToInt,s)
    print(list(t))
    
    from functools import reduce
    #reduce(fn,lst)
    #参数1是函数
    #参数2是序列
    #功能:函数作用在序列上,这个函数必须接受两个参数,
    #      reduce把结果和序列的下一个元素累计运算
    def func(a,b):
        return a+b
    l = [1,2,3,4]
    p =reduce(func,l)
    print(p)
    View Code
  • format
  • frozenset([])#不可变集合
  • print(globals())#:打印当前文件变量
  • hash()
    • hash特性---被哈希的值必须是不可变的
         1:hash值得长度固定,与输入字符串长度无关
      2:不能根据hash值反推出原字符串 3:同一次程序的执行中,多次调用某个变量的hash值,值不变 print(hash('12sdfdsaf31231asdfasdfsadfsadfasdfasdf23')) print(hash('12sdfdsaf31231adfsadfasdfasdf23')) name='alex' print(hash(name)) print(hash(name)) >>>: 5146213322747495842 6028965483756686212 5731006278285728147 5731006278285728147
  • eval(a)#把转成字符串的列表,字典,元组('[]','{}','()')还原
  • dic={'name':'alex'}
    dic_str=str(dic)
    print(dic_str)           #>>>:'{  }'
    print(eval(dic_str))  #>>>:{  }
    
    express = '1+2*3-6/2'
    print(express)          #>>>:'1+2*3-6/2'
    print(eval(express)) #>>>:4.0
  • reversed() #反转
  • l=[1,2,3]
    l.reverse() #永久
    print(reversed(l))#临时
    print(list(reversed(l)))
    print(l)
    
    >>>:<list_reverseiterator object at 0x0000025B46B2CDD8>
        [1, 2, 3]
        [3, 2, 1]    
  • slice切片
  • l='123456'
    s1=slice(2,5)
    s2=slice(0,6,2)#指定步长
    print(l[s1])  #=l[2,5]
    print(l[s2])
    
    >>>:345
        135
  • zip() 拉链函数,传入两个序列类型的参数
          •  1 print(zip(['a','b','c'],[1,2,3]))
             2 print(list(zip(['a','b','c'],[1,2,3,4])))
             3 print(list(zip(['a','b','c','d'],[1,2,3])))
             4 print(list(zip('hello','123456')))
             5 p={'name':'alex','age':18}
             6 print(list(zip(p.keys(),p.values())))
             7print(list(zip(['a','b'],'123')))
             8 >>>:<zip object at 0x00000208F2F04508>  
            9
              [('a', 1), ('b', 2), ('c', 3)]
            10   [('a', 1), ('b', 2), ('c', 3)]
            11   [('h', '1'), ('e', '2'), ('l', '3'), ('l', '4'), ('o', '5')]
            12   [('name', 'alex'), ('age', 18)]
1 lst = [(1,'a'),(2,'b'),(3,'c')]
2 a=zip(*lst)
3 print(list(a))
4 
5 >>>:
6 [(1, 2, 3), ('a', 'b', 'c')]

 

  • max
  • 1 people=[
    2     {'name':'alex','age':1000},
    3     {'name':'wupei','age':10000},
    4     {'name':'yuanhao','age':9000},
    5     {'name':'linhaifeng','age':18},
    6 ]
    7 print(max(people,key=lambda d:d['age']))
    8 
    9 lambda依次处理每个字典--max函数相当于遍历,用key指定遍历的值
  • 编码解码
    1 name='你好'
    2 print(bytes(name,encoding='utf-8')) #编码
    3 print(bytes(name,encoding='utf-8').decode('utf-8'))#解码
    4 
    5 print(bytes(name,encoding='gbk'))
    6 print(bytes(name,encoding='gbk').decode('gbk'))

    1 mes = '中国'
    2 #字符串/二进制转换
    3 print(mes.encode())
    4 print(mes.encode().decode())
  • __import__()
  • import test
    test.say_hi()
    
    # import 'test'#报错
    module_name='test'
    m=__import__(module_name)
    m.say_hi()
    
    __import__导入字符串类型的文件名
  • print(globals())#打印全局变量
  • print(locals())#打印局部变量
  • name = '哈哈哈'
    def text():
        age = '你猜'
        print(globals())
        print(locals())
    text()
    
    >>>:一串全局变量,包含‘哈哈哈’
    >>>:‘你猜’  
  • isinstance()#判断type
  • 判断type
    1 print(isinstance(1,int))
    2 print(isinstance('abc',str))
    3 print(isinstance([],list))
    4 print(isinstance({},dict))
    5 print(isinstance({1,2},set))
  • 进制转换
  • print(bin(10))#10进制->2进制
    print(hex(12))#10进制->16进制
    print(oct(12))#10进制->8进制
  • iter()把可迭代对象生成迭代器
posted @ 2018-03-02 15:20  web123  阅读(70)  评论(0)    收藏  举报