当前位置:首页>python>2.3 变量和数据类型 —— Python 的数据世界观

2.3 变量和数据类型 —— Python 的数据世界观

  • 2026-09-02 15:40:06
2.3 变量和数据类型 —— Python 的数据世界观

2.3 变量和数据类型 —— Python 的数据世界观

如果把程序比作一个厨房,变量就是各种各样的碗——你把食材(数据)放到不同的碗里,然后给每个碗贴个标签(变量名)。


🎯 本节要点:理解变量、掌握 Python 的六大标准数据类型、学会 input() 和 print()

🔗 关联小程序: ch02_s2_3


一、变量——数据的"标签"

变量的概念很简单:变量就是用来存储数据的容器。

在 Python 中,变量不需要提前声明类型,直接赋值就行:

data = 100# data 是一个变量,它"装"着数字 100print(data)  # 输出:100

这个过程就像你拿了一个空碗,贴上标签"data",然后往里面放了数字 100。

赋值的过程

当你写下 data = 100,Python 做了两件事:

  1. 创建数据:在内存中创建一个值为 100 的整数对象
  2. 建立引用:把变量名 `data"指向"这个对象

听起来抽象,但你只需要记住:变量就是名字,数据才是本体。 同一个数据可以有多个名字。

a = 100b = a      # b 也指向 a 所指向的数据print(a)   # 100print(b)   # 100a = 200# a 换了一个新数据print(a)   # 200print(b)   # 100(b 还是指向原来的数据)

变量的重新赋值

变量可以随时换"内容":

x = 10x = "hello"# Python 不介意你把字符串赋给之前装数字的变量x = True# 再换成布尔值也没问题

这就是 Python 被称为"动态类型语言"的原因——变量没有固定的类型限制,随时可以指向任何类型的数据。

虽然可以这样做,但在实际开发中,一个变量最好只装一种类型的数据。x 先装数字,又装字符串,再装布尔值——过两天你自己都看不懂 x 到底装的是什么。


二、Python 的六大标准数据类型

Python 的数据类型可以分为两大类。

不可变类型(创建后不能修改)

这四种类型一旦创建,内容就不能变了。如果你觉得"变了",实际上是创建了一个新的数据。

类型
示例
说明
数字0
, 101, -239, 3.1415
整数、浮点数、复数、布尔
字符串"Python"
, 'Hello'
文本数据
元组(1, 2, 'apple')
有序、不可变的序列
布尔True
, False
是非判断

可变类型(创建后可以修改)

类型
示例
说明
列表[1, 2, 'apple']
有序、可变的序列
集合{'apple', 'orange', 1}
无序、不重复
字典{"name": "张三", "age": 18}
键值对存储

你现在不用全记住,后半本书会逐个接触到。先把最常用的几种掌握好。

检查类型:type() 函数

Python 提供了一个非常实用的函数来查看数据的类型:

print(type(100))             # <class 'int'>print(type(3.14))            # <class 'float'>print(type("Hello"))         # <class 'str'>print(type(True))            # <class 'bool'>print(type([1, 2]))          # <class 'list'>print(type((1, 2)))          # <class 'tuple'>print(type({"name": "张三"})) # <class 'dict'>print(type({1, 2, 3}))       # <class 'set'>

初学阶段遇到不确定的类型——用 type() 看一眼。


三、字符串——最常见的文本类型

字符串是 Python 里用得最多的数据类型,没有之一。

三种写法

'Python123¥'# 单引号"Python4*&%"# 双引号'''Python s1 ~(())'''# 三引号(可换行)

单引号和双引号效果完全一样,可以互相嵌套:

print("他说:'你好'")        # 双引号里面套单引号print('她说:"你好"')        # 单引号里面套双引号

三引号通常用于多行文本:

poem = """静夜思床前明月光,疑是地上霜。"""

字符串的操作

# 拼接print("Hello" + " " + "World")   # Hello World# 重复print("Ha" * 3)                   # HaHaHa# 长度print(len("Python"))              # 6# 索引(从 0 开始)text = "Python"print(text[0])                    # Pprint(text[-1])                   # n(最后一个字符)

字符串是第二章的重点之一,后面还有专门的章节深入讲解。先知道最基础的就好。


四、数字类型

Python 的数字类型比你想象的要丰富:

0# 整型 int101# 整型 int-239# 整型 int3.1415# 浮点型 float4.2E-10# 浮点型(科学计数法)3.12+1.23j# 复数类型 complexTrue# 布尔型 bool(本质上是数字,True=1, False=0)False# 布尔型 bool

数字类型在本章第 4 节会单独重点讲,这里先了解有哪些就够了。


五、输入和输出——和用户"对话"

程序不是写给自己看的,你需要和用户交互。

输出:print()

你已经很熟悉了:

name = "小明"print("姓名:", name)       # 输出多个值,中间用逗号隔开print("年龄:", 22)          # 混搭字符串和数字address = "北京"print("地址:", address)    # 输出:地址: 北京

注意:print() 的多个参数之间会自动加一个空格分隔。

输入:input()

input() 函数让程序停下来,等待用户在键盘上输入内容:

user_name = input("请输入账号:")password = input("请输入密码:")print("登录成功!")

当程序执行到 input(),会暂停等待你输入。你输入的内容按下回车后,会被保存到变量中。

重要:input() 返回的全是字符串

这是新手最容易踩的坑之一。用 input() 获取的内容,不管用户输入的是数字还是文字,返回的都是字符串类型。

age = input("请输入你的年龄:")print(type(age))         # <class 'str'>print(age + 1)           # ❌ TypeError: can only concatenate str

解决方案:用 int() 或 float() 做类型转换

age = int(input("请输入你的年龄:"))print(type(age))         # <class 'int'>print(age + 1)           # ✅ 正常,输出数字# 或者分两步写temp = input("请输入你的年龄:")age = int(temp)print(age + 1)

六、动手写一个登录界面

把这一节的内容串起来,写一个简单的登录程序:

print("=" * 30)print("      欢迎登录系统")print("=" * 30)# 输入账号密码user_name = input("请输入账号:")password = input("请输入密码:")# 输出登录信息print("-" * 30)print(f"账号:{user_name}")print(f"密码:{'*' * len(password)}")  # 密码用星号隐藏长度print("-" * 30)print("登录成功!欢迎回来," + user_name)

运行效果:

==============================      欢迎登录系统==============================请输入账号:小明请输入密码:****  (你输入的密码不会直接显示)------------------------------账号:小明密码:****------------------------------登录成功!欢迎回来,小明

虽然这个程序只学了不到一章的知识,但它已经有了"正经程序"的样子了:有输入、有输出、有界面结构。你可以把它发给朋友试试。


小结

  1. 变量是数据的"标签",用 = 赋值,随时可以换指向
  2. 数据类型有不可变(数字、字符串、元组、布尔)和可变(列表、字典、集合)两大类
  3. type() 可以随时查看数据的类型,新手神器
  4. input() 获取用户输入,返回的是字符串
  5. int() / float() 把字符串转成数字
  6. print() 输出,可以用逗号输出多个值

🔗 关联课程编号:ch02_s2_3


下一篇:2.4 数字类型 —— 整数、浮点数、复数、布尔,一次搞懂 Python 的数字世界。

最新文章

随机文章