第三章: Python变量和数据类型
3. Python变量和数据类型一
1. Python基础数据类型
- 整数
类型 | 栗子 | 特别的 |
---|---|---|
十进制 | 1,2,3,10,100,1000,-1000 等等 | Python可以处理任意大小的整数 |
二进制 | 0、1表示 | 二进制整数使用前缀0b表示,比如:0b0110,0b1100 |
十六进制 | 0x12ef,0xde2431af | 除了0~9十个数字以外,还使用a、b、c、d、e、f |
十进制数、二进制数和十六进制数之间是可以相互转换的
- 浮点数
-
按照科学记数法表示时, 一个浮点数的小数点位置是可变的(浮动的), 比如, 1.23x109和12.3x108是相等的, 因此称为浮点数
浮点数对应我们生活的是小数, 例如:0.1,0.5, 12.34, 3.1415926等, 都是浮点数 -
浮点数可以用数学写法,如1.23,3.14,-9.01。但是对于很大或很小的浮点数,就必须用科学计数法表示,在Python中,把10用e替代,比如:1.23x10^9就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5
-
注意: 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差,如何检验,可以在Python终端中输入以下内容0.1 + 0.2,但是结果为0.30000000000000004
- 字符串
- 在Python中就是字符串,在Python中,字符串是以’‘或""括起来的任意文本,比如’abc’,“xyz"等等。请注意,''或”"本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。
- 布尔值
-
布尔值对应于生活中的就是对和错,布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来
-
布尔值可以用and、or和not运算(注意and,or,not都是Python语言本身的关键字)
布尔运算 | 解释 |
---|---|
and运算是与运算 | 只有所有都为 True,and运算结果才是 True |
or运算是或运算 | 只要其中有一个为 True,or 运算结果就是 True |
not运算是非运算 | 它是一个单目运算符,把 True 变成 False,False 变成 True |
- 空值
-
空值是Python里一个特殊的值,用None表示。
-
注意,None和0是不一样的,None不能理解为0,因为0是有意义的,None是一个特殊的空值
-
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型
2. Python定义变量的方法
-
什么是变量
在Python中,变量的概念基本上和初中代数的方程变量是一致的
例如,对于方程式 y=x*x ,x就是变量。当x=2时,计算结果是4,当x=5时,计算结果是25。 -
合法的变量名
只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型(字符串、布尔值、空值、字典等) -
在Python中,定义一个变量需要遵循一定的约束,否则,Python可能识别不出它是一个变量
变量名由大小写英文字母、数字和下划线_组成
变量不能用数字开头
变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
变量的定义 | 栗子 |
---|---|
合法的 | num, count, _none, min_value |
不合法的 | 1num, 666, 1_cd, and |
- 定义变量
定义变量的方式很简单,通过变量名 = 数据,即可定义一个变量。
-
a = 1
在这个例子里面,a就是变量,它的值是一个整数1 -
hello = ‘Hello’
在这个例子里面,hello就是变量,它的值是一个字符串’Hello’。
在Python里面,一个变量可以先后存储多种不同类型的数据。 -
a = 1 # 这个时候a存储的是整数类型
print(a)
a = ‘ABC’ # 这个时候a存储的是字符串类型
print(a)
这是Python这类语言特有的特性,我们称之为动态语言,与之对应的是静态语言,Python、Javascript等等都是动态语言,Java、C、C++等等属于静态语言。