• python的内置函数


    # print()
    # input()
    # len()
    # type()
    # open()
    # tuple()
    # list()
    # int()
    # bool()
    # set()
    # dir()
    # id()
    # str()
    
    
    # print(locals())  #返回本地作用域中的所有名字
    # print(globals()) #返回全局作用域中的所有名字
    # global 变量
    # nonlocal 变量
    
    #迭代器.__next__()
    # next(迭代器)
    # 迭代器 = iter(可迭代的)
    # 迭代器 = 可迭代的.__iter__()
    
    # range(10)
    # range(1,11)
    # print('__next__' in dir(range(1,11,2)))
    
    # dir 查看一个变量拥有的方法
    print(dir([]))
    print(dir(1))
    print(dir(list))
    help
    help(str)
    
    # 变量callable检测是不是一个函数
    print(callable(print))
    a = 1
    print(callable(a))  #False
    print(callable(globals))    #True
    def func():pass
    print(callable(func))   #True
    
    f = open('文件.py')
    print(f.writable())  #判断可不可写False
    print(f.readable()) #判断可不可以读True
    
    #hash - 对于相同可hash数据的hash值在一次程序的执行过程中总是不变的  #列表字典集合不可hash
    print(hash(123456))     #123456
    print(hash("lghjkopmn"))   #8688261886816884649
    print(hash(("aa","bb")))    #-2995720226401146882
    
    print('我们的祖国是花园',end='')  #指定输出的结束符不换行
    print('我们的祖国是花园',end='')
    print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符
    #我们的祖国是花园我们的祖国是花园1|2|3|4|5
    
    # 打印到指定文件,不在解释器显示
    # 创建一个file文件,并把aaaa写入
    f = open('file','w')
    print('aaaa',file=f)
    f.close()
    
    print(bin(10))  #二进制    0b1010
    print(oct(10))  #八进制    0o12
    print(hex(10))  #16进制   0xa
    
    print(abs(-5)) #绝对值
    print(abs(5))
    
    print(divmod(7,2))   # div出发 mod取余
    print(divmod(9,5))   # 除余
    
    #reversed  反转
    
    L1=[11,22,33,44]
    L1.reverse()
    print(L1)   #[44, 33, 22, 11]
    
    l = [1,2,3,4,5]
    l2 = reversed(l)
    print(l2)   #<list_reverseiterator object at 0x000002778C05B390>
    # 保留原列表,返回一个反向的迭代器
    
    
    #bytes 转换成bytes类型
    # 我拿到的是gbk编码的,我想转成utf-8编码
    print(bytes('你好',encoding='GBK'))   # unicode转换成GBK的bytes b'xc4xe3xbaxc3'
    print(bytes('你好',encoding='utf-8')) # unicode转换成utf-8的bytes   b'xe4xbdxa0xe5xa5xbd'
    
    # k=1000
    # while k>1:
    #     print(k)
    #     k=k/2
    #
    # L=range(100)
    # print(list(L[:3]))
    # print(L[98])
    # print(L[-2])
    # print(list(L[-10::]))
    # print(list(L[90:]))
    # L1=list(L[:])
    # print(L1)
    #
    # d={"aa":11,"bb":22,'cc':33}
    # for k in d:
    #     print(k)
    #     print(d[k])
    # len函数
    
    str="asdfghh"
    print(len(str))
    list1=[11,22,33]
    print(len(list1))
    
    # enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,
    # 即需要index和value值的时候可以使用enumerate
    
    list1=[11,22,33,44,55,66]
    for index,value in enumerate(list1):    #从0开始
        print(index,value)
    # 0 11
    # 1 22
    # 2 33
    # 3 44
    # 4 55
    # 5 66
    
    for index,value in enumerate(list1,1):  #从1开始
        print(index,value)
    #zip拉链方法,拉倒一起
    
    l = [1,2,3,4,5]
    l2 = ['a','b','c','d']
    l3 = ('*','**',[1,2])
    d = {'k1':1,'k2':2}
    
    for i in zip(l,l2):
        print(i)
        #(1, 'a')
        # (2, 'b')
        # (3, 'c')
        # (4, 'd')
    for i in zip(l,l2,l3,d):
        print(i)
        #(1, 'a', '*', 'k1')
        #(2, 'b', '**', 'k2')
    
    #sort排序
    list1 = [1,-4,6,5,-10]
    list1.sort()   # 在原列表的基础上进行排序
    print(list1)
    list1.sort(key = abs)#绝对值排序
    print(list1)
    
    print(sorted(list1,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存
    print(list1)
    
    # lambda函数
    ret = lambda x,y:x+y
    print(ret(2,3))
    
    #eval
    # eval函数就是实现list、dict、tuple与str之间的转化
    # str函数把list,dict,tuple转为为字符串
    # 字符串转换成列表
    a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
    print(type(a))  #<class 'str'>
    b = eval(a)
    print(b)    #[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
    
    # 字符串转换成字典
    a = "{1: 'a', 2: 'b'}"
    print(type(a))  #<class 'str'>
    b = eval(a)
    print(type(b))  #<class 'dict'>
    print(b)        #{1: 'a', 2: 'b'}
    
    # 字符串转换成元组
    a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
    print(type(a))  #<class 'str'>
    b=eval(a)
    print(type(b))  #<class 'tuple'>
    print(b)        #([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

    # Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。
    # __dict__与dir()的区别:
    #
    # dir()是一个函数,返回的是list;
    # __dict__是一个字典,键为属性名,值为属性值;
    # dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;
    #
    # 并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。

    class MyName(object):
    def __init__(self):
    self.name = 'name'
    self.sex = 'female'
    me = MyName()
    print(me.__dict__) #{'name': 'name', 'sex': 'female'}
    print(dir(me))
    #['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name', 'sex']
     
  • 相关阅读:
    HDU2732 Leapin' Lizards 网络流 最大流 SAP
    POJ1459 Power Network 网络流 最大流
    HDU3718 Similarity KM
    HDU3488 Tour KM
    HDU2853 Assignment KM
    HDU1507 Uncle Tom's Inherited Land* 二分图匹配 匈牙利算法 黑白染色
    POJ1469 COURSES 二分图匹配 匈牙利算法
    HDU4185 Oil Skimming 二分图匹配 匈牙利算法
    POJ3041 Asteroids 二分图匹配 匈牙利算法
    BZOJ2553 [BeiJing2011]禁忌 AC自动机 矩阵
  • 原文地址:https://www.cnblogs.com/chvv/p/10137313.html
Copyright © 2020-2023  润新知