• day11 内置函数


    特殊算数运算

      计算整数的和
    1 l = [1,2,3,4,5]
    2 print(sum(l))
      
    除法运算,然后取余
        在做页面的时候可以根据数据量分页的时候使用
    1 print(divmod(10,3))    # (3, 1)
      
    四舍五入
    1 print(round(3.5))
      
    计算绝对值
    1 print(abs(-1))



    布尔运算判断
      
    将序列的元素进行布尔运算
        0,none,空为假,其他为真
        一个为假就输出false
        特例:如果没有元素则返回true
    1 print(all([1,2,3,4,"yang",5,0]))   # False
    2 print(all([]))                        # True
      
    将序列的元素进行布尔运算,0,none,空为假,其他为真
        任意为真就输出true
    1 print(any([0,1]))  # True 
      
    判断布尔值
        以下为fales,其他都是true
    1 print(bool(None))
    2 print(bool(""))
    3 print(bool(0))

    进制转换
      
    十进制转换成二进制
    1 print(bin(3))
      
    十进制转换成八进制
    1 print(oct(3))
      
    十进制转换成十六进制
    1 print(hex(12))



    字符串转换

      
    转换成字符串形式
        用处比较宽泛,比如数字转换字符串来拼接而不是相加之类的
        ps:被字符串化后的数据可以用eval提取出来其原来的结构
    1 dic = {'yangtuo':"tiancai"}
    2 dic_str = str(dic)
    3 print(dic_str)            # {'yangtuo': 'tiancai'}
    4 print(type(dic_str))    # <class 'str'>
      
    将字符串中的数据结构提取出来
    1 dic = {'yangtuo':"tiancai"}
    2 dic_str = str(dic)
    3 di = eval(dic_str)
    4 print(di["yangtuo"])     # tiancai   
        
    如果是一组操作数可以直接计算出来
    1 d2 = "1*8*96"
    2 print(eval(d2))  # 768

     

    使用帮助方法
      
    显示用法
    1 print(help(all))
    1 elp on built-in function all in module builtins:
    2 
    3 all(iterable, /)
    4     Return True if bool(x) is True for all values x in the iterable.
    5     
    6     If the iterable is empty, return True.
    7 
    8 None
      
    显示可以使用的方法名字
    1 print(dir(all))
    1 ['__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__']
      
    查看全局变量
    1 name = "sssjsjk"
    2 print(globals())
      
    查看局部变量
    1 def test():
    2     print(globals())
    3     name = "46456464646"
    4 print(locals())

    
    
    其他方法
      

    ACLSS表中的对应号码转换
    1 print(chr(97))     # a    # 编号对应的字符 
    2 print(ord("a"))    # 97   # 字符对应的编号
      
    哈希运算
        只有不可变数据类型才可以哈希,可变的无法哈希
        无法通过哈希值反推出源数据
        不管多长代码,得出的哈希值都是一定的长度
    1 print(hash("121343shdahkdsh"))
      
    翻转,但是不改变源数据
    1 l = [1,2,3,4]
    2 print(list(reversed(l)))    # [4, 3, 2, 1]
    3 print(l)                    # [1, 2, 3, 4]
      
    定义切分方法,减少硬编码,增加可读性
    1 l = "hello"
    2 print(l[3:5])
    3 s1 = slice(3,5)
    4 s2 = slice(1,4,2)
    5 print(l[s1])
    6 print(l[s2])
      
    排序,本质就是比较大小,不同类型无法比较大小后排序
    1 l = [3,2,1,5,7]
    2 l2 = [3,2,1,5,7,"a"]
    3 print(sorted(l))
    4 print(sorted(l2))  # TypeError: '<' not supported between instances of 'str' and 'int'
      
    较为复杂的排序
        比较年领
    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(sorted(people,key=lambda dic:dic["age"]))
        
    比较价格 返回不同的值
    1 name_dic={
    2     'abyuanhao': 11900,
    3     'alex':1200,
    4     'wupei':300,
    5 }
    6 print(sorted(name_dic))     # 按照key去比较。返回key
    7 print(sorted(name_dic,key=lambda key:name_dic[key]))    # 按照values比较。返回的是key
    8 print(sorted(zip(name_dic.values(),name_dic.keys())))    # 按照先比较values比较,然后返回全部的键值对
    其他sorted详细使用见此链接
    http://www.runoob.com/python/python-func-sorted.html





    比较年领
  • 相关阅读:
    常用排序
    NetBeans 时事通讯(刊号 # 130 Dec 23, 2010)
    《让子弹飞》向我们提出的问题
    NetBeans 时事通讯(刊号 # 130 Dec 23, 2010)
    过去与今天
    过去与今天
    不搞笑不给力——年会小品《山寨新闻联播》
    GAE 博客——B3log Solo 0.2.5 Beta1 发布了!
    EverBox(同步网盘)邀请
    GAE 博客——B3log Solo 0.2.5 Beta1 发布了!
  • 原文地址:https://www.cnblogs.com/shijieli/p/9698838.html
Copyright © 2020-2023  润新知