Python 的变量和简单数据类型完全指南
第一部分:变量是什么?
一、变量的概念
变量 可以理解为一个“带名字的盒子”:你把数据放进去,以后用名字就能取出或修改这个数据。
- 名字:就是变量名,比如
age、name - 盒子里的内容:就是变量的值,比如
18、"小明"
示例:
# 把数字 18 放进名为 age 的“盒子”
age = 18
# 把文字 "小明" 放进名为 name 的“盒子”
name = "小明"
# 用 print 把“盒子”里的内容显示出来
print(age) # 输出:18
print(name) # 输出:小明
二、变量的赋值(= 号)
在 Python 里,用 等号 = 给变量赋值(把右边的值存到左边的变量里)。
格式:
变量名 = 值
示例:
# 一个变量赋一个值
score = 95
city = "北京"
price = 19.5
# 可以随时“换掉”盒子里的内容(重新赋值)
score = 100
print(score) # 输出:100
注意:
=是“赋值”,不是数学里的“等于”- 先计算右边,再赋给左边,例如:
x = 1 + 2,结果是x为3
x = 10
x = x + 1 # 先算 x+1 得 11,再赋给 x
print(x) # 输出:11
三、变量命名规则(必须遵守)
Python 对变量名有硬性要求,不满足就会报错。
| 规则 | 说明 | 示例 |
|---|---|---|
| 只能包含 | 字母、数字、下划线 _ |
age、age1、my_name |
| 不能以数字开头 | 第一个字符必须是字母或下划线 | ✅ name、_temp ❌ 1name |
| 区分大小写 | 大写和小写算不同变量 | Age 和 age 是两个变量 |
正确示例:
name = "小红"
my_name = "小明"
student2 = "小刚"
_temp = 100
错误示例(会报错):
2name = "错误" # 不能以数字开头
my-name = "错误" # 不能有减号(会当成减号运算)
class = "错误" # class 是 Python 保留字,不能当变量名
四、变量命名习惯(建议遵守)
这些不是语法强制,但能让代码更易读、更规范。
- 见名知意:变量名最好能看出含义
- 好:
age、student_name、total_price - 差:
a、x1、temp(除非只是临时用一下)
- 好:
- 小写 + 下划线:多个单词用下划线连接(Python 推荐风格)
- 例:
user_name、total_count
- 例:
- 不要用拼音:尽量用英文,方便以后和别人协作
示例:
# 推荐
age = 18
student_name = "李华"
total_score = 0
# 不推荐(难懂)
a = 18
x = "李华"
t = 0
五、一次给多个变量赋值
多个变量,同一个值:
a = b = c = 0
print(a, b, c) # 输出:0 0 0
多个变量,分别赋值(一行写多个):
name, age, city = "小明", 18, "北京"
print(name, age, city) # 输出:小明 18 北京
交换两个变量的值(不用临时变量):
x, y = 10, 20
x, y = y, x
print(x, y) # 输出:20 10
第二部分:简单数据类型
Python 中每个值都有“类型”,不同类型能做不同操作。下面讲最常用的几种简单类型。
六、整数(int)
整数 就是没有小数部分的数,类型名是 int(integer 的缩写)。
示例:
age = 18
count = -5
big = 1000000
print(age, count, big)
# 输出:18 -5 1000000
基本运算:
a, b = 10, 3
print(a + b) # 加法:13
print(a - b) # 减法:7
print(a * b) # 乘法:30
print(a / b) # 除法(结果是小数):3.333...
print(a // b) # 整除(只保留整数部分):3
print(a % b) # 取余数:1
print(a ** b) # 乘方(a 的 b 次方):1000
查看类型:用 type()
x = 100
print(type(x)) # 输出:<class 'int'>
七、小数 / 浮点数(float)
带小数点的数在 Python 里叫 浮点数,类型名是 float。
示例:
price = 19.5
pi = 3.14159
negative = -0.5
# 整数和整数运算得到整数;一旦有小数参与,结果往往是 float
print(10 / 2) # 输出:5.0(结果是 float)
print(10 / 3) # 输出:3.333...
运算:
a, b = 5.0, 2.0
print(a + b) # 7.0
print(a * b) # 10.0
print(a / b) # 2.5
科学计数法:
x = 1.5e3 # 1.5 × 10³ = 1500.0
y = 2e-2 # 2 × 10⁻² = 0.02
print(x, y) # 1500.0 0.02
八、字符串(str)
字符串 就是一段文字(可以包含字母、数字、符号、空格、中文等),类型名是 str(string)。在 Python 里要用 引号 包起来。
8.1 用单引号或双引号
s1 = "你好"
s2 = '世界'
s3 = "It's OK" # 内容里有单引号时,用双引号包起来方便
s4 = '他说:"嗨"' # 内容里有双引号时,用单引号包起来方便
print(s1, s2, s3, s4)
8.2 多行字符串(三引号)
text = """第一行
第二行
第三行"""
print(text)
8.3 字符串的“拼接”(相加)
a = "Hello"
b = " "
c = "Python"
print(a + b + c) # 输出:Hello Python
name = "小明"
msg = "你好," + name + "!"
print(msg) # 输出:你好,小明!
8.4 字符串和数字不能直接相加
age = 18
# print("我今年" + age + "岁") # 错误!会报错
# 正确:先把数字转成字符串
print("我今年" + str(age) + "岁") # 输出:我今年18岁
8.5 字符串的“重复”(乘一个整数)
print("Ha" * 3) # 输出:HaHaHa
print("-" * 10) # 输出:----------
line = "=" * 20
print(line) # 输出:====================
8.6 字符串长度:len()
s = "Python"
print(len(s)) # 输出:6
print(len("你好")) # 输出:2(两个字符)
8.7 取某一个字符(下标 / 索引)
字符串里每个字符都有一个位置编号,从 0 开始数(这叫“从 0 开始索引”)。
s = "Python"
# P y t h o n
# 0 1 2 3 4 5
print(s[0]) # 输出:P(第 1 个)
print(s[1]) # 输出:y(第 2 个)
print(s[5]) # 输出:n(第 6 个)
倒数第几个:用负数下标
print(s[-1]) # 输出:n(最后一个)
print(s[-2]) # 输出:o(倒数第二个)
8.8 截取一段(切片)
格式:字符串[开始:结束]
- 包含“开始”位置,不包含“结束”位置
- 不写开始表示从开头,不写结束表示到末尾
s = "Hello Python"
print(s[0:5]) # 输出:Hello(下标 0 到 4)
print(s[6:12]) # 输出:Python
print(s[:5]) # 输出:Hello(从开头到下标 4)
print(s[6:]) # 输出:Python(从下标 6 到末尾)
print(s[-6:]) # 输出:Python(最后 6 个字符)
8.9 常用方法(简单了解)
方法是在变量名后加 .方法名()。先记最常用的:
s = " Hello Python "
print(s.strip()) # 去掉首尾空格:Hello Python
print(s.upper()) # 全变大写: HELLO PYTHON
print(s.lower()) # 全变小写: hello python
print(s.replace("Python", "World")) # 替换: Hello World
九、布尔值(bool)
布尔类型 只有两个值:True(真)和 False(假),用来表示“是否”“对错”。类型名是 bool。
注意: 首字母大写,不能写成 true、false。
示例:
is_student = True
is_rain = False
print(is_student, is_rain) # 输出:True False
print(type(is_student)) # 输出:<class 'bool'>
比较运算会得到布尔值:
print(10 > 5) # True
print(10 < 5) # False
print(10 == 10) # True(两个等号表示“等于”)
print(10 != 5) # True(!= 表示“不等于”)
print(5 >= 5) # True(大于等于)
print(5 <= 3) # False
直接用在条件里(后面学 if 时会常用):
age = 18
is_adult = age >= 18
print(is_adult) # True
十、查看类型:type()
不确定某个变量是什么类型时,用 type(变量) 查看。
a = 42
b = 3.14
c = "hello"
d = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'str'>
print(type(d)) # <class 'bool'>
十一、类型转换
有时需要把一种类型转成另一种,用下面几个函数:
| 函数 | 作用 | 示例 |
|---|---|---|
| int() | 转成整数 | int("123") → 123,int(3.9) → 3 |
| float() | 转成浮点数 | float("3.14") → 3.14,float(5) → 5.0 |
| str() | 转成字符串 | str(100) → "100",str(3.14) → "3.14" |
| bool() | 转成布尔值 | bool(1) → True,bool(0) → False |
示例:
# 字符串 → 整数 / 小数(用于计算)
s = "100"
n = int(s)
print(n + 1) # 101
s2 = "3.14"
f = float(s2)
print(f * 2) # 6.28
# 数字 → 字符串(用于和别的字符串拼接)
age = 18
msg = "我今年" + str(age) + "岁"
print(msg)
# 整数 → 浮点
x = 5
print(float(x)) # 5.0
第三部分:综合示例与小结
十二、综合示例:变量 + 多种类型
# 变量与类型综合示例
name = "小明"
age = 18
height = 1.75
is_student = True
print("姓名:", name, "类型:", type(name))
print("年龄:", age, "类型:", type(age))
print("身高:", height, "类型:", type(height))
print("是否学生:", is_student, "类型:", type(is_student))
# 字符串拼接与转换
intro = name + " 今年 " + str(age) + " 岁,身高 " + str(height) + " 米。"
print(intro)
姓名: 小明 类型: <class 'str'>
年龄: 18 类型: <class 'int'>
身高: 1.75 类型: <class 'float'>
是否学生: True 类型: <class 'bool'>
小明 今年 18 岁,身高 1.75 米。
十三、小结表
| 类型 | 英文名 | 示例值 | 说明 |
|---|---|---|---|
| 整数 | int | 0, 18, -5 |
没有小数点 |
| 浮点数 | float | 3.14, -0.5, 2.0 |
有小数点 |
| 字符串 | str | "hello", '你好' |
用引号包起来的文字 |
| 布尔 | bool | True, False |
真 / 假 |
| 操作 | 写法示例 |
|---|---|
| 赋值 | x = 10 |
| 看类型 | type(x) |
| 转整数 | int("123")、int(3.9) |
| 转小数 | float("3.14")、float(5) |
| 转字符串 | str(100) |
| 字符串长度 | len("abc") → 3 |
| 取一个字符 | "abc"[0] → 'a' |
| 截取一段 | "Hello"[1:4] → "ell" |