歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python腳本編程:標准類型運算符和內建函數

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

日期:2017/3/1 10:05:48   编辑:Linux編程

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