Python有如下的基本规则:

#后表示注释

\n是行分隔符

\是继续上一行,将过长语句分开

;分号将两个语句连接在一行中

:冒号将代码头和体分开

代码块用缩进块的方式体现

不同缩进深度分隔不同的代码块

Python文件用模块的形式组织

缩进推荐风格,缩进四个空格宽度,避免使用制表符。

赋值语句

Python中,主要赋值运算符是等号( = )

赋值不是直接将一个值赋给一个变量,对象是通过引用传递的。不管变量是新创建的还是已经存在的,都是将该对象的引用赋值给变量。

C语言中,赋值语句可以当成一个表达式,可以返回值。但在Python中,赋值语句不会返回值。这使得这样的语句是非法的

>>> y = (x = x + 1) #assignments not expressions! File "", line 1

y = (x = x + 1)^SyntaxError: invalid syntax>>> if (a = 3):

SyntaxError: invalid syntax

这就避免了判断语句中,将 == 符号误写成 = 的问题。是一个很好的功能。

同样的Python中链式赋值并没有问题。

>>> y = (x = x + 1) #assignments not expressions! File "", line 1

y = (x = x + 1)^SyntaxError: invalid syntax>>> if (a = 3):

SyntaxError: invalid syntax

同时还有增量赋值符

+=   -=   *=   /=   %=   **=

<<=  >>=   &=   ^=   |=

相对于普通赋值不仅仅是写法改变,最有意义的变化是第一个对象仅被处理一次。

Python不支持x++或--x这样的前置/后置自增/自减运算

多元赋值

>>> x, y, z = 1, 2, 'a string'

>>>x1

>>>y2

>>>z'a string'

>>>x, y, z

(1, 2, 'a string')

赋值时将等号两边的对象都看成元组

使用多元赋值的方法可以不使用中间变量直接交换表量的值

>>> x , y = 1, 2

>>>x, y

(1, 2)>>> x, y =y, x>>>x, y

(2, 1)

专用下划线标识符

_xxx 不用'from module import *'导入

__xxx__系统定义名字

__xxx 类中私有变量名

风格提示: 避免用下划线作为变量名的开始

下划线对于解释器有特殊的意义,而且是内建标识符所使用的符号,所以应避免下划线作为变量名的开始。一般来讲_xxx被看做私有的,在模块或类外不可使用,所以当变量是私有时,用_xxx是很好的习惯。因为__xxx__有特殊含义,所以普通变量命名应避免这种风格

关于变量的赋值部分

Python的变量的赋值都是引用。这设计到它的内存管理机制。Python使用了引用计数这一简单技术。内部记录着所有使用中的对象各有多少引用。

当对象被创建时,就创建一个引用计数,当对象不背需要时,即引用计数为0时就被垃圾回收。

当对象被创建并赋值给变量时,该对象的引用计数就被设置为 1

当同一个对象又被赋值给其它变量时,或者作为参数传递给函数,方法或类实例时,或者被赋值为一个窗口对象的成员时,该对象的一个新的引用或者称别名,就被创建(引用计数加1)

x = 2y= x

第一句创建了一个整数对象并引用赋值给x。x是第一个引用,该对象的引用计数设置为 1 。当y = x 语句执行时,并没有为y创建一个新对象,而是该对象的引用计数增加了1次。这是引用计数的增加。同样还有作为参数被函数调用,或者对象被加到某个容器对象中时。

而当变量被赋值给另一个对象时,原对象的引用计数也会自动减 1

foo = 3foo= '123'

当3被创建赋值给foo时,引用计数是1 。 当它重新赋值给对象'123'时,3的引用计数自动减1

当本地引用离开了作用范围,比如函数结束时。

对象别名被显式的销毁

对象别名被赋值给其他对象

对象从一个窗口对象中移除

窗口对象本身被销毁

这几个情况都会减少引用计数

