第2节:变量与基本数据类型
在第一节我们在终端中打印出了 "hello world"。但这只是一个固定的文本。如果我们想让程序处理一些会变化的信息,比如用户的名字、商品的价格、或者一个计算结果,就需要用到变量和不同的数据类型。
1. 变量:给数据贴标签
想象一下我们有一个储物柜,里面有很多格子。为了方便找到东西,我们会给每个格子贴上标签,比如“袜子”、“零食”、“工具”。
在 Python 中,变量 就好比是这些标签。我们可以创建一个标签,然后把数据(比如数字、文字)放进这个标签“指向”的内存空间里。以后想用这个数据时,只需要喊这个标签的名字(变量名)就行了。
创建变量并赋值:
使用赋值运算符 =
来创建变量并将数据存进去。
## 创建一个名为 message 的变量,并把字符串 "你好" 存进去
message = "你好"
## 创建一个名为 age 的变量,并把整数 25 存进去
age = 25
## 创建一个名为 price 的变量,并把浮点数 9.9 存进去
price = 9.9
## 现在可以通过变量名来使用这些数据
print(message)
print(age)
print(price)
变量命名规则与建议:
给变量起名字很重要,好的名字能让代码更容易理解。
- 规则(必须遵守):
- 只能包含字母、数字和下划线 (
_
)。 - 不能以数字开头。
- 不能使用 Python 的关键字(保留字,有特殊含义的词,如
print
,if
,else
,for
,while
等,编辑器通常会用不同颜色标出)。 - 区分大小写 (
age
和Age
是两个不同的变量)。
- 只能包含字母、数字和下划线 (
- 建议(约定俗成):
- 名字要有意义,能描述变量存储的数据(比如用
user_name
而不是un
)。 - 使用小写字母和下划线来分隔单词(称为 snake_case 风格),例如
first_name
,item_price
。
- 名字要有意义,能描述变量存储的数据(比如用
变量的值可以改变:
变量之所以叫“变量”,就是因为它们存储的数据是可以变化的。
x = 10
print(x) # 输出 10
x = 20 # 重新给变量 x 赋值
print(x) # 输出 20
2. 数字
在 Python 中,处理数字是很常见的。主要有两种数字类型:
- 整数 : 就是没有小数部分的数,可以是正数、负数或零。
count = 100 negative_number = -5 year = 2023
- 浮点数 : 就是带小数点的数。注意:即使小数部分是 0,比如
temperature = 36.6 pi = 3.14159 discount = 0.85
10.0
,它也是一个浮点数。
我们可以对数字进行各种数学运算(下一章会详细学)。
3. 字符串
程序不仅处理数字,还需要处理文本信息,比如人名、地址、消息等。在 Python 中,文本信息被称为字符串。
创建字符串:
字符串需要用英文的单引号 ('
) 或双引号 ("
) 包裹起来。两者效果通常一样,可以根据方便选择。
greeting = "Hello, World!"
name = '爱丽丝'
empty_string = "" # 空字符串也是字符串
什么时候用单引号,什么时候用双引号? 如果字符串本身包含单引号,最好用双引号包裹;如果包含双引号,最好用单引号包裹。
quote1 = "She said, 'Hello!'" # 字符串包含单引号,用双引号包裹
quote2 = 'He replied, "Hi there!"' # 字符串包含双引号,用单引号包裹
如果字符串里既有单引号又有双引号,或者想换行,可以用三引号 ('''
或 """
)。上一节我们已经介绍过,使用三引号也可以实现多行注释功能。三引号还可以在函数中当做文档字符串,这个以后我们再继续讨论。
简单的字符串拼接:
使用加号 +
可以将两个字符串连接(拼接)起来。
first_name = "张"
last_name = "三"
full_name = first_name + last_name # 结果是 "张三"
print(full_name)
greeting = "你好, "
message = greeting + full_name + "!" # 结果是 "你好, 张三!"
print(message)
注意:只能将字符串和字符串拼接,不能直接将字符串和数字拼接。
## 错误示例: print("年龄: " + 25) # 这会报错 TypeError
## 正确做法: print("年龄: " + str(25)) # 先把数字转成字符串
更优雅的字符串格式化:f-string
在 Python 3.6+ 版本中,引入了一种更简洁、更直观的字符串格式化方式:f-string(格式化字符串字面量)。只需要在字符串前加上字母f
,然后在字符串中使用花括号 {}
来插入变量或表达式。
num = 123
s = f"The number is: {num}"
print(s) # 输出: The number is: 123
## 可以直接在 {} 中进行表达式计算
s = f"The number plus 10 is: {num + 10}"
print(s) # 输出: The number plus 10 is: 133
bool
)
4. 判断真假:布尔值 (有时候,我们需要表示一些只有两种状态的逻辑值,比如“是”或“否”,“真”或“假”。在 Python 中,这种类型叫做布尔值。
布尔值只有两个可能的值:
True
(真)False
(假)
注意:首字母必须大写。
is_student = True
is_adult = False
has_permission = True
print(is_student)
print(is_adult)
布尔值通常是比较运算(例如判断两个数是否相等)和逻辑运算的结果,在后续学习控制流程(if
语句)时非常重要。
type()
函数
5. 查看数据类型:如果我们不确定一个变量存储的数据到底是什么类型,可以使用 Python 内置的 type()
函数来查看。
message = "Hello"
count = 10
price = 99.9
is_active = True
print(type(message)) # 输出 <class 'str'>
print(type(count)) # 输出 <class 'int'>
print(type(price)) # 输出 <class 'float'>
print(type(is_active)) # 输出 <class 'bool'>
type()
函数会返回数据的具体类型信息。
6. 练习
- 创建几个变量,分别存储你的名字(字符串)、年龄(整数)、身高(浮点数,例如 1.75 表示 1 米 75)、是否是学生(布尔值)。
- 使用
print()
语句将这些变量的值输出到屏幕上。 - 尝试将你的名字和年龄拼接起来(注意需要先将年龄转换成字符串,然后打印出来。
- 使用
type()
函数检查你创建的每个变量的类型,并打印出来。
这一章我们学习了如何使用变量来存储不同类型的数据:整数、浮点数、字符串和布尔值。理解这些基本数据类型是学习后续内容的基础。下一章,我们将学习如何对这些数据进行运算。