1 变量、常量是什么,为什么要有变量?
一样东西存在也应有其目的,变量也不除外。现实生活中,我们会将笔记写在纸上,或者将信息记在脑子里,等到需要时再调用。而计算机中同样会有许多需要记录的可能会改变的状态、值,我们可以把它交给变量进行处理。
- 变量:变化的量
- 常量:不变的量
举例体验:我们去图书馆读书,怎么样快速找到自己想要的书籍呢?是不是管理员提前将书放到固定位置,并把这个位置进行了编号,我们只需要在图书馆中按照这个编号查找指定的位置就能找到想要的书籍。
这个编号其实就是把书籍存放的书架位置起了一个名字,方便后期查找和使用。
程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量。
2 定义变量
变量的定义有其规范,好的代码书写不仅美观,而且便于阅读,所以需要掌握。
2.1 命名规范
- 由数字、字母、下划线的任意组合
- 不能以数字开头
- 严格区分大小写
- 不能使用内置关键字
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
2.2 常用命名风格及应用场景
变量命名需要做到见名知意十分必要,一般不建议使用拼音。(当然英文不好的小伙伴可以借此机会提升自己的词汇量)
1 小驼峰法
第二个(含)以后的单词首字母大写
举例:schoolName stuAge
应用场景:变量
变量命名时,也会采用下划线命名法
举例:school_name(这时都使用小写字母)
2 大驼峰法
每个单词首字母都大写
举例:MyLovelyGirl
应用场景:类名,函数名等
3 变量使用示例
# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age age = 18
4 变量的数据类型
python中变量的类型由值来决定
如果是其他编程语言,首先要定义的就是变量的类型,一种变量只能存储某种固定类型的数据。python不需要定义变量的类型,所以可以用来存储任何类型的数据
4.1 数据类型分类
4.2 不同数据类型变量定义示例
name = 'Jason' # 记下人的名字为'Jason' sex = '男' # 记下人的性别为男性 age = 18 # 记下人的年龄为18岁 salary = 30000.1 # 记下人的薪资为30000.1元
拓展:python与C语言中的变量有何异同?
1 定义差异
2变量类型差异
更多内容可点击下方相关链接,一探究竟!
拓展:2 Python中声明变量不用指明类型的原因
了解过这门语言的想必已经知道,在python中,我们并不会声明程序中所使用对象的具体类型,这种特点使得python程序可以不在意特定的类型,能够自然的适应更广泛的应用场景。
这个问题实际上是涉及到了python的动态类型领域,类型是程序运行中自动决定的,而不是通过代码声明。
在python中,变量会经历了下面三个过程:
1.变量创建:代码第一次赋值时就创建了,比如a。
2.变量类型:变量不会拥有和它关联的类型信息或者约束,类型是存在于对象中的。
3.变量使用:当变量出现在表达式中时,它会立马被所引用的对象所替代。
对于下面这样一条赋值语句,python将会分三个步骤来完成这个请求:
>>> a=1
1.创建一个对象来代表1。
2.创建一个变量a,如果还没有创建的话。
3.将变量引用对象1。
其中对象不仅有空间存储数据,还有更复杂的结构。每一个对象都有两个标准的头部信息:类型标识符标识这个对象的类型;引用计数器决定何时回收这个对象(也就是释放这个对象所占用的内存空间)。
一个重要的思想就是:类型是属于对象的,而不是变量。
>>> a=1 >>> a='aaa'
如上代码框中的代码,当执行下面的一条指令之后,前一个引用的对象怎么样了?结果是,当变量名被赋予一个新的对象的时候,如果前一个对象没有被变量名或者对象所引用的话,之前对象占用的空间就会被回收。
如果出现下面这样的代码了呢:
>>> a=3 >>> b=a
实际的效果就是变量a、b引用了同一个对象3。
如果继续上一个代码块再执行下面一条命令:
>>> a='aaa'
实际效果就是变量b仍然引用原始对象3,变量a引用了对象’aaa’,而不是像C语言一样改变了所引用的值。
总的来说,python中声明变量不用指明类型,就是因为类型不是存储在变量当中,而是存储在对象当中,变量就类似于C中的一个空指针,只能指明对象的所在位置,在python中执行表达式的时候立即用对象来替换掉变量。所谓变量赋值就是先创建一个对象,在创建一个变量,再把变量与对象结合起来,这种结合是可变的,当之前创建的对象不需要的时候,python会自动帮助我们把它所占用的那部分内存回收,而不需要我们自己操心。
来源知乎作者:侯大侠
https://zhuanlan.zhihu.com/p/348023873
以上便是本篇文章全部内容,如果看到这里对您有些许帮助,希望可以得到您的三连支持!
相关链接:
Python语法入门之变量 - 程序员Egon老湿的文章 - 知乎
python中变量的命名以及使用_cute-CSDN博客_python变量命名规则
Python vs Java (一):史上最全变量类型区别,99.99%的人都收藏了 - 派大星的文章 - 知乎
Python中声明变量不用指明类型的原因