速撸《python学习手册》--第4章-介绍python对象类型

python的组成全景:

  • 程序由模块构成
  • 模块包含语句
  • 语句包含表达式
  • 表达式建立并处理对象

python的内置对象:

  • 数字
  • 字符串
  • 列表
  • 字典
  • 元组
  • 文件
  • 集合
  • 其他类型: 类型、None、布尔型
  • 编程单元类型: 函数、类、模块
  • 与实现相关的类型: 编译的代码堆栈跟踪

数字

数字包含:整数、浮点数、复数、十进制数、带分子和分母的有理分数以及集合

注意:python的整数类型会自动提供额外的精度

python的命令行交互方法调用的是repr,而print调用的str

字符串

字符串就是序列中的元素包含了一个从左到右的顺序—序列中的元素根据它们的相对位置进行储存和读取。从严格意思上来说,字符串是单个字符的字符串的序列,其他类型的序列还包括列表和元组。

序列的操作

  • len()
  • 切片
  • S[-1] 和 S[len(s)-1] 结果相等
  • S[:] 可以作为复制

不可变性

类型特定的方法

  • .find()

  • .replace()

  • .split()

  • .upper()

  • .isalpha()

  • .isupper()

  • .strip()

寻求帮助

  • dir(s) :显示可以调用的方法
  • help(s.replace) :显示帮助信息

列表

列表是一个任意类型的对象的位置相关的有序集合。其大小可变。

序列操作

L 是一个list

  • len()

  • L+L[:2]

类型特定的操作

  • l.append()
  • l.pop()
  • l.sort()
  • l.reverse()

边界检查

python不允许引用和赋值列表不存在的元素。

嵌套

列表可以嵌套,这样即形成了多重列表。

列表解析

  • [row[1] for row in M if row[1] % 2 == 0]

列表解析的速度有优势

注意,将列表表达式的中括号换成括号,列表表达式将会变成一个生成器。

In [8]: M=[1,2,3,4,5,6,7,8,9]

In [11]: G=(row*2 for row in M)

In [12]: next(G)

解析语法同样可以创建集合和字典

In [22]: M=[[1,2,3],[4,5,6],[7,8,9]]

In [23]: {sum(row) for row in M}
Out[23]: {6, 15, 24}

In [24]: {i: sum(M[i]) for i in range(3)}
Out[24]: {0: 6, 1: 15, 2: 24}

字典

字典就是一种映射,他并不是基于位置映射,而是基于key来映射

映射操作

即可以通过key来获得字典的value

重访嵌套

即字典可以值内嵌套字典

键的排序:for循环

d 是一个字典

  • d.keys()
  • for key in s : 循环的是key
  • d.items()
  • d.values()

迭代和优化

列表表达式就是一个迭代工具。

不存在的键: if 测试

In [42]: 'f' in d
Out[42]: False

In [43]: if not 'f' in d:print('not in')
not in

In [46]: d['x'] if 'x' in d else 0
Out[46]: 0

In [47]: d.get('x',0)
Out[47]: 0

元组

元组是一个不可变的列表,他提供了完整的约束。

  • .index()
  • .count()

文件

文件对象是python代码对电脑上外部文件的主要接口。

没有特定的常量语法创建文件,如果需要创建一个文件对象,需调用内置的open函数以字符串的形式传递给他它一个外部的文件名以及一个处理模式的字符串。

其他核心类型

# 例如集合
In [48]: X=set('spam')

In [49]: Y={'h','a','m'}

In [50]: X,Y
Out[50]: ({'a', 'm', 'p', 's'}, {'a', 'h', 'm'})

In [51]: X&Y
Out[51]: {'a', 'm'}

In [52]: X|Y
Out[52]: {'a', 'h', 'm', 'p', 's'}

In [53]: X-Y
Out[53]: {'p', 's'}
    
  
# 固定精度浮点数
In [54]: 1/3
Out[54]: 0.3333333333333333

In [55]: (2/3)+(1/2)
Out[55]: 1.1666666666666665

In [56]: import decimal

In [57]: d=decimal.Decimal('3.141')

In [58]: d+1
Out[58]: Decimal('4.141')

In [59]: decimal.getcontext().prec=2

In [60]: decimal.Decimal('1.00') / decimal.Decimal('3.00')
Out[60]: Decimal('0.33')

如何破坏代码的灵活性

用户定义的类

习题

  1. 什么是不可变?

即创建之后就不可以被改变,数字、字符串和元组都属于这个分类。

  1. 什么是’序列‘?

即对位置排序的对象和集合。字符串、列表和元组都在这个分类,他们有共同的操作是索引、合并和切片。

  1. 什么是’映射‘?

即将键和相关值相互关联映射的对象。字典属于此类。

  1. 什么是多态?

多态意味着一个操作符的意义区别于被操作的对象。python的关键思想就是多态,不要把代码限制在特定的类型上,使代码自动适用于多种类型。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容