python最基本的规则是什么_2015/8/26 Python基础(1):基本规则及赋值相关推荐

  1. python需要变量命名规则_和孩子一起学习python之变量命名规则

    变量命名规则 下面是关于变量名(也称为标识符)的一些规则 必须以一个字母或一个下划线字符开头.后面可以使用一个字母.数字或下划线字符的序列,长度不限. 字母可以是大写或小写,大小写是不同的.也就是说, ...

  2. python中类的继承规则

    python中类的继承规则 在学习python中的继承规则之前,首先要知道python中类的划分. 只要继承object类的就是新式类,不继承object类的都是经典类. 在python3中,所有的类 ...

  3. 符合python语言变量命名规则_Python变量命名规则

    变量的命名规则 1.要具有描述性 2.变量名只能_,数字,字母组成,不可以是空格或者特殊字符([email protected]#$%^&*~) 3.不能以中文为变量名 4.不能以数字开头 5 ...

  4. python基于条件、规则构建已有字典的子集

    python基于条件.规则构建已有字典的子集 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括 ...

  5. python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...

    [填空题]与文件系统相比,数据库系统的数据冗余度___________,数据共享性___________. [填空题]在数据库体系结构中,两级数据映象分别是指___________之间的数据映象与__ ...

  6. 关于python读取文件的规则

    今天初步看了点python读取文件的规则,与C语言很相似,使用python读取文件必须将文件放置于对应的python文件目录下,这样在执行的时候才能成功寻找到目录,如下面的代码: with ('py. ...

  7. python模块搜索原则_详解python模块路径查找规则及定义

    在python中创建一个模块非常简单,只需要在当前目录下创建一个 .py文件即可,系统自动将其解析成模块,文件名就是模块名.很多我们源码时代的同学都认为在查找模块时优先使用当前目录下的自定义模块.其实 ...

  8. python语言在命名上是什么敏感的_一文轻松掌握python语言命名规范规则

    和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...

  9. python语言标识符命名规则_python标识符命名规范是什么

    原博文 2020-01-06 14:04 − 简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量.函数.类.模块以及其他对象的名称. Python 中标识符的 ...

最新文章

  1. sont表示元素在存入集合时进行了排序,数据遍历的结果是按某个排序规则输出的
  2. 先使用皮尔逊相似性特征选择来训练随机森林
  3. Microsoft Visual C++ 14.0 is required解决方法
  4. div+css中设置了float属性后如何让外层的高度随着内层的高度大小自动调整
  5. 自定义 VIEW 截图 保存到图库 并分享
  6. 使用 C# 9 的records作为强类型ID - JSON序列化
  7. djnago seeeion
  8. [码海拾贝 之JS] JS 之删除数组中的元素
  9. JavaScript事件冒泡和事件委托
  10. ASCII码对照表(包括十六进制、十进制和字符)
  11. linux怎么看用的哪个网卡驱动,linux下如何查看网卡驱动版本信息?
  12. hb运行到微信小程序出现报错:[微信小程序开发者工具] ? Enable IDE Service (y/N) 
  13. 存储器基本概念及分类介绍
  14. Android 12 WiFi 架构
  15. 黑鲨helo支持html吗,黑鲨Helo的实用功能有哪些 黑鲨Helo的使用技巧
  16. 也说360和QQ之战
  17. 二叉树结点的两种写法
  18. Python cv2.minMaxLoc方法代码示例
  19. linux 4t磁盘格式化,Ubuntu 16.04系统挂载4T硬盘
  20. python 多mic录音WASAPI

热门文章

  1. 居然又要出一部关于程序员的剧!你会追么?
  2. 聊聊那块近10万块钱的铁皮
  3. 我们常用的 Integer 内部为什么会去实现 Comparable 接口?
  4. IntelliJ IDEA 2019.3发布,饱受性能诟病的2019.2版本终于成为过去式
  5. 通过sftp打开php.ini,PhpStorm中如何使用SFTP功能 详细操作方法
  6. 隔空作画,握拳清屏,这个手部跟踪项目火了,在线可玩
  7. dlib 68个关键点 人脸姿态
  8. go 调用dll char*传输
  9. ffmepg4 解码特别慢
  10. 相关算子、卷积算子、边缘效应