《Python核心编程第二版》笔记(三)

  • os.lineseq字符串给出当前平台使用的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’。
  • python的性能测试器:profile模块、hotshot模块、cProfile模块。
  • anaconda的控制台打开命令:anaconda-navigator
  • 在Python中,构造任何类型的值都是一个对象。
  • 所有的Python对象都有三个特性:身份、类型、值。
  • 身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以用内建函数id()来获取。
  • 类型,可以用type()函数查看Python对象的类型。
  • 值:对象表示的数据项。
  • Python的标准类型有:数字、整型(Integer)、布尔型(Boolean)、长整型
  • a is b这句话相当于id(a) == id(b)
  • 内建函数cmp(obj1,obj2):如果obj1小于obj2,返回一个负整型,大于返回正整型,obj1=obj2,返回0

str()和repr()的区别与联系:

str()函数得到的字符串可读性好,很适合用print()输出,但其结果通常无法用于eval()求值。
repr()函数对python比较友好,其结果通常可以用eval()来重新获得该对象。如:

obj == eval(repr(obj))

总的来说,就是str()对用户比较友好,repr()对python比较友好。


  • type返回任意python对象的类型,而不局限于标注类型
  • python isinstance()type()的区别在于,instance()接受一个类型对象的元组作为参数,这样我们就不用type()那样写一堆if-elif-else判断了。
num = 11
if isinstance(num, (int, long, float, complex)):
  print "number"
数据类型 存储模型 更新模型 访问模型
数字 标量 不可更改 直接访问
字符串 标量 不可更改 顺序访问
列表 容器 可更改 顺序访问
元组 容器 不可更改 顺序访问
字典 容器 可更改 映射访问
  • Python没有char或byte类型来保存单一字符或8位整型。你可以使用长度为1的字符串来表示字符或8位整型。
  • Python替你管理内存,因此你没必要使用指针,id()更接于指针,其实在Python中一切都是指针。
  • 在Python3中,整型不分long、int、short,统一为int。
  • 不同于C语言有单精度和双精度浮点,Python的浮点类型为双精度,取值范围大,但是精度相对较低。
    对于那些宁愿放弃更大的取值范围而需要更高精确度的用户来说,Python还有一种十进制浮点类型Decimal,不过需要导入decimal模块。如:
>>> a = 1.232134345456475687568566786785678
>>> a
1.2321343454564757
>>> import decimal
>>> a = decimal.Decimal(1.12343456547567675662523452345235)
>>> a
Decimal('1.1234345654756767718396304189809598028659820556640625')

你可能感兴趣的:(《Python核心编程第二版》笔记(三))