python基础语法
python基础语法
一 注释
"""
注释1
注释2
注释3
"""
多行注释一般用于py文件开头,用来说明这个文件的作用。(多行注释也可以是一个字符串)
# 这是一行xxx代码
单行注释一般用于文件内代码的解释,用的比较多。
注释是为了增加代码的可读性。
二 变量
1、什么是变量
量是指事物的状态
变是指事物的状态可以改变
2、为何要用变量
为了控制计算机能够像人一样记住事物的状态,并且事物的状态是可以改变的
3、如何用变量
一 变量的基本使用:先定义、后引用
二 变量的三大组成部分
(1)变量名:指向变量值的内存地址,用来访问值的
(2)赋值符号:用来把只的内存地址绑定给变量名
(3)变量值:记录事物的状态,也就是我们存到内存中的数据
三 变量名详解
3.1 左值与右值
变量名出现在左边,我们称之为左值,此时的变量名是一种存值行为
只有不在等号左边,就称之为右值,此时的变量名是一种取值行为
3.2 变量名的命名
(1)大前提:见名知意
(2) 规范
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
(3) 命名风格
1、驼峰体
2、纯小写+下划线(推荐)
3.3 变量值
(1)两大特征:id、type
(2) 内存管理机制之垃圾回收机制GC
引用计数
分代回收 优点:降低扫描数数量,提升效率 缺点: 有个别数据无法得到及时的处理
标记/清除 循环引用导致的内存泄漏问题
标记/清除算法的核心:
# 如果一个值没有关联任何一条以直接引用作为出发点的引用,那么该值就会被标记下来,并且清除
# 如果一个变量值不存在任何以栈区为出发点的引用,那么标记/清除算法就认为它是垃圾
(3) 内存管理机制之小整数池
在交互式环境中,小整数池的范围是[-5,256]
三 常量
python中常量用纯大写字母来表示。(可以更改,但是不要去更改)
四 基本数据类型
1、整型int
作用:年龄、等级、各种号码
2、浮点型float
作用:记录薪资、身高、体重等
3、字符串str
作用:记录名字、字符相关的描述性的内容
4、列表类型list
作用:按照位置存放多个值,可以用索引取指定位置的值
5、字典类型dict
作用:按照key:value的形式存放多个值,其中value可以是任意类型,而key通常是str类型
6、布尔类型bool
(1)显式的布尔值:Ture False
(2)隐式的布尔值: 0、None、空的布尔值为False,其余均为真
五 基本运算符
一 算术运算符
+ - * / // % **,就像数学一样
字符串也可以相加,但是有指定的方法,可以相乘,但是需要乘以整数
二 比较运算
值相等==的结果就成立
id一样is的结果才为True
三 赋值运算符
3.1 增量赋值
age += 3 相当于 age = age + 3
age -= 3 相当于 age = age - 3
age *= 3 相当于 age = age * 3
age /= 3 相当于 age = age / 3
age //= 3 相当于 age = age // 3
age **= 3 相当于 age = age ** 3
3.2 链式赋值
x=y=z=10
3.3 交叉赋值
temp=m
m=n
n=temp
上下是一样的意思
m,n=n,m
3.4 解压赋值
l = [1,2,3,4,5]
a,b,c,d,e=l
a,*_=l 可以只取出开头的一个
*_,e=l 可以只取出最后的一个
a,*_,e=l 可以取出头和尾
3.5 逻辑运算符
#not :把紧跟后面的条件取反。
#and :连接左右两个条件,两个条件都为Ture,最后结果才为Ture。
#or :连接左右两个条件,但凡两边有一个条件为True,结果就为Ture。