zoukankan      html  css  js  c++  java
  • Python内置函数7

    Python内置函数7

    1.property
    python内置的一个装饰器
    可参考https://blog.csdn.net/u013205877/article/details/77804137

    2.quit()
    退出程序
    >>> quit()
    
    C:UserswyjDesktop	mpABC>

    3.repr(object)
    将对象转化为供解释器读取的形式,返回一个对象的 string 格式
    4.reversed(seq)    seq -- 要转换的序列,可以是 tuple, string, list 或 range

    返回一个反转的迭代器

    5.round(x [, n])

    x -- 数字表达式。
    n -- 表示从小数点位数,其中 x 需要四舍五入,默认值为 0
    返回浮点数x的四舍五入值
    print ("round(70.23456) : ", round(70.23456))
    print ("round(56.659,1) : ", round(56.659,1))
    print ("round(80.264, 2) : ", round(80.264, 2))
    print ("round(100.000056, 3) : ", round(100.000056, 3))
    print ("round(-100.000056, 3) : ", round(-100.000056, 3))

    输出结果

    round(70.23456) :  70
    round(56.659,1) :  56.7
    round(80.264, 2) :  80.26
    round(100.000056, 3) :  100.0
    round(-100.000056, 3) :  -100.0
    6.setattr(object, name, value)

    setattr 函数对应函数 getatt(),用于设置属性值,该属性必须存在

    object -- 对象。
    name -- 字符串,对象属性。
    value -- 属性值
    >>>class A(object):
    ...     bar = 1
    ...
    >>> a = A()
    >>> getattr(a, 'bar')          # 获取属性 bar 值
    1
    >>> setattr(a, 'bar', 5)       # 设置属性 bar 值
    >>> a.bar
    5
    7.slice(start, stop[, step])

    实现切片对象,主要用在切片操作函数里的参数传递
    start -- 起始位置
    stop -- 结束位置
    step -- 间距
    >>>myslice = slice(5)    # 设置截取5个元素的切片
    >>> myslice
    slice(None, 5, None)
    >>> arr = range(10)
    >>> arr
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> arr[myslice]         # 截取 5 个元素
    [0, 1, 2, 3, 4]
    >>>
    8.sorted(iterable, key=None, reverse=False)

    对所有可迭代的对象进行排序操作

    iterable -- 可迭代对象。
    key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。


    以下实例展示了 sorted 的最简单的使用方法:
    >>>sorted([5, 2, 3, 1, 4])
    [1, 2, 3, 4, 5]                      # 默认为升序
    你也可以使用 list 的 list.sort() 方法。这个方法会修改原始的 list(返回值为None)。通常这个方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率会稍微高一些。
    >>>a=[5,2,3,1,4]
    >>> a.sort()
    >>> a
    [1,2,3,4,5]
    另一个区别在于list.sort() 方法只为 list 定义。而 sorted() 函数可以接收任何的 iterable
    >>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
    [1, 2, 3, 4, 5]
    利用key进行倒序排序
    >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
    >>> result_list = sorted(example_list, key=lambda x: x*-1)
    >>> print(result_list)
    [7, 6, 5, 4, 3, 2, 1, 0]
    >>>
    要进行反向排序,也通过传入第三个参数 reverse=True:
    >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
    >>> sorted(example_list, reverse=True)
    [7, 6, 5, 4, 3, 2, 1, 0]
    sorted 的应用,也可以通过 key 的值来进行数组/字典的排序,比如:
    array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}]
    array = sorted(array,key=lambda x:x["age"])
    print(array)
    输出结果:
    [{'age': 10, 'name': 'c'}, {'age': 20, 'name': 'a'}, {'age': 25, 'name': 'b'}]
    9.staticmethod(function)
    返回函数的静态方法
    该方法不强制要求传递参数,如下声明一个静态方法:
    class C(object):
    @staticmethod
    def f(arg1, arg2, ...):
    ...

    以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()
    class C(object):
        @staticmethod
        def f():
            print('runoob');
    
    C.f();          # 静态方法无需实例化
    cobj = C()
    cobj.f()        # 也可以实例化后调用
    10.super(type[, object-or-type])

    super() 函数是用于调用父类(超类)的一个方法。

    super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

    MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

    type -- 类。
    object-or-type -- 类,一般是 self
    Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx :

    Python3.x 实例:
    class A:
        pass
    class B(A):
        def add(self, x):
            super().add(x)
    class A(object):   # Python2.x 记得继承 object
        pass
    class B(A):
        def add(self, x):
            super(B, self).add(x)

    运行结果

    Parent
    Child
    HelloWorld from Parent
    Child bar fuction
    I'm the parent.
    11.vars([object])

    返回对象object的属性和属性值的字典对象
    返回对象object的属性和属性值的字典对象,如果没有参数,就打印当前调用位置的属性和属性值 类似 locals()
    12.zip([iterable, ...])    iterabl -- 一个或多个迭代器
    >>>a = [1,2,3]
    >>> b = [4,5,6]
    >>> c = [4,5,6,7,8]
    >>> zipped = zip(a,b)     # 返回一个对象
    >>> zipped
    <zip object at 0x103abc288>
    >>> list(zipped)  # list() 转换为列表
    [(1, 4), (2, 5), (3, 6)]
    >>> list(zip(a,c))              # 元素个数与最短的列表一致
    [(1, 4), (2, 5), (3, 6)]
    
    >>> a1, a2 = zip(*zip(a,b))          # 与 zip 相反,*zip 可理解为解压,返回二维矩阵式
    >>> list(a1)
    [1, 2, 3]
    >>> list(a2)
    [4, 5, 6]
    >>>
    Python内置函数到此全部结束

  • 相关阅读:
    微信第三方登录,ios第三方登录(没有进行二次封装,直接调用)
    How Do I Declare A Block in Objective-C?
    Android与JS混编(js调用java)
    React-Native做一个文本输入框组件
    如何在程序退出的时候清除activity栈
    React react-ui-tree的使用
    React-Native OpenGL体验二
    React-Native OpenGL体验一
    react-native使用react-art制作SVG动画
    Android画一个随意拖动的圆形
  • 原文地址:https://www.cnblogs.com/Keys819/p/9590415.html
Copyright © 2011-2022 走看看