Python標準模塊--built-ins函數

MelvinaCalv 8年前發布 | 8K 次閱讀 Python Python開發

1.Python內置函數

2.Python內置函數舉例

2.1 數學運算

abs,計算絕對值;

>>> abs(-1)
1
>>> abs(3)
3

round,四舍五入;

>>> round(2.9)
3.0
>>> round(2.45)
2.0
>>> round(-1.2)
-1.0
>>> round(-1.6)
-2.0

pow,計算冪;

>>> pow(2,3)#2**3
8
>>> pow(2,3,5)#2**3%5
3

cmp,比較兩個數大小,返回0,表示相等,返回-1;表示左邊數值小于右邊數值;返回1,表示左邊數值大于右邊數值;

>>> cmp(2.3,2.3)
0
>>> cmp(2.3,2.4)
-1
>>> cmp(2.3,2.2)
1

divmod,返回除法的結果和余數;

>>> divmod(9,4)
(2, 1)
>>> divmod(9,3)
(3, 0)

max,求最大值;

>>> max([1,2,3,-1,0])
3

min,求最小值;

>>> min([1,2,3,-1,0])
-1

sum,求和;

>>> sum([1,2,3,4,5])
15

2.2 類型轉換

int,轉換為整數,integer;

>>> int("32")
32
>>> int("-2")
-2
>>> int("-1.2")
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    int("-1.2")
ValueError: invalid literal for int() with base 10: '-1.2'

float,轉換為浮點型,float;

>>> float("-1.2")
-1.2
>>> float("-1.20")
-1.2
>>> float("-0.3")
-0.3
>>> float("1")
1.0

long,轉換為長整型,long integer;

>>> long("1234567890")
1234567890L

str,轉換為字符串類型,string;

>>> str(123)
'123'

complex,轉換為復數類型;

>>> complex(3,2)
(3+2j)

ord,轉換為字符對應的數值;

>>> ord('a')
97

chr,轉換為字符對應的數值;

>>> chr(97)
'a'

unichr,轉換為數值對應的unicode字符;

>>> unichr(97)
u'a'

bool,轉換為相應的真假值;

>>> bool(0)
False
>>> bool(1)
True

bin,返回一個字符串,表示一個數值的二進制數;

>>> bin(31)
'0b11111'

hex,返回一個字符串,表示一個一個數值的十六進制數;

>>> hex(31)
'0x1f'

oct,返回一個字符串,表示一個數值的八進制數;

>>> oct(31)
'037'

list,轉換為列表;

>>> list((1,2,3,4))
[1, 2, 3, 4]

tuple,轉換為定值表;

>>> tuple([1,2,3,4])
(1, 2, 3, 4)

slice,構建下標對象;

>>> a = [1,2,3,4,5]
>>> slices = slice(0,4,2)
>>> a[slices]
[1, 3]

dict,構建詞典;

>>> dict(a=1,b=[1,2],c='hello')
{'a': 1, 'c': 'hello', 'b': [1, 2]}

2.3 序列操作

all,所有元素都相當與True;

>>> a = range(0,4)
>>> b = range(1,4)
>>> a
[0, 1, 2, 3]
>>> b
[1, 2, 3]
>>> all(a)
False
>>> all(b)
True

any,是否有任意一個元素相當于True;

>>> a = [0]
>>> b = range(0,4)
>>> a
[0]
>>> b
[0, 1, 2, 3]
>>> any(a)
False
>>> any(b)
True

sorted,返回排序后的序列,默認是遞增序列,如果指定reverse為True,則返回遞減序列;

>>> a = [1,4,3,2]
>>> sorted(a)
[1, 2, 3, 4]
>>> sorted(a,reverse=False)
[1, 2, 3, 4]
>>> sorted(a,reverse=True)
[4, 3, 2, 1]

reversed,返回反序的序列;

>>> a = [1,4,3,2]
>>> b = [ele for ele in reversed(a)]
>>> b
[2, 3, 4, 1]

2.4 類,對象,屬性

hasattr,檢查對象是否擁有某個屬性;

getattr,返回某屬性;

setattr,將對象中的屬性設置為新的屬性;

delattr,刪除對象中的屬性;

isinstance,判斷對象是否為類生成的對象;

issubclass,判斷類是否為某類的子類;

class A(object):
    def init(self):

    # 定義屬性value
    self.value = [2,3,0]
    # 定義屬性min,為built-in中的min函數
    self.min = min

def getValue(self):
    return self.value
def minValue(self):
    return self.min(self.value)

定義對象Aobject

Aobject = A()

獲取Aobject所有的屬性

print dir(Aobject)

['class', 'delattr', 'dict', 'doc', 'format', 'getattribute', 'hash', 'init', 'module', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', 'getValue', 'min', 'minValue', 'value']

判斷Aobject是否有value屬性

print hasattr(Aobject,"value")

True

獲取Aobject的vallue屬性

print getattr(Aobject,"value")

[2, 3, 0]

將Aobject的min屬性修改為max

setattr(Aobject,"min",max)

調用minValue,將會返回列表的最大值

print Aobject.minValue()

3

刪除Aobject的value屬性

delattr(Aobject,"value")

判斷Aobject是否有value屬性

print hasattr(Aobject,"value")

False

判斷Aobject是否為類A的實例

print isinstance(Aobject,A)

True

判斷A是否為object的子類

print issubclass(A,object)

True</code></pre>

2.5 編譯,執行

repr,返回對象的字符串表達式;

class A(object):
    def init(self):

    # 定義屬性value
    self.value = [2,3,0]
    # 定義屬性min,為built-in中的min函數
    self.min = min

def getValue(self):
    return self.value
def minValue(self):
    return self.min(self.value)


定義對象Aobject

Aobject = A() b = repr(Aobject) print b</code></pre>

compile,編譯字符串成為code對象;

testCode = compile("for i in range(10): print i,","",'exec')
exec testCode

print "" testCode2 = compile("3 * 4 + 5",'','eval') print eval(testCode2)</code></pre>

eval,解釋字符串表達式,參數也可以是compile()返回的code對象;

>>> eval("1+3")
4

exec,解釋并執行字符串,參數也可以是compile()返回的code對象;

>>> exec("print ('hello world')")
hello world

2.6 其它

input,等待輸入;

raw_input,等待輸入;

>>> input("please input:")
please input:"sting"
'sting'
>>> raw_input("please input:")
please input:string
u'string'

raw_input()直接讀取控制臺的輸入(任何類型的的輸入它都可以接收);

input(),希望能夠讀取一個合法的python表達式,即你輸入字符串的時候,必須使用引號將它括起來,否則會引發一個SyntaxError。

input()本質上還是使用raw_input()函數來實現,只是調用完raw_input()之后,在調用eval()函數,所以,你甚至可以將表達式作為input()的參數,并且它會計算表達式的值并返回它。

除非對input()有特別需要,否則一般情況下我們都是推薦使用raw_input()來與用戶交互。

例如,

>>> raw_input("please:")
please:1+2
'1+2'
>>> input("please:")
please:1+2
3
>>> raw_input("please:")
please:'a'
"'a'"
>>> input("please:")
please:'a'
'a'
>>> raw_input("please:")
please:
''
>>> input("please:")
please:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "<string>", line 0

^

SyntaxError: unexpected EOF while parsing</code></pre>

globals,返回全局命名空間,比如全局變量名,全局函數名;

locals,返回局部命名空間;

3.Reference

2. Built-in Functions

python函數: 內置函數

 

來自:http://www.cnblogs.com/zhbzz2007/p/6058634.html

 

 本文由用戶 MelvinaCalv 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!