python中的 += 与 +

python中的 += 与 +这一部分首先要理解python内存机制,Python中万物皆对象。对于不可变对象,改变了原来的值,其别名(变量名)绑定到了新值上面,id肯定会改变对于可变对象,+操作改变了值,id肯定会变,而+

大家好,又见面了,我是你们的朋友全栈君。

这一部分首先要理解python内存机制,Python中万物皆对象。

对于不可变对象,改变了原来的值,其别名(变量名)绑定到了新值上面,id肯定会改变

     <span role="heading" aria-level="2">python中的 += 与 +<span role="heading" aria-level="2">python中的 += 与 +<span role="heading" aria-level="2">python中的 += 与 +

对于可变对象,+ 操作改变了值,id肯定会变,而+= 是本地操作,其值原地修改

对于+号操作,可变对象和不可变对象调用的都是__add__操作

对于+=号操作,可变对象调用__add__,不可变对象调用的是__iadd__(不可变对象没有__iadd__)   __iadd__是原地修改

 <span role="heading" aria-level="2">python中的 += 与 +<span role="heading" aria-level="2">python中的 += 与 +

<span role="heading" aria-level="2">python中的 += 与 +

 

错误:

<span role="heading" aria-level="2">python中的 += 与 +

注意:一个函数内部的任何类型的赋值都会把一个名称划分为本地的。这包括=语句,import中的模块名称、def中的函数名称、函数参数名称等。如果在def中以任意方式赋值一个名称,它都将对于该函数称为本地的。

特别注意:原处改变的对象并不会把变量划分文本地变量,实际上,只是对变量名赋值才可以。例如变量名L在模块的顶层被赋值为一个列表,在函数内部的像L.append(x)这样的语句并不会将L划分为本地变量,而L=Y却可以。修改一个对象并不是对一个名称赋值。

变量名解析:LEGB原则:

在函数中使用未认证的变量名时,python搜索4个作用域:本地作用域(L),之后是上一层结构中的def或者lambda本地作用域(E),之后是全局作用域(G),最后是内置作用域(B)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155856.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java Eclipse下载安装教程[通俗易懂]

    Java Eclipse下载安装教程[通俗易懂]一、下载:(1)Eclipse是一个开放源代码的项目,其官方网站是www.eclipse.org(2)从首页中单击DOWNLOAD按钮,进入图2所示的页面。(3)点击DownloadPackages,进入Eclipse下载页面。从EclipseIDEforJavaEEDevelopers后面选择适合当前系统的版本,这里单击64bit按钮,…

    2022年5月2日
    36
  • PMF到底是什么?

    PMF到底是什么?PMF指的是产品与市场匹配的产品关注的数据指标在不同行业、不同业务模式的产品中对应的数值应该是不同的,核心思想在于需要找到一些关键的数据指标,然后通过数据指标来判断产品是否达到了PMF的标准。用户级产品标准·每周使用天数超过3天·初始日新增用户(DNU)超过100·30%新用户次日留存率·达到10万用户量Saas产品标准·…

    2022年5月24日
    71
  • 单点登录原理与简单实现(单点登录原理与简单实现)

    单点登录(SingleSignOn),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。以下是个人查询资料的借鉴及对接某大型互联网公司单点系统后的一个总结和理解一、首先了解下单系统登录机制1、http无状态协议  web应用采用browser/server架构,http作为通信协议。http是无状态协…

    2022年4月11日
    46
  • Java中怎样由枚举常量的ordinal值获得枚举常量对象

    Java中怎样由枚举常量的ordinal值获得枚举常量对象

    2021年12月15日
    49
  • idea快捷键和vscode快捷键对比

    idea快捷键和vscode快捷键对比之前一直写后端,最近用vscode写vue,两边的快捷键差异还挺大的,怎么感觉webstorm也挺香呢【手动狗头】快捷键名称IntelliJIDEAVisualStudioCode复制一行Ctrl+CCtrl+C剪切一行Ctrl+XCtrl+X删除一行Ctrl+YCtrl+Shift+K向下复制行Ctrl+DAlt+Shift+⬇上下移动行Alt+Shift+⬆⬇Alt+⬆⬇向

    2022年5月31日
    137
  • obs录制黑屏怎么解决_obs窗口捕获黑屏

    obs录制黑屏怎么解决_obs窗口捕获黑屏00.目录文章目录00.目录01.问题描述02.问题分析03.问题解决04.成功测试01.问题描述打开OBS后,新建场景、新建显示器捕获后,黑屏没有显示,即使点击开始录制,然后结束录制后,录制的视频仍然是黑屏。02.问题分析安装包是从官网下载的,安装过程没有报错,启动过程也没有报错,但是却捕捉不到显示器中的图像。首先考虑的是软件兼容性的问题,但是在我将兼容性设置成”W…

    2022年4月19日
    111

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号