从零到接单 02:变量、数据类型与基本运算
系列目录:本文是「从零到接单:Python 自动化与爬虫实战」系列的第 2 篇。上一篇我们安装了 Python 并运行了第一行代码,这篇开始学习编程最核心的概念:数据。
上一篇文章你的程序能"说话"了。但只会说话的程序没什么用——真正有用的程序需要记住信息和进行计算。
这篇会讲三件事:变量(记忆)、数据类型(记忆的种类)、运算符(怎么处理记忆)。
一、变量:程序的"记忆"
变量就是一个带标签的盒子,你可以往里面放东西,也可以随时拿出来用。
# 把 25 放进叫 age 的盒子里
age = 25
# 把 "小明" 放进叫 name 的盒子里
name = "小明"
# 拿出来用
print(name) # 小明
print(age) # 25
print(name, age) # 小明 25
变量命名规则
# ✅ 合法的变量名
user_name = "张三" # 字母 + 下划线
_score = 95 # 下划线开头也可以
player2 = "李四" # 字母 + 数字
_ = "占位符" # 单独一个下划线也行(但不推荐)
# ❌ 不合法的变量名
2player = "张三" # 不能数字开头
my-name = "张三" # 不能用连字符
class = "张三" # 不能用 Python 关键字
命名建议:用英文,用下划线分隔单词(user_name),起有意义的名字。
二、基本数据类型
Python 有四种最常用的基础数据类型:
1. 整数(int)
age = 25
year = 2026
negative = -10
big_number = 1_000_000 # 可以用下划线分隔,更易读
print(big_number) # 1000000
2. 浮点数(float)— 小数
pi = 3.14159
temperature = 36.5
scientific = 1.5e3 # 科学计数法 = 1500.0
print(scientific) # 1500.0
3. 字符串(str)— 文字
greeting = "你好"
message = 'Python 很有趣' # 单引号也可以
long_text = """这是
多行
文字""" # 三个引号可以跨行
print(greeting + "," + message) # 拼接:你好,Python 很有趣
print(greeting * 3) # 重复:你好你好你好
字符串的常用操作:
text = " Hello, Python! "
print(text.upper()) # 全大写: HELLO, PYTHON!
print(text.lower()) # 全小写: hello, python!
print(text.strip()) # 去空格:Hello, Python!
print(text.replace("Python", "World")) # 替换: Hello, World!
print(len(text)) # 长度:18
print("Python" in text) # 是否包含:True
4. 布尔值(bool)— 真或假
is_student = True
is_teacher = False
print(is_student) # True
print(10 > 5) # True
print(10 == 5) # False
查看数据类型
print(type(25)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("hello")) # <class 'str'>
print(type(True)) # <class 'bool'>
三、基本运算
算术运算符
print(10 + 3) # 加法 → 13
print(10 - 3) # 减法 → 7
print(10 * 3) # 乘法 → 30
print(10 / 3) # 除法 → 3.3333333333333335
print(10 // 3) # 整除 → 3(向下取整)
print(10 % 3) # 取余 → 1
print(10 ** 3) # 幂运算 → 1000(10 的 3 次方)
比较运算符
print(10 > 5) # 大于 → True
print(10 < 5) # 小于 → False
print(10 >= 10) # 大于等于 → True
print(10 <= 5) # 小于等于 → False
print(10 == 10) # 等于 → True(注意是两个等号!)
print(10 != 5) # 不等于 → True
⚠️
=是赋值,==是比较。这是新手最容易犯的错!
逻辑运算符
print(True and False) # 与:两者都真才真 → False
print(True or False) # 或:一个真就真 → True
print(not True) # 非:取反 → False
# 实际例子
age = 20
has_id = True
print(age >= 18 and has_id) # True:成年且有身份证
四、类型转换
有时需要把一种类型变成另一种:
# 字符串 → 数字
age_str = "25"
age_int = int(age_str)
print(age_int + 1) # 26
# 数字 → 字符串
score = 95
score_str = str(score)
print("你的分数是:" + score_str) # 你的分数是:95
# 任何类型 → 布尔
print(bool(0)) # False
print(bool(1)) # True
print(bool("")) # False(空字符串)
print(bool("hello")) # True(非空字符串)
print(bool([])) # False(空列表)
五、f-string:优雅的格式化输出
name = "小明"
age = 25
height = 175.5
# 老式写法(不推荐)
print("我叫" + name + ",今年" + str(age) + "岁")
# f-string 写法(推荐!)
print(f"我叫{name},今年{age}岁,身高{height}cm")
# 还可以格式化数字
pi = 3.1415926
print(f"π ≈ {pi:.2f}") # π ≈ 3.14(保留两位小数)
print(f"百分比:{0.856:.1%}") # 百分比:85.6%
六、小练习:BMI 计算器
把这篇学的知识组合起来,写一个计算 BMI 的小程序:
# bmi.py —— 计算身体质量指数
print("=== BMI 计算器 ===")
height = float(input("请输入你的身高(米):"))
weight = float(input("请输入你的体重(公斤):"))
bmi = weight / (height ** 2)
print(f"\n你的 BMI 指数是:{bmi:.1f}")
# 判断范围
print("体重状态:", end="")
if bmi < 18.5:
print("偏瘦")
elif bmi < 24:
print("正常")
elif bmi < 28:
print("偏胖")
else:
print("肥胖")
if语句我们下一章会详细讲,这里先感受一下。
总结
| 概念 | 说明 | 示例 |
|------|------|------|
| 变量 | 存储数据的容器 | name = "小明" |
| int | 整数 | 25, -10 |
| float | 小数 | 3.14, 36.5 |
| str | 字符串 | "hello" |
| bool | 布尔值 | True, False |
| 算术运算 | + - * / // % ** | 10 // 3 → 3 |
| 比较运算 | > < >= <= == != | 10 == 10 → True |
| 逻辑运算 | and or not | True and False → False |
| 类型转换 | int() float() str() bool() | int("25") → 25 |
| f-string | 格式化字符串 | f"你好{name}" |
下一篇,我们将学习条件判断与循环——让程序学会"做决定"和"重复劳动"。
练习:写一个程序,让用户输入圆的半径,计算并输出圆的面积和周长(π 取 3.14)。提示:面积 = π × r²,周长 = 2 × π × r。
Comments
Sign in to leave a comment.