Python数据科学导论1.2 - 变量与数据类型

Posted by zihengCat on 2018-04-18

前言

本文讲解**[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)

代码清单: 数据类型转换练习

拓展阅读