• day16 Python 内置函数 大体演示想看就看,会用就行


     1、abs() 获取绝对值

    a = -10
    print(a.__abs__())
    
    结果:
    10
    

     2、all()  接收一个迭代器,如果跌电气的所有元素都为真,那么返回True,否则返回False

    tmp_1 = ['python',123]
    print(all(tmp_1))
    tmp_2 = []
    print(all(tmp_2))
    tmp_3 = [0]
    print(all(tmp_3))
    tmp_4 = ''
    print(all(tmp_4))
    
    
    结果:
    True
    True
    False
    True
    

    3. any()  接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

    4. ascii()  调用对象的__repr__()方法,获得该方法的返回值.

    5. bin(), 6. oct(),  7. hex()    三个函数功能为:将十进制数分别转换为2/8/16进制。

    8. bool()  测试一个对象是True还是False,空,None,0布尔值都是False,其余是True

    9、bytes() 将字符串

    s = 'python'
    x = bytes(s, encoding='utf-8')
    print(x)
    a = '王'
    s = bytes(a, encoding='utf-8')
    print(s)
    
    如果:
    b'python'
    b'xe7x8ex8b'

    10、str() 将字符类型、数值类型转换成字符串类型

    print(str(b'xe7x8ex8b',encoding='utf-8'))
    print(str(1))
    print(type(str(1)))
    
    如果:
    王
    1
    <class 'str'>
    

    11. challable()  判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

    12、chr()  打印ASCII表

    print(chr(65))
    
    结果:
    A
    

     12、dir()   打印某一个对象有哪些方法

    print(dir(all))
    
    结果:
    ['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
    

     13、divmod()  分别取商和余数,比如网页搜索分页,一页中有多少条记录,余下的单放一页

    print(divmod(20,8))
    
    结果:
    (2, 4)
    

     14、enumerate()  返回一个可以枚举的对象,该对象的next()方法将返回一个元组

    test = ['a','b','c']
    for k,v in enumerate(test):
        print(k+1,v)
    
    结果:
    1 a
    2 b
    3 c
    

    15、eval()  将字符串中得数据结构提取出来

    例子1
    dic = {'name':'pluto'}
    print(dic.get('name'))
    print(type(dic))
    
    dic_str = str(dic)
    print(type(dic_str))
    
    dic_dic = eval(dic_str)
    print(type(dic_dic))
    print(dic_dic.get('name'))
    
    
    结果:
    pluto
    <class 'dict'>
    <class 'str'>
    <class 'dict'>
    pluto
    
    
    
    例子2
    s = "1+2*3"
    print(type(s))
    print(eval(s))
    
    结果:
    7
    

    16、 hash()  哈希值,可哈希的数据类型即不可变数据类型,不可哈希的数据类型即可变数据类型

    1 hash(object)
    2 如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
    3 两个数值如果相等,则哈希值也相等。
    

     17、help() 帮助文档

    print(help(all))
    
    查看帮助
    Help on built-in function all in module builtins:
    
    all(iterable, /)
        Return True if bool(x) is True for all values x in the iterable.
        
        If the iterable is empty, return True.
    
    None
    

    18、bin(),oct(),hex()    三个函数功能为:将十进制数分别转换为2/8/16进制。 

    print(bin(10))
    print(oct(10))
    print(hex(10))
    
    结果:
    0b1010
    0o12
    0xa
    

    19、id()  返回对象的内存地址

    20、isinstance()  检查对象是否是类的对象,返回True或False

    print(isinstance(1,str))
    print(isinstance(1,int))
    print(isinstance({1,2,'s'},set))
    
    结果:
    False
    True
    True
    

    21、 len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

    22、 globals()  返回一个描述当前全局变量的字典

    name = '对象'
    print(globals())
    
    结果:
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f06f2534c88>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/opt/zifuchuangeshihua.py', '__cached__': None, 'name': '对象'}

    23、 locals()  打印当前可用的局部变量的字典

    24、 max()  返回给定元素里最大值

    25、 min()  返回给定元素里最小值 

    max,min

    1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同类型之间的不能比较

    2、每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出来大小,后面的就不需要比较了,直接取出这两个元素的大小

    age_dic = {'a1':10,'g3':20,'e2':30}
    #字典默认比较的是key for item in zip(age_dic.values(),age_dic.keys()): print(item) print(list(max(zip(age_dic.values(),age_dic.keys())))) # print(list(min(zip(age_dic.values(),age_dic.keys())))) l_t = [ (5,'e'), (1,'a'), (6,''), (3,'b'), (4,'d'), ] print(list(max(l_t))) 结果: (10, 'a1') (20, 'g3') (30, 'e2') [30, 'e2'] [6, '']
    l = [1,2,3,100,-1,2]
    print(max(l))
    print(min(l))
    
    结果:
    100
    -1
    

     终极晚玩法

    people = [
        {'name':'charon','age':10},
        {'name':'pluto','age':1100},
        {'name':'peter','age':12},
        {'name':'alex','age':13}
    ]
    print(max(people,key=lambda dic:dic['age']))
    
    #ret=[]
    #for item in people:
    #    ret.append(item['age'])
    #print(ret)
    #print(max(ret))
    
    结果:
    {'name': 'pluto', 'age': 1100}
    [10, 1100, 12, 13]
    1100
    

     min类似

    26、delattr()  删除对象的属性

    27、dict()  创建数据字典

    28、float()  讲一个字符串或整数转换为浮点数

    29、format()  格式化输出字符串,format(value, format_spec)实质上是调用了value的

    30、frozenset()  创建一个不可修改的集合

    31、 getattr()  获取对象的属性

    32、getattr()  获取对象的属性

    33、int()  将一个字符串或数值转换为一个普通整数

    34、issubclass()  检查一个类是否是另一个类的子类。返回True或False

    35、open()  打开文件

    36、range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

    37、set()       集合

    38、str()  字符串构造函数

    39、sum()  求和

    40、tuple()  元组构造函数

    41、type()  显示对象所属的类型

    42、zip()  将对象逐一配对

    list_1 = [1,2,3]
    list_2 = ['a','b','c']
    s = zip(list_1,list_2)
    print(list(s))
     
    运行结果:
     
    [(1, 'a'), (2, 'b'), (3, 'c')]
    a = [(1,),(2,),(3,)]
    r = zip(*a)
    print(list(r))
    运行结果:
    [(1, 2, 3)]
    print(list(r)[0])
    运行结果:
    (1, 2, 3)
    
    print(list(zip(('a','b','c'),(1,2,3))))
    print(list(zip(('a','b','c'),(1,2,3,4))))
    print(list(zip(('a','b','c','d'),(1,2,3))))
    
    p = {'name':'charon','age':18,'gender':'F'}
    print(list(zip(p.keys(),p.values())))
    
    print(list(zip('hello','12345')))
    
    
    结果:
    [('a', 1), ('b', 2), ('c', 3)]
    [('a', 1), ('b', 2), ('c', 3)]
    [('a', 1), ('b', 2), ('c', 3)]
    [('name', 'charon'), ('age', 18), ('gender', 'F')]
    [('h', '1'), ('e', '2'), ('l', '3'), ('l', '4'), ('o', '5')]
    

    43、reversed  翻转

    l = [1,2,3]
    print(list(reversed(l)))
    print(l)
    
    结果:
    [3, 2, 1]
    [1, 2, 3]
    

    44、round  四舍五入

    num = 4.6
    print(round(num))
    
    结果:
    5
    

    45、slice  切片

    srt_slice = 'charonpluto'
    s1 = slice(3,5)
    s2 = slice(1,9,2)
    print(srt_slice[s1])
    print(srt_slice[s2])
    #硬切,可读性不是太强
    print(srt_slice[3:5])
    
    
    结果:
    ro
    hrnl
    ro
    

    46、sorted  排序,不同类型不能排序,本质就是比较

    l = [1,3,5,2,4]
    print(sorted(l))
    
    people = [
        {'name':'charon','age':10},
        {'name':'pluto','age':1100},
        {'name':'peter','age':12},
        {'name':'alex','age':13}
    ]
    
    print(sorted(people,key=lambda dic:dic['age']))
    
    
    结果:
    [1, 2, 3, 4, 5]
    [{'name': 'charon', 'age': 10}, {'name': 'peter', 'age': 12}, {'name': 'alex', 'age': 13}, {'name': 'pluto', 'age': 1100}]
    

     47、open

    文件处理读操作

    # f=open('陈粒',encoding='utf-8')
    # data=f.read()
    # print(data)
    # f.close()
    
    # f=open('xxx')
    # data=f.read()
    # print(data)
    
    #r w a
    f=open('陈粒','r',encoding='utf-8')
    # data=f.read()
    # # print(data)
    # print(f.readable())#是否是可读
    # print('第1行',f.readline(),end='')
    # print('第2行',f.readline())
    # print('第3行',f.readline())
    # # for i in range(1):
    # #     pass
    # print('第4行',f.readline())
    # print('第5行',f.readline())
    # print('第6行',f.readline())
    # print('第7行',f.readline())
    
    data=f.readlines()
    print(data)
    f.close()
    

     文件处理写操作#文件存在先清空掉,在操作,不存在就创建一个新的

    f=open('陈粒1','w',encoding='utf8')
    # f.read()
    f.write('11111111
    ')
    f.write('222222222
    ')
    f.write('333
    4444
    555
    ')
    # f.writable()#是否是可写
    f.writelines(['555
    ','6666
    '])
    f.writelines(['555
    ','6666
    ',1]) # 文件内容只能是字符串,只能写字符串
    f.close()
    

     文件处理追加操作

    f=open('陈粒1','a',encoding='utf-8')
    f.write('写到文件最后')
    

     文件处理其他模式

    # f=open('xxx','r+',encoding='gbk')
    # # data=f.read()
    # # print(data)
    # # f.write('123sb')
    #
    #
    #
    # f.write('sb')
    
    
    #文件修改
    # src_f=open('xxx','r',encoding='gbk')
    # data=src_f.readlines()
    # src_f.close()
    #
    # # for i in data:
    # #     print(i)
    # print(data)
    # dst_f=open('xxx','w',encoding='gbk')
    # # dst_f.writelines(data)
    # dst_f.write(data[0])
    # dst_f.close()
    
    # with open('a.txt','w') as f:
    #     f.write('1111
    ')
    
    
    # src_f=open('xxx','r',encoding='gbk')
    # dst_f=open('xxx','w',encoding='gbk')
    # with open('xxx','r',encoding='gbk') as src_f,
    #         open('xxx_new','w',encoding='gbk') as dst_f:
    #     data=src_f.read()
    #     dst_f.write(data)
    
    f=open('a.txt')
    print(f.encoding) #查看文件编码
    
  • 相关阅读:
    【应试】数据通信与网络
    【应试】操作系统OS
    【笔记】 卷积
    【HDU 5920】 Ugly Problem
    【笔记】位运算
    【洛谷P1378】油滴扩展
    【洛谷 P1120】 小木棍[数据加强版]
    [codeforces]Round #538 (Div. 2) F. Please, another Queries on Array?
    [BZOJ]2563: 阿狸和桃子的游戏
    [BZOJ]4668: 冷战
  • 原文地址:https://www.cnblogs.com/charon2/p/10375988.html
Copyright © 2020-2023  润新知