python基础02 python语句与基本语法

发布于:2023-01-04 ⋅ 阅读:(320) ⋅ 点赞:(0)

记录摘自《Python核心编程(第二版)》
个人站点:https://www.devtester.cn/

本章是一些基本介绍,概念为主,建议在对python编程有一个基本实践之后,再阅读

1. python语句和语法

1.1#

注释符
python只支持行注释, 虽然三引号’''或"“”,但三引号的本质是字符串,而不是注释

1.2 \

换行继续符,通常使用于不得不换行的地方
不加换行符,会报错
在这里插入图片描述
加了换行符,不再报错(部分IDE会在代码格式化或语句内换行时自动添加)
在这里插入图片描述

1.3 :

复合语句如if, while def和class需要末尾使用 : 进行分割

1.4 缩进

缩进用来区分代码组,建议使用四个空格,需要注意制表符的空格数量,避免因不同编辑器制表符空格数不同而产生错误

1.5 ;

同一行写多个语句要用 ; 隔开,但是不建议使用,会降低可读性

1.6 模块

每一个python脚本文件都可以被当做一个模块,其命名需要符合变量命名规范,可通过import语句被其他文件导入

2. 变量赋值

2.1 赋值操作符 =

使用=号进行赋值,如

aInt  =  1

需要注意的是python中,对象是通过引用传递的,在赋值时,不管该对象是新创建还是已经存在的,都是将该对象的引用赋值给变量,而不是将值赋值给变量。

2.2 增量赋值

x += 1 即 x = x + 1
数学运算符以及位运算符等等都可以,如下所示:

+= -= *=
/= %= **=
<<= >>= &=
^= |=

不支持x++这种写法,不支持++x自增
在这里插入图片描述

a  =  1
b  =  ++a 
# 其+号所代表的是正号,而不是加运算,该语句结束后,a与b的值都是1
# 同理 d = --c, -是负号而不是减运算

这与C,JAVA等语言是不同的

2.3 多重赋值

x = y = z = 1

创建一个值为1的整型对象,该对象的同一个引用被赋值给x, y和z

2.4 多元赋值

将多个变量同时赋值的操作

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

3. 标识符

标识符是计算机语言中允许作为名字的集合

3.1 合法标识符

  • 第一字母必须是字母或下划线
  • 剩余字符可以是字母,数字或下划线
  • 大小写敏感

3.2 关键字

关键字是保留字,不能用于其他用途,否则会引起语法错误
keywordks模块包含了一个关键字列表与一个iskeyword()函数,可以用来查询与判断标识符是否合法

import keyword

if __name__ == '__main__':
    print(len(keyword.kwlist))
    print(keyword.kwlist) # 见下表
    print(keyword.iskeyword('not')) #输出True
False None True and as
assert async await break class
continue def del elif else
except finally for from global
if import in is lambda
nolocal not or pass raise
return try while with yield

3.3 内建built-in

它是__builtins__模块的成员,可以由解释器设置或使用,能在任何一级代码中使用,应将它们视作系统保留字,不做他用,以免产生混淆

3.4 专用下划线标识符

用下划线作为变量前缀和后缀指定特殊变量,如无特殊需求,不建议用下划线作为变量名的开始

4. 内存管理

本节包括的变量与内容的细节:

  • 变量无须事先声明
  • 变量无须指定类型
  • 程序员不用关心内存管理
  • 变量名会被回收
  • del语句能够直接释放资源

4.1 变量定义

python中无需显示声明变量,变量在第一次被赋值时自动声明,与大多数语言一样,变量只有被创建和赋值后才能被使用

4.2 动态类型

在python中,对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码。python仍然是一种解释性语言

4.3 内存分配

python解释器承担内存管理得到任务

4.4 引用计数

python使用引用计数追踪内存中的对象。一个内部跟踪变量,称为一个引用计数器,每个对象各有几个引用,简称引用计数。当某个对象的引用计数变为0时,它被垃圾回收

4.4.1 增加引用计数

当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为1。
如下情况,对象引用计数增加:

  • 对象被创建
x = 3.14
  • 或另外的别名被创建
y = x
  • 或被作为参数传递给函数(新的本地引用)
foobar(x)
  • 或成为容器对象的一个元素
my_list = [123,x,y]

4.4.2 减少引用计数

当对象的引用被销毁时,引用计数会减小。
如下条件:

  • 一个本地引用离开了其作范围
  • 对象别名被显示销毁
del x
  • 对象的别名被赋值给其他对象
x = 1
x = 123  # 1的引用计数-1
  • 对象被从一个窗口对象中移除
my_list.remove(x)
  • 窗口对象本身被销毁
del my_list

4.5 垃圾收集

不再使用的内存会被一种称为垃圾收集的机制释放。解释器跟踪对象的引用计数,垃圾收集器负责释放内存,他是一块独立的代码,用来寻找引用计数为0的对象,也负责检查虽然引用计数大于0但也应该被销毁的对象
python的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器


网站公告

今日签到

点亮在社区的每一天
去签到