前言
本文讲解**[DAT208x]Python数据科学导论1.2 - 变量与数据类型**的内容。
课程视频
课程小结
变量的概念
变量是一个特殊的,可以改变存储值的量。我们可以将一个值赋予给一枚变量,之后就可以通过变量名来引用这个值了。以下实例可以帮助我们更好地理解变量。
# 创建变量并赋值
height = 1.79
weight = 68.7
# 通过变量名引用变量值
print("height = ", height)
print("weight = ", weight)
# 计算BMI
bmi = weight / height ** 2
print("BMI = ", bmi)
代码清单: 计算BMI
变量名规则
在Python中,变量名必须是英文大小写、数字和下划线_
的组合,不能以数字开头,也不能与Python关键字冲突。
Python数据类型
Python是一门动态性,弱类型的编程语言。创建变量无需事先声明该变量所存储的数据类型,并且在程序运行时,变量也可以动态改变其所指向的数据类型。
但是,我们要建立起数据应有类型这一概念。在Python中,能够直接处理的数据类型有:整型数、浮点数、字符串、布尔值、空值。
我们可以使用内置功能函数type()
查看数据类型。
数据类型不同,其运算行为也不尽相同。
知识检验
如果要创建变量x
并赋值15
,这段Python代码该怎么写?
A. x equals 15
B. x is 15
C. 15 = x
D. x = 15
解: D
以下这段Python代码的执行结果为?
x = 5
y = 7
z = x + y + 1
print(z)
A. 5
B. 7
C. 13
D. 12
解: C
对于以下这段Python代码,说法正确的是?
x = "test"
y = False
A. x
是字符串,y
是布尔值。
B. x
是整型数,y
是布尔值。
C. x
是字符串,y
是浮点数。
D. x
是整型数,y
是浮点数。
解: A
编程练习
本节的编程练习,你将学会创建变量并使用变量做运算,以及认识不同数据类型的变量与它们的运算性质。
变量赋值
在Python中,我们可以可以使用赋值号=
来为一枚变量赋予一个值,如:
# 创建变量`x`并赋值为5
x = 5
之后我们就可以使用x
这个变量名来取得其存储的实际值5
。
我们来练习变量的赋值操作。
# 创建变量`savings`并赋值100
savings = 100
# 打印变量`savings`
print(savings)
代码清单: 变量赋值练习
使用变量运算
还记得上一节我们编程解决的那个实际问题么?那时候我们直接使用常量进行运算,现在我们使用变量来改写这支程序。
# 创建变量`savings`
savings = 100
# 创建变量`factor`
factor = 1.10
# 使用变量计算
result = savings * factor ** 7
# 打印结果
print(result))
代码清单: 变量运算练习
变量数据类型
在之前的练习中,我们已经熟悉了数值型(整型与浮点型)变量。接下来,我们认识一下另外两个非常常用的数据类型。
字符串
Python中表示文本的基本方式,你可以使用成对单引号'
或成对双引号"
来创建字符串。
布尔值
Python中表示逻辑值的方式,只能为真值True
或假值False
。
# 创建字符串变量`desc`
desc = "compound interest"
# 创建布尔值变量`profitable`
profitable = True
代码清单: 字符串与布尔值练习
查看数据类型
想要查看一个值或者变量所引值的数据类型,我们可以使用Python内置的功能函数type()
。
# 创建变量
a = 3.14
b = "pi"
c = True
# 查看数据类型
print(type(a))
print(type(b))
print(type(c))
代码清单:
type()
练习
不同数据类型变量的运算
数据类型不同,其运算行为也不尽相同,比如,加法运算分别用到字符串和数值型上,其运算行为是不同的。我们来针对这一点做些练习吧。
# 创建数据类型不同的一些变量
savings = 100
factor = 1.1
desc = "compound interest"
# 整型数 * 浮点数
year1 = savings * factor
# 查看`year1`数据类型
print(type(year1))
# 字符串的加法运算
doubledesc = desc + desc
# 查看结果
print(doubledesc)
代码清单: 不同数据类型变量的运算
数据类型转换
我们对两个字符串使用+
运算符,Python会将两个字符串拼接起来。
但是如果你将字符串类型与数值类型相加,Python就会报错。这很好理解,因为Python不知道字符串与数值类型相加后该得到一个什么类型的结果。
想要解决这个问题,我们需要做明确的数据类型转换。有一些内置的功能函数可以帮助我们完成这项任务。
str()
将数据转换为字符串类型int()
将数据转换为整型数float()
将数据转换为浮点数bool()
将数据转换为布尔值
数据类型转换其实是个挺复杂的话题,涉及到隐式转换与显式转换,各种转换规则…但现在我们不需要考虑这么多,使用Python内置函数,就可以帮助我们解决大部分类型转换问题了。
# 定义变量
savings = 100
result = 100 * 1.10 ** 7
# 使用内置函数做类型转换
print("I started with $" +
str(savings) +
" and now have $" +
str(result) +
". Awesome!")
# 定义字符串变量`pi`
pi_string = "3.1415926"
# 将字符串类型转换为浮点数类型
pi_float = float(pi_string)
代码清单: 数据类型转换练习
拓展阅读
- Python数据类型与变量: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431658624177ea4f8fcb06bc4d0e8aab2fd7aa65dd95000