一、什么是变量?
变量从字面意思可以理解成:是变化的量。但是这样理解和没有理解貌似没有什么区别,我们把变量两个字拆分看看。
我们首先来想想看你是怎么认识我的,今天来你会认识我,明天来你还会认识我。那你是不是记住我这个人的典型特征,比如我的名字Nick、体重140、身高180…世间万物我们是不是都是这样去认识的?毫无疑问是的。既然人能识别世间万物,那么我们之前一直把计算机想象成人,那是不是说计算机也能识别世间万物呢?对的。计算机通过记录我们的状态认识我。这就是量的概念。
- 量:记录现实世界中的状态,让计算机能够像人一样去识别世间万物。
今天我可能180,明年我是不是可能就是185了(5cm不过分),那这种状态是不是会发生变化。
- 变:现实世界中的状态是会发生改变的。
二、为什么要有变量?
对于现实世界,一定是要有一个变量来描述世间万物的。但是计算机为什么也要有变量的概念呢?其实计算机中程序的运行就是一系列状态的变化,如王者荣耀中账号等级0级到30级、废铁到王者;植物大战僵尸中僵尸打着打着就死了。
三、定义变量
既然知道了变量是什么玩意,那我们如何在Python中定义变量呢?
- name = 'nick'
- age = 19
- gender = 'male'
- height = 180
- weight = 140
四、变量的组成
从我们上米昂定义的变量可以看到,变量的组成分为以下三个部分:
- 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
- 赋值符号:赋值
- 变量值:存放数据,用来记录现实世界中的某种状态。
- name # 报错,无任何意义
- age = 18
- height = 185
- print(age)
- print(height)
- 18
- 185
五、变量名的命名规范
如果对于一个变量,你想怎么命名就怎么命名,那样没有任何问题,顶多就是晚上老板检查代码后,你第二天不用去公司了。
- sfasfewfasdfa='nick'
- print(sfasfewfasdfa)
- nick
一定要记住,定义一个变量其实就是在记录现实世界中的的状态,并且存永远不是目的,取才是目的。所以变量的命名应该满足以下三个规范:
- 变量的命名应该能反映变量值所描述的状态,切记不可用中文
- 变量名必须用字母数字下划线组合,并且变量名的第一个字符不能是数字。
- 关键字不能声明为变量名
- ['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']
六、变量名的两种风格
6.1 驼峰体
- AgeOfNick = 19
- print(AgeOfNick)
6.2 下划线(推荐)
- age_of_nick = 19
- print(age_of_nick)
注意:以上两种变量名的风格,推荐使用下划线的风格。
常量
变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。
- AGE_OF_NICK = 19
- print(AGE_OF_NICK)
- 19
- AGE_OF_NICKAGE_OF_NICK = AGE_OF_NICK + 1
- print(AGE_OF_NICK)
- 20
如果是常量,那就没必要更改,所以python就只制定了一个规范,而没指定常量的语法,因此常量也是可以修改的,但不建议。
在c语言中有专门的常量定义语法,const int age = 19; 一旦定义age为常量,更改age即会报错。