零、变量
1.什么是变量
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
2.变量例子
# 定义字符型变量 name = '张三' # 打印name的结果将输出“张三” print(name) # 定义整型变量 a = 2 b = 0 b = a + 1 # 打印 b 将得出 3 print(b) # 定义浮点型变量 c = 2.01 d = 3.1 # 打印 c+d的结果将得出5.1099999999999 print(c + d)
大家一定会疑问,2.01+3.1 应该是5.11吗,为什么控制台输出的是5.109999999呢?其实这是浮点数一个普遍的问题,浮点数并不能准确地表示十进制,
即便是最简单的数学运算,也会带来不可控制的后果。上述种种问题,就来自于计算机的cpu与浮点数的表示方式,我们自己在代码层面是没法控制的。
但是在某些环境中(比如财务统计),需要精确的浮点型,我们可使用python的decimal模块进行计算其中Decimal的参数必须是字符串,利用str函数将数字转换成字符串
from decimal import Decimal,getcontext z = Decimal(str(c))+Decimal(str(d)) print(z)
在某些情况下需要精确到小数点后N位(精确度)则可以利用getcontext()设置精确度
getcontext().prec = 2 z = Decimal(str(c)) / Decimal(str(d)) print(z)
3.变量赋值的特殊方法
在第2个小结我们所看到的都是***变量 = 变量值***的方式复制,下面我们将看到另一种赋值方式
# 同一个值赋给多个变量 a = b = c = 2018 # 打印a、b、c的值都是2018 print(a) print(b) print(c) # 多个不同的值赋给多个变量 a, b, name = 2017, 2018,'张三' # 打印a、b、name 的值分别是2017、2018、张三 print(a) print(b) print(name)
注意:
变量可以接受大部分类型的值(数字、字符串、元祖、列表、字典、集合以及自定义类型)
一、字符串
1.创建字符串
字符串是常用的一种类型,在python中字符串的创建使用单引号(’)或双引号(")创建,例子如下:
# 创建字符串 name = '张三' address = '北京市海淀区'
2.访问字符串中的内容
访问字符串有两种方式:一种是访问整个字符串;另一种是访问字符串中的某个字符
# 访问整个字符串,将输出北京市海淀区 print(address) # 访问字符串中的内容,例如要访问第三个字到第六个字(包含第三个字和第六个字) # 下面代码的取值方式将在后面的课程中讲解 print(address[2:6])
3.字符串更新
在一些特殊情况下需要更新字符串中的部分内容,我们可以将整个字符串替换成新的字符串,也可以通过要替换的字符的位置进行更新字符串,
下面我们通过第二种方式替换字符串,将海淀区替换为朝阳区,打印address后将获得北京市朝阳区
address = address[0:3] + '朝阳' + address[5:] print(address)
4.字符串拼接
字符串拼接是我们常用的一种操作,下面看一下代码
first_name = 'jack' last_name = 'chen' name = first_name + ' ' + last_name # 打印name结果将输出jack chen print(name)
二、数字
1.创建数字
Python 数字数据类型用于存储数值,创建代码如下:
num = 10
2.所支持的类型
- 整型:没有大小限制
- 浮点型:由小数和整数已经小数点组成
- 复数:由实数部分和虚数部分构成
数据类型是不允许改变的,这就意味着如果改变数字数据类型
的值,将重新分配内存空间
3.创建三种类型的数字变量
int = 100 float = 100.0 complex = 100 + 20j # 打印将分别输出100、100.0、(100+20j) print(int) print(float) print(complex)
注意:
数值数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。
三、小结
在本节中主要介绍了变量和常用的两种数据类型,所讲解的这些内容基本上可以在日常开发中使用,
后面涉及到其他的相关操作将具体讲解。
注意:
Python 的变量在开发过程中允许改变变量的类型,比如我们定义了一个整型变量a并赋值等于10,在使用过程中我们又将a的值改为’张三’,这样就改变了变量的类型。但是不推荐在实际开发过程中改变变量的类型,这样会造成程序代码的可读性变差,而且容易出错。