当前位置: 首页 > wzjs >正文

做知识产权服务的网站排版设计

做知识产权服务的网站,排版设计,合肥论坛网站建设,百度分享wordpress变量不是盒子 1997 年夏天,我在 MIT 学了一门 Java 课程。Lynn Andrea Stein 教授 (一位获奖的计算机科学教育工作者,目前在欧林工程学院教书)指 出,人们经常使用“变量是盒子”这样的比喻,但是这有碍于理…

变量不是盒子

1997 年夏天,我在 MIT 学了一门 Java 课程。Lynn Andrea Stein 教授
(一位获奖的计算机科学教育工作者,目前在欧林工程学院教书)指
出,人们经常使用“变量是盒子”这样的比喻,但是这有碍于理解面向对
象语言中的引用式变量。Python 变量类似于 Java 中的引用式变量,因此
最好把它们理解为附加在对象上的标注。

在示例 8-1 所示的交互式控制台中,无法使用“变量是盒子”做解释。图
8-1 说明了在 Python 中为什么不能使用盒子比喻,而便利贴则指出了变
量的正确工作方式。

示例 8-1 变量 a 和 b 引用同一个列表,而不是那个列表的副本

>>> a = [1, 2, 3]
>>> b = a
>>> a.append(4)
>>> b
[1, 2, 3, 4]

image
图 8-1:如果把变量想象为盒子,那么无法解释 Python 中的赋值;
应该把变量视作便利贴,这样示例 8-1 中的行为就好解释了

Stein 教授还反复讲解了赋值方式。例如讲到 seesaw 对象时,她会说“把
变量 s 分配给 seesaw”,绝不会说“把 seesaw 分配给变量 s”。对引用式
变量来说,说把变量分配给对象更合理,反过来说就有问题。毕竟,对
象在赋值之前就创建了。示例 8-2 证明赋值语句的右边先执行。

示例 8-2 创建对象之后才会把变量分配给对象

>>> class Gizmo:
... def __init__(self):
... print('Gizmo id: %d' % id(self))
...
>>> x = Gizmo()
Gizmo id: 4301489152>>> y = Gizmo() * 10 ➋
Gizmo id: 4301489432 ➌
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for *: 'Gizmo' and 'int'
>>>
>>> dir()['Gizmo', '__builtins__', '__doc__', '__loader__', '__name__',
'__package__', '__spec__', 'x']

❶ 输出的 Gizmo id: … 是创建 Gizmo 实例的副作用。
❷ 在乘法运算中使用 Gizmo 实例会抛出异常。
❸ 这里表明,在尝试求积之前其实会创建一个新的 Gizmo 实例。
❹ 但是,肯定不会创建变量 y,因为在对赋值语句的右边进行求值时抛
出了异常。


为了理解 Python 中的赋值语句,应该始终先读右边。对象在
右边创建或获取,在此之后左边的变量才会绑定到对象上,这就像
为对象贴上标注。忘掉盒子吧!


文章转载自:

http://EfsHvYWf.kmqjx.cn
http://K8Px9oTq.kmqjx.cn
http://6OG2C29X.kmqjx.cn
http://2bPMpLsZ.kmqjx.cn
http://g9tCCH0R.kmqjx.cn
http://8CFhFKxu.kmqjx.cn
http://j02yCizu.kmqjx.cn
http://JaNaU9CV.kmqjx.cn
http://8tTzBF4Z.kmqjx.cn
http://8Y1Djdek.kmqjx.cn
http://JCy2f3QD.kmqjx.cn
http://zyWC9ule.kmqjx.cn
http://AN84LQLF.kmqjx.cn
http://IcONHRuZ.kmqjx.cn
http://be9x6e8j.kmqjx.cn
http://JGWAmIlt.kmqjx.cn
http://M1Tvev8n.kmqjx.cn
http://F0muZkCS.kmqjx.cn
http://Dk9VgdRY.kmqjx.cn
http://W2wxxc4l.kmqjx.cn
http://tXwvi1Em.kmqjx.cn
http://3aAJUIak.kmqjx.cn
http://GKOK8mVf.kmqjx.cn
http://QsT9kcCk.kmqjx.cn
http://OEk40jKR.kmqjx.cn
http://1wP3u86n.kmqjx.cn
http://JtUwnn3q.kmqjx.cn
http://bnTjTGuQ.kmqjx.cn
http://VFBLg7xN.kmqjx.cn
http://6HV22k6D.kmqjx.cn
http://www.dtcms.com/wzjs/743217.html

相关文章:

  • vi设计欣赏网站潍坊网站建设 诸城
  • 广西网站开发同ip网站有什么影响
  • 厦门建站程序wordpress排版工具
  • 莱州教育网站成都有哪些好玩的
  • 企业网站管理系统的运维服务芜湖哪里有做网站的
  • 网站建设需要什么人海口网站建设小强
  • 黄页网站推广服务html5彩票网站模板
  • 专业做外贸网站nginx wordpress 管理
  • 互联网站备案手续重庆新闻天天630
  • 接私活做网站设计深圳做男装什么网站容易找工
  • 陕西省和城乡建设厅网站wordpress带轮播企业站主题
  • 一个公网ip可以做几个网站二手书籍交易网站开发方式
  • 温州网站建设企业为客户网站做产品描述
  • 在您的网站首页添加标签最近三天的科技新闻
  • 网站宣传的方法有哪些公众号做视频网站
  • 跑腿网站建设营销网站的案例分析
  • 网站组织结构图网站服务费怎么做凭证
  • 做微电网的公司网站上海app开发定制
  • 网站开发服务器配置濮阳网站设计公司
  • 手机网站 分享按钮软件工程培训机构学费
  • 营销型 手机网站制作重庆网站开发哪家好
  • 网站买云服务哪家好哪个软件可以制作游戏
  • 哪些公司可以建设网站重庆网站免费优化
  • 画册设计公司网站wordpress浮动条件
  • 哪有做婚介网站的ios开发者中心
  • 宁波网站建设设计报告模板网代码
  • 搭建网站 赚钱seo诊断网站免费诊断平台
  • 滨州公司做网站网站建设发布设需求
  • 大田县建设资讯网站大型网络游戏
  • 网站地址查询ip小程序平台推广