歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python腳本編程:標准類型運算符和內建函數

1.標准類型運算符:

  (1)對象值的比較

  (2)對象身份的比較:

          例1.如:foo1 = foo2 = 4.3    表示foo1和foo2指向相同的對象.(這條語句等同於 foo1 = 4.3  foo2 = foo1)  因為python是通過傳遞引用來處理對象的.

          例2.foo1 = 4.3              第一個數值對象被創建,然後賦值給foo1,


                  foo2 = 1 + 3.3      第二個對象被創建,並賦值給foo2.

盡管兩個對象保存的是同樣大小的值,但是系統保存的是兩個獨立的對象,foo1引用對象1,而foo2 是對另一個對象的引用.

注:每個對象都天生具有一個計數器,記錄它自己的引用次數。這個數目表示有多少個變量指向該對象。可以用 is和 is not運算符來判斷兩個變量是否指向同一個對象.

    a is b 等價於id(a) == id (b)      ------------a,b是同一個對象.

    (3).Python會緩存整數對象:(-1,100)這個范圍可能改變.

        >>> a = 1
        >>> id(a)
        144207208
        >>> b = 1
        >>> id(b)
        144207208                                        可以看出1被緩存了,地址不變


        >>> c = 1.0
        >>> id(c)
        144243140
        >>> d = 1.0
        >>> id(d)
        144243124                                      1.0沒有被緩存.
2.內建函數:

(1)type() 接受一個對象做為參數,並返回它的類型---------type()返回任意Python對象的類型,而不局限於標准類型.


(2)cmp()用於比較兩個對象obj1 和obj2, 如果obj1 小於obj2, 則返回一個負整數,如果obj1 大於obj2 則返回一個正整數, 如果obj1 等於obj2, 則返回0。


(3)內建函數 str() 和 repr() 或反引號運算符(``) 可以方便的以字符串的方式獲取對象的內容、類型、數值屬性等信息。

    通常情況下:obj = eval(repr(obj))

(4)isinstance()用法例子:

#!/usr/bin/env python 
 
def displayNumType(num): 
    print num, 'is', 
    if isinstance(num, (int, long, float, complex)): 
        print 'a number of type:', type(num).__name__ 
    else: 
        print 'not a number at all!!' 
 
displayNumType(-69) 
displayNumType(9999999999999999999L) 
displayNumType(98.6) 
displayNumType(-5.2+1.9j) 
displayNumType('xxx') 

Copyright © Linux教程網 All Rights Reserved