python 对象练习
时间:2010-08-22 来源:night85
1.与所有python对象相关的三个属性。
身份:唯一的身份标识,使用内建函数id()得到,可以被认为是对象的内存地址。
类型:决定对象可以保存什么类型的值,可进行什么样的操作,遵循什么样的规则。使用type()得到。
值:对象表示的数据项。
2.不可更改(immutable)值的是什么,哪些类型可更改(mutable),哪些不是?
可改变类型:列表,字典
aList = ['1,2,3']
id(aList) >> 135443480
aList[2] = aList[2] + 1
aList >> ['1,2,4']
id(aList) >> 135443480
不可改变类型:数字,字符串,元组
x = 'abc'
print id(x) >> 16191392
x = 'cde'
print id(x) >> 16191232
3.哪些python类型是按照顺序访问的,和映射类型有什么不同?
直接访问:数字
顺序访问:字符串,列表,元组
映射访问:字典
顺序访问从0开始的索引顺序访问;映射类型元素无序存放,通过唯一的键来访问。
4.内建函数type()做什么,type()返回的对象是什么?
type()返回任意python对象的类型。
5.str()和repr()之间的不同?哪一个等价于反引号(``)操作符?
以字符串方式获取对象的内容,类型,数值属性等信息。
str()生成一个对象的可读性好的字符串标识,返回结果无法用于eval()求值,但很适用于print输出
repr()等价于反引号(``)操作符返回一个对象的官方字符串表示,绝大多数情况可以通过求值运算重新得到该对象。
6.type(a) == type(b) 和type(a) is type(b) 有什么不同?为什么会选择后者?函数isinstance()与这有什么关系?
if isinstance(num,int)....
前者时候两次type调用,后者节省1次。
7.给定以下赋值:
a=10 b=10 c=100 d-100 e=10.0 f=10.0
请问下面各表达式的输出时什么?问什么?
(a) a is b
输出True a,b小整型python缓存。
(b) c is d
输出Fales c,d超出python缓存范围
(c) e is f
输出Fales e,f为浮点型python不缓存,为创建了2个对象。
相关阅读 更多 +