1. 变量
1.1 什么是变量?
变量就是可以变化的量,这个量指的是事物的状态,比如说人的年龄,今天的天气啊,你的发量啊,哈哈哈。
1.2 为什么要有变量?
为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的。
详细地说:
程序执行的本质就是一系列状态的变化,变化是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是
保存下来程序执行时状态,以及状态的变化。
1.3 怎么使用变量?
变量一定是,先定义后使用。
变量的三大组成部分,如下图
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定
义name = "ymn"为例,如下图:
# 定义一个变量
name = "ymn"
这样我们就定义了一个变量,定义变量的本质就是申请在内存中开辟一块空间存放变量值,那之前我们说过,你既
然存在内存中,怎么取出来用呢?就是通过变量名,变量名指向的就是变量值存放的内存地址,我们可以拿着地址
去访问值。
# 定义一个变量
name = "ymn"
print(name)
1.4 变量名的命名规范
-
变量名只能由 字母、数字、下划线 组成。
-
变量名不能以数字开头。
-
变量名不能是Python内置关键字,如:
‘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’
命名的两种风格
# 风格一:驼峰体
AgeOfTony = 56
NumberOfStudents = 80
# 风格二:纯小写+下划线(在python中,变量名的命名推荐使用该风格)
age_of_tony = 56
number_of_students = 80
变量名的不推荐命名(虽然程序不会报错,但是别人看到这样的命名一定会,呵呵的)
- 采用拼音,用汉字命名,变量名过长,这些都是不推荐的,实际开发中,一定不要采用这种。
2. is 与 ==
2.1 id
之前我们讲到过变量名绑定的是变量值的内存地址,那么不同的变量名可能绑定的内存地址是不同的,那么怎么能
体现这一点呢?python解释器给我们提供了id()这个函数。(函数后面会介绍)
通过id(变量名)
会返回一串id号码,这串id号码就对应着这个变量值的内存地址。那么我们就可以通过比较id号
码,来判断不同变量名指向的内存地址是否相同。id( )返回对象当前的内存地址,内存地址不同id自然不同。
x = 'ymn'
y = 'alex'
print(id(x)) # 3102991623032
print(id(y)) # 3102991623032
2.2 is
比较的是左右两边的id是否相等
x = '100'
y = x
print(x is y) # True
2.3 ==
比较的是左右两边的值是否相等
x = '10'
y = '10'
print(x == y) # True
总结: id相等,即内存地址必然相等,即值必然相等。但是值相等,但id不一定相等,内存地址也不一定相等。
3. 小整数池 ( 了解 )
3.1 什么是小整数池?
就是当你的python解释器启动的那一刻,会在内存中事先申请好一系列的内存空间存在一些常用的整数。
这个整数的返回是【-5,256】。
3.2 小整数池有什么用?
这样一些我们常用的小整数就不需要我们来回创建了,直接从小整数池中取。
4. 常量
4.1 什么是常量?
常量就是不变的量,但是在python中是没有常量的,人们约定俗成用全部大写的英文单词代表常量。
NAME = "我是一个常量"
4.2 为什么要有常量?
在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653...
4.3 怎么使用常量?
在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单
从语法层面去讲,常量的使用与变量完全一致。
5.注释
注释是对代码的解释说明,不是所有代码都需要注释,只是那些难于理解又关键的代码,必须加注释,方便自己或
其他人后期阅读。
注释的内容不会被python解释器,解释执行。
5.1 注释的两种方式
5.1.1 单行注释
井号 + 注释内容
# 我是一行注释
print('hello word') # 我也是一行注释
5.1.2 多行注释
三个单引号/三个双引号 + 注释内容
'''
我是
多行注释
'''
"""
我也是
多行注释
"""