目录
读取变量的值
a = 10
print(a)
修改变量的值
a=20
print(a)
在Python中,需要注意的是,修改变量也是使用=运算,看起来和定义变量没有明显区别
当然,也可以把一个变量的值赋值给另一个变量
a=10
b=20
a=b
print(a)
变量里面存储的不仅仅是数字,还可以存储其它种类的数据,为了区分不同种类的类型,我们引入了“类型”这样的概念
和C++/Java等语言不同,Python变量的类型不需要显式指定,而是在赋值的时候确定的
a=10
print(type(a))
type和print类似,也是python内置的函数,可以使用type来查看一个变量的类型
和C++/Java等语言不同,python的int类型变量,表示的数据范围是没有上限的,理论上只要内存无限大,就可以表示无限大小的数据
a=2.1
print(type(a))
和C++/Java等语言不同,python的小数只有float这一种类型,没有double类型,但是实际上,python的float就相当于C++/Java的double,表示双精度浮点型
关于单精度浮点数和双精度浮点数的问题,和单精度浮点数相比,双精度浮点数占用的内存空间更多,同时表示的数据精度更高,精确到小数点后15位
a="hello"
print(type(a))
使用‘’或者“”引起来的,叫做字符串,可以用来表示文本
在python中,单引号构成的字符串和双引号构成的字符串,没有区别,“hello”和‘hello’是完全等价的
可以使用len函数来获取字符串的长度
a="hello"
print(len(a))
可以使用+针对两个字符串进行拼接
a = 'hello'
b = 'world'
print(a+b)
此处是两个字符串相加,不能拿字符串和整数/浮点数相加
字符串作为开发中最常用到的数据类型,支持的操作方式也是非常丰富的
布尔类型是一个特殊的类型,取值只有两种,True(真)和False(假)
布尔类型也是数学上的一个概念,我们初中就学过一个概念叫做命题,进一步的就可以判断命题的真假
a =True
b=False
print(type(a))
print(type(b))
除了上述的类型之外,python中还有list,tuple,dict,自定义类型等等
那为什么要有这么多的类型
(1)类型决定了数据在内存中占据多大空间
例如:float类型在内存中占据八个字节
(2)类型约定了能对这个变量做什么样的操作
例如:float/int类型的变量,可以进行+-*/等操作
而str类型的变量,只能进行+(并且行为是字符串拼接),不能进行-*/,但是还能使用len等其他操作
在python中,一个变量是什么类型,是可以在“程序运行”过程中发生的,这个特性叫做“动态类型”
a=10
print(type(a))
a=0.5
print(type(a))
在程序执行过程当中,a的类型刚开始是int,后面变成了str
C/Java这样的语言是不允许这样的操作,一个变量定义后类型就是固定的了,这种特性叫做“静态类型”
动态类型特性是一把双刃剑
对于中小型程序,可以大大的解约代码量(比如写一段代码可以同时支持多种类型)
对于大型程序,则提高的模块之间的交互成本。