变量:在程序运行过程中,值会发生变化的量
常量:在程序运行过程中,值不会发生变化的量
无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值
Python的变量和常量不需要事先声明类型,在使用前没有进行任何的诸如 age int 和 name string 的类型声明,
而这在一些静态语言中,比如 JAVA 和 Golang 中是必须的。
Python中用=号来给变量赋值,比如age=18这个表达式,age这个变量的值就是18
与之相似的是两个等号==,它表示的是两个值是否相等,如果相等返回true,如果不相等返回false
先创建再使用
每个变量在使用之前都必须赋值,变量赋值后才会被创建
新的变量通过赋值的动作,创建并开辟内存空间,保存值
如果没有赋值而直接使用,会抛出变量未定义的异常,
赋值的方式有:
第一种:单个直接赋值
第二种:多个批量赋值
第三种:先计算再赋值
第四种:分别赋值
这四种的效果都是一样的
理解赋值的背后:
当我们写a="June"时,Python解释器做了两件事
1.在内存中创建了一个 June的字符串对象
2.在内存中创建了一个名为a的变量,并把它指向了 June
当你变量a赋值给变量b时,这个操作实际上是将变量b指向变量a所指向的对象,例如
通过id()可以查看变量值的内存地址打印出来的 a 和 b的内存地址是一样的,因此二者其实是一个数据
请牢记:Python中的一切都是对象变量是对象的引用!
执行a='June',解释器创建字符串'Jack'对象和变量a,并把a指向Jack对象
执行b=a编译器创建变量b,并且将其指向变量a指向变量字符串Jack对象
执行a="Tom",解释器创建字符串Tom对象,并把a改为指向Tom对象,这时与b无关
而常量是指程序执行的整个过程中,不能被改变的值。简单来说,变量和常量都是程序设计是用来存取数据内容的一个识别代码,两者最大的差异在于变量的内容会随着程序执行而改变,但常量则固定不变,就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:
但事实上,从Python语法角度来看,PI依旧是一个变量因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。用全部大写的变量名表示常量只是一个习惯上的用法
常量通常放置在代码的最上部,并作为全局使用
如何定义字符串
字符串是Python中最常见的数据类型之一
使用单引号或双引号来创建字符串,使用三引号创建多行字符串。字符串要么使用两个单引号,要么两个双引号,
不能一单一双!Python不支持单字符类型,单字符在Python中也是作为一个字符串使用
以下四种写法是等价的
如果一个字符串里,要有引号,那么最好和外部包裹的引号类型不同,比如
外层使用单引号,那么里层使用双引号
外层使用双引号,那么里层使用单引号
若想使用一样的符号呢?那字符串里的引号前记得加转义符号:\