02.python的变量和简单数据类型

Python 的变量和简单数据类型完全指南

第一部分:变量是什么?

一、变量的概念

变量 可以理解为一个“带名字的盒子”:你把数据放进去,以后用名字就能取出或修改这个数据。

  • 名字:就是变量名,比如 agename
  • 盒子里的内容:就是变量的,比如 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,结果是 x3
x = 10
x = x + 1   # 先算 x+1 得 11,再赋给 x
print(x)    # 输出:11

三、变量命名规则(必须遵守)

Python 对变量名有硬性要求,不满足就会报错。

规则 说明 示例
只能包含 字母、数字、下划线 _ ageage1my_name
不能以数字开头 第一个字符必须是字母或下划线 name_temp1name
区分大小写 大写和小写算不同变量 Ageage 是两个变量

正确示例:

name = "小红"
my_name = "小明"
student2 = "小刚"
_temp = 100

错误示例(会报错):

2name = "错误"      # 不能以数字开头
my-name = "错误"    # 不能有减号(会当成减号运算)
class = "错误"      # class 是 Python 保留字,不能当变量名

四、变量命名习惯(建议遵守)

这些不是语法强制,但能让代码更易读、更规范。

  • 见名知意:变量名最好能看出含义
    • 好:agestudent_nametotal_price
    • 差:ax1temp(除非只是临时用一下)
  • 小写 + 下划线:多个单词用下划线连接(Python 推荐风格)
    • 例:user_nametotal_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

注意: 首字母大写,不能写成 truefalse

示例:

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")123int(3.9)3
float() 转成浮点数 float("3.14")3.14float(5)5.0
str() 转成字符串 str(100)"100"str(3.14)"3.14"
bool() 转成布尔值 bool(1)Truebool(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"

发表评论