您的位置:首页 > 编程语言 > Python开发

python 对象练习

2010-11-17 16:12 211 查看
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个对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: