• python课堂整理16---内置函数


    1. abs :求绝对值

    print(abs(-1))
    

    2. all()传入一个可迭代对象,对该对象进行bool值运算,若都为True 就返回True,有一个为假,就返回False

    print(all([12,'asds',345]))
    print(all(''))    #特例 若参数为空也返回True
    print(all((0,)))
    print(all([]))
    

    3. any () 和all()相反,只要有一个为真就返回Ture

    print(any([1231, 0]))
    print(any([0]))
    

    4. 进制转换

    print(bin(3))   # 10进制转化为二进制
    print(hex(15))  # 10进制转化为16进制
    print(oct(15))  # 10  进制转化为8进制
    

    5. bool() 判断布尔值,除了下面三个,其他都返回True

    print(bool(0))
    print(bool(''))  #可以是空列表空元组
    print(bool(None))
    

    6. 编码:bytes:把字符串转换为字节,需要手动指明编码格式

    name = '大白'
    print(bytes(name, encoding = 'utf - 8'))  # utf-8 一个中文 = 3 个字节
    

    解码:用什么格式编码就用什么格式解码,gbk 用2个字节表示中文,ASCII码不能表示中文,python3 默认utf - 8 解码

    name = '大白'
    print(bytes(name, encoding = 'utf - 8').decode('utf-8'))
    

    7. chr()  求一定范围内某个数字对应的ascii 码

    print(chr(1223))
    

    8. dir() 打印某一对象下面有哪些方法

    print(dir(dict))
    

    9. divmod() 用来作分页功能,第一个参数是内容总数,第二个参数是一页要显示的内容数,可求得要分几页,若有余数,自行加一

    print(divmod(10, 3))   10/3 商3余1
    

    10. eval 

    ①把字符串中的数据结构给提取出来

    dic_str1 = "{'name': 'alex'}"
    print((eval(dic_str1)))
    print(type(eval(dic_str1)))
    print(type(dic_str1))
    

    ②把字符串的表达式进行运算

    express = '1 + 1'
    print(eval(express))
    

    11. hash()  可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型

    特征:①得到的hash值不会随着传入内容的增长而变长(固定长度)

       ②不能根据hash值反推出原来内容  

       ③若原参数发生变化,得到的hash值也跟着变化,可用来检测数据是否被篡改

    print(hash('shfduqwhfkwsajdfh9237498231'))
    print(hash('5211314'))
    print(hash('5211314safhciwsafhwiofhdajskdhjioas;fhdasiodcjasodfacxasd'))
    name = 'jinling'
    print(hash(name))
    print(hash(name))
    name = 'dabai'
    print(hash(name))
    

    12. isinstance() 判断类型(学完面向对象再作修改)

    print(isinstance(1, int))
    print(isinstance('abc', str))
    print(isinstance([], list))
    print(isinstance([], tuple))
    

    13. globals() 和locals() 查看全局变量和局部变量

    name = '天青色等烟雨而我在等你'
    print(globals())
    def test():
        age = '18'
        print(locals())
    test()
    

    14. max 和min 最大值和最小值,max()里面传入的是可迭代类型

    age_dic = {'alex3': 18, 'liu1': 17, 'jinling2': 16}
    print(max(age_dic.values())) #指定比较values
    print(max(age_dic))  #默认比较的是key, 一位一位的比较
    

    从前往后循环比较,第一位最大就不比了,不同类型之间不能进行比较

    l1 = [
        (5, 'e'),
        (1, 'l'),
        (3, 'o'),
        (2, 'v')
    ]
    print(max(l1))
    

    15. zip函数,里面传入两个参数(序列),形成一一对应关系(拉链效果)

    print(list(zip(['l', 'o', 'v', 'e'], [1, 2, 3, 4])))
    

    p = {'name': 'alex', 'age': 18, 'gender': 'none'}
    print(list(zip(p.keys(), p.values())))
    

    16. max的高级用法,结合zip(min不在赘述,和max使用方法相同)

    dic = {'age': 18, 'age2': 10}
    print(max(dic))  #默认比较的是key
    print(max(dic.values()))   #比较的是key,但不知道是哪个key的
    
    print(max(zip(dic.values(), dic.keys())))
    

    people = [
        {'name': 'dabai', 'age': 21},
        {'name': 'jinling', 'age': 19},
        {'name': 'liu', 'age': 20},
        {'name': 'sb', 'age': 100}
    ]
    print(max(people, key=lambda dic: dic['age'])) #自己写函数规则
    

    自己结合max函数写了个排序(嘻嘻)

    li = [3, 5, 9, 7]
    l2 = []
    while len(li) > 1:
        a = min(li)
        l2.append(a)
        li.remove(a)
    l2.append(li[0])
    print(l2)
    

    17. ord ,和chr功能相反,ascill码的对应值

    print(chr(97))
    print(ord('a'))
    

    18. pow 幂运算

    print(pow(2, 2))   #2**3 
    print(pow(2, 2, 3)) #2**3 % 3 
    

    19. reversed()  翻转

    l1 = [1, 2, 3, 4, 5]
    print(list(reversed(l1)))
    

    20. round() 四舍五入

    print(round(4.6))
    

    21. set()  把参数转换为集合类型

    print(set('jinling'))
    

    22. since 切片,可以指定步长

    l = 'jinling'
    s1 = slice(3, 5)
    print(l[s1])
    s2 = slice(2, 5, 2)
    print(l[s2])
    print(s2.start)
    print(s2.stop)
    print(s2.step)
    

    23.sorted 排序,不同类型不能排

    l = [3, 2, 15, 7]
    print(sorted(l))
    

    高级用法

    people = [
        {'name': 'dabai', 'age': 21},
        {'name': 'jinling', 'age': 19},
        {'name': 'liu', 'age': 20},
        {'name': 'sb', 'age': 100}
    ]
    print(sorted(people, key = lambda dic: dic['age']))
    

    name_dic = {
        'liuwenhao': 10000,
        'jinling': 9999,
        'dabai': 9998
    }
    print(sorted(name_dic))  #默认比较key值
    print(sorted(name_dic, key = lambda key: name_dic[key]))
    print(sorted(zip(name_dic.keys(), name_dic.values())))
    

    24. sum求和

    l1 = [1, 2, 4, 5, 6]
    print(sum(l1))
    

    25. type 查看数据类型

    print(type('love'))
    

    26.  vars

    def test():
        msg = '月下门筒喟叹昨夜太平长安'
        print(locals())
        print(vars()) #没有参数时,效果和locals一样
    test()
    print(vars(int))  #把int下所有方法存成字典的形式
    

    27. __import__

    假如要导入的模块是字符串

    module_name = 'test'
    m = __import__(module_name)
    m.say_hai() #使用test中的方法
    

      

    一个奋斗中的产品小白
  • 相关阅读:
    java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
    project configuration is not up-to-date with pom.xml
    消息列队5
    消息列队4
    消息列队3
    聊聊常见的数据库架构设计方案?
    消息队列2
    消息队列1
    搜索引擎5
    搜索引擎4
  • 原文地址:https://www.cnblogs.com/dabai123/p/11144740.html
Copyright © 2020-2023  润新知