1、变量的定义
程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,这个名称就是变量。
变量就是在存储数据的时候,当前数据所在的内存地址的一个名字而已。
2、Python变量说明
- Python中使用变量,不需要声明,直接为变量赋值即可。
- 在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的数据。
这种变量本身类型不固定的语言称之为动态类型语言,与之对应的是静态类型语言。静态类型语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错,例如Java是静态类型语言。和静态类型语言相比,动态类型语言更灵活,就是这个原因。 - 不能使用没有进行过赋值的变量,如果使用没有赋值过的变量,会报错
NameError: name '变量名' is not defined
。# 直接执行下面命令
# 结果:NameError: name 'a' is not defined
print(a)
3、Python中定义变量
(1)定义语法
Python中定义变量的语法如下:
变量名 = 值
- 变量名自定义,要满足标识符命名规则。
- 编程中的等号是赋值的意思,程序在执行的时候是先计算等号右边的值,存储在一个内存空间中,然后把整个值存储的地址赋值给等号左边的变量。
(2)标识符定义规则
变量名、函数名、类名、包名、模块名等统称为标识符。
标识符命名规则是Python中定义各种名字的时候的统一规范,具体如下:
- 由数字、字母、下划线组成。
- 不能数字开头。
- 严格区分大小写。
- 不能使用内置关键字和保留字。
(3)内置关键字
被Python语言赋予了特定含义的一些字符,换句话说就是Python保留给自己的标识符。这些标识符我们不能再使用如果我们在进行定义,就会产生冲突。
Python中所有关键字都为小写字母,如下:
False None True and as assert break class
continue def del elif else except finally for
from global if import in is lambda nonlocal
not or pass raise return try while with
yield
不用刻意去记每个关键字的用法和意义,后面学习中,陆陆续续都会接触到,自然而然就记住了。
注意:也别用Python API里面的函数名作为标识符,因为这样会导致函数被覆盖。(以后常用就知道了)
(4)标识符命名习惯
上边是定义标识符的规则,必须要遵守。命名习惯是一种标准的规范,不遵守也没事,只是不专业。
命名习惯类型:
- 见名知义:为了提高阅读性,经常用有意义的英文单词作为标识符。
- 大驼峰:即每个单词首字母都大写,例如:
MyName
。 - 小驼峰:第二个(含)以后的单词首字母大写,例如:
myName
。 - 下划线:例如:
my_name
。
Python具体名称规范:
- 包名:多单词组成时所有字母都小写。例如:
xxxyyyzzz
- 类名接口名:多单词组成时,所有单词的首字母大写。例如:
XxxYyyZzz
- 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。例如:
xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接。例如:
XXX_YYY_ZZZ
4、使用变量
在Python中,先要定义一个变量,才能够使用一个变量。
#定义变量
my_name = 'TOM'
#使用变量
print(my_name)
schoolName = '小二郎的学堂'
print(schoolName)
Python解释器在执行代码的过程当中,是按照代码的书写顺序,自上而下,一行一行顺序执行的。
Tips:应用程序执行原理
- 程序 运行之前,程序是 保存在硬盘 中的。
- 当要运行一个程序时:
- 操作系统会首先让 CPU 把程序复制到 内存 中。
- CPU 执行 内存 中的 程序代码。
- 即:程序要执行,首先要被加载到内存。
Tips:Python 程序执行原理
- 操作系统会首先让 CPU 把 Python 解释器 的程序复制到 内存 中。
- Python 解释器 根据语法规则,从上向下 翻译 Python 程序中的代码。
- CPU 负责执行翻译完成的代码。
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017063826246112