python 对象练习

2023-01-31 02:01:07 python 对象

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个对象。

相关文章