用微课学Python云开发技术应用 课件 02-7 工厂函数、可变与不可变对象(终稿).pptx

用微课学Python云开发技术应用 课件 02-7 工厂函数、可变与不可变对象(终稿).pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Python开发技术应用》 02-7 工厂函数、可变与不可变对象 教学环节 工厂函数 不可变对象 可变对象 1 2 3 在之前的课程中,我们已经见过了一些工厂函数,我们用float和int函数来转换数据类型,我们也可以直接用这些工厂函数产生新的变量。 2.7.1 工厂函数 a=int(2) b=float(2.7) a 2 b 2.7 在Python中一切都是对象。根据面向对象编程的概念,对象是类的实例。所以,整数、浮点数或其它数据类型都是内建的类,而工厂函数其实是这些类的构造方法,你通过构造方法产生了该类的实例。 2.7.2 不可变对象 不可变对象,顾名思义,其内容不可改变。在前面介绍的数据类型中,数字型(整型和浮点型)、布尔型、None、字符串、元组、不可变集合(FrozenSet)都是不可变对象。以数字型为例,当你将一个数字赋值给一个变量时,实际上是这个数字链接到了该变量,或者说该变量引用了这个数字。 Python中的变量存放的是对象引用,所以对于不可变对象而言,尽管对象本身不可变,但变量对于对象的引用是可变的。这么看来,不可变对象似乎也可以变化了。 在对象重新赋值的前后,不可变的对象的特征没有变,依然是不可变对象,变的只是创建了新对象,改变了变量的对象引用。 2.7.2 不可变对象 2.7.3 可变对象 可变对象有列表、字典和(可变的)集合,所谓可变对象是指,对象的内容是直接可变的,也就是说,无需重新赋值便可更改其内容。可变对象的变化方式基于对象自身的方法(你可以像调用函数一样调用对象的方法,事实上,在C++里常常把对象的方法叫做成员函数),例如列表,我们已经知道它是一种类似于C语言中数组的数据类型,它有一些方法可以用来修改自己。下面的代码演示了列表对象如何通过append()方法来追加一个元素(即成员数据)。 list1 = [1,2,3] list1.append(5) list1 [1, 2, 3, 5] 上面的代码说明了一个可变对象是如何变化的——不需要再次赋值。 你可能已经注意到了,不可变对象的类型要比可变对象多。那么,为什么要设计出这么多的不可变对象呢?因为不可变对象一旦创建,其内部的数据就不能修改,从而减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时读取对象不需要加锁,同时读一点问题都没有。在编写程序时,如果情况允许,就应该尽量使用不可变对象。 2.7.3 可变对象 THANK YOU!

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档