首页 / 操作系统 / 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")
收藏该网址