1. 程式人生 > >Python知識點-內置函數

Python知識點-內置函數

type pro bject 區別 clas 內置 module 16進制 object

1.staticmethod 靜態方法

class Foo:
    def __init__(self):
        pass
    def sa(x):#此處參數無self,就是個普通方法
        print(x)
    spam=staticmethod(spam) #把spam函數做成靜態方法
Foo.sa()#類可以直接調用
f=Foo()#也可以實例化調用
f.sa()

#等同於在普通函數上加裝飾器
class Foo:
    def __init__(self):
        pass
    @staticmethod #靜態方法
    def sa(x):
        
print(’裝飾器形式‘)

2.__import__ 動態模塊導入

__import__(xx.xx)# 以字符串形式import模塊。
#推薦導入方式下面這種
import importlib
xxx=importlib.import_module(xx.xx)

3.all() 判斷給定的所有叠代對象為True時返回True

4.enumerate(seq,index)遍歷對象加索引,模式是0開始,可以設定index值1,從1開始

5.int(x,base=10) base 默認是10 也就是說10進制

#base傳入值時x必須為字符串形式,base為當前字符串的進制,都是轉換為10進制
print(int(0x12,16)) # 16進制的0X12 轉換為10進制 print(int(10,8)) # 8進制的10 轉換為10進制 print(int(110,2))#2進制110 轉換10進制

6.ord(c) 返回對應的 ASCII 數值

ord(a) #a 所對應的ASCII碼97

7.chr(c)用一個範圍在 range(256)內的(就是0~255)整數作參數,返回一個對應的字符。

#c可以是10進制或者16進制形式
>>>print chr(0x30), chr(0x31), chr(0x61) # 十六進制 0 1 a >>> print
chr(48), chr(49), chr(97) # 十進制 0 1 a

8.hex() 函數用於將10進制整數轉換成16進制,以字符串形式表示。

>>>hex(255)
0xff
>>> hex(-42)
-0x2a
>>> hex(1L)
0x1L
>>> hex(12)
0xc
>>> type(hex(12))
<class str>      # 字符串

9.oct()函數將一個整數轉換成8進制字符串。

>>>oct(10)
012
>>> oct(20)
024
>>> oct(15)
017

10bin()返回一個整數 int 或者長整數 long int 的二進制表示。

11.eval() 函數用來執行一個字符串表達式,並返回表達式的值。

>>>x = 7
>>> eval( 3 * x )
21
>>> eval(pow(2,2))
4
>>> eval(2 + 2)
4
>>> n=81
>>> eval("n + 4")
85

12.iter()函數用來生成叠代器。

13.super() 函數是用於調用父類(超類)的一個方法。

  Python 3 可以使用直接使用 super().meth(x) 代替 super(Class, self).meth(x)

14.locals() 函數會以字典類型返回當前位置的全部局部變量。

def bar(arg):    # 兩個局部變量:arg、z
    z = 1
    print (locals())

bar(4)
{z: 1, arg: 4}      # 返回一個名字/值對的字典

15.reduce() 函數會對參數序列中元素進行累積。

def add(x, y) :            # 兩數相加
    return x + y

>>> reduce(add, [1,2,3,4,5])   # 計算列表和:1+2+3+4+5
15
>>> reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函數
15

16.property

class C(object):
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x

    def setx(self, value):
        self._x = value

    def delx(self):
        del self._x

    x = property(getx, setx, delx, "I‘m the ‘x‘ property.")
c=C()
print(c.setx(10),c.getx(),c.delx())

#等同於使用@property
class C(object):
def __init__(self):
self._x = None
@property
def x(self):
return self._x
@x.setter
def x(self,value):
self._x = value
@x.deleter
def x(self):
del self._x

c=C()
c.x=100
print(c.x)

17.sorted() 函數對所有可叠代的對象進行排序操作。 

  sort 與 sorted 區別:

  sort 是應用在 list 上的方法,sorted 可以對所有可叠代的對象進行排序操作。

  list 的 sort 方法返回的是對已經存在的列表進行操作,無返回值,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。

18.cmp(x,y) 函數用於比較2個對象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

Python知識點-內置函數