第二章--第一节:变量、字符串与数字

零、变量

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的值改为’张三’,这样就改变了变量的类型。但是不推荐在实际开发过程中改变变量的类型,这样会造成程序代码的可读性变差,而且容易出错。

上一篇:基于开放标准OpenCL的深度学习研究和探索(20PPT)


下一篇:OpenCV学习(39) OpenCV中的LBP图像