当前位置: 首页 > news >正文

《Python 实用项目与工具制作指南》· 2.2 变量

2.2 变量

如果把程序比作一个整理有序的工具箱,那么变量就是工具箱里的各种容器 —— 它们能暂时存储数据,方便后续调用、修改和处理。在 “题目数据生成器” 中,我们需要用变量存储用户输入的题目数量;在 “密码管理器” 里,变量则能保存账号、密码等敏感信息。本节将带你认识变量的本质,掌握它的定义、命名和使用方法,让程序具备 “记忆” 数据的能力。

一、什么是变量?

变量是程序中用于存储数据的 “容器”,它有一个名字(变量名)和一个值(存储的数据)。就像现实中用 “购物袋” 装水果,变量用名字标识,里面装着具体的数据。例如:

# 定义一个变量存储题目数量

question_count = 50

这里的question_count是变量名,50是变量的值,我们可以随时通过变量名调用或修改这个值。

变量的核心特点是 “可变化”—— 程序运行过程中,变量的值可以被多次修改。比如在生成题目时,若用户想调整数量:

question_count = 50 # 初始设置50道题

question_count = 100 # 修改为100道题

print(f"当前题目数量:{question_count}") # 输出结果为100

二、变量的命名规则

给变量起名时,需要遵循以下规则,否则程序会报错:

  1. 只能包含字母、数字和下划线:例如user_name“age123” 是合法的,而 “user@name”“年龄”(含特殊字符或中文,虽然 Python 3 支持中文变量名,但不推荐)不合法。
  2. 不能以数字开头:123age是错误的,age123是正确的。
  3. 不能使用 Python 关键字:像if“for”“print” 等是 Python 自带的关键字,具有特殊功能,不能作为变量名。
  4. 区分大小写:Name和name是两个不同的变量。

推荐命名风格

  • 用小写字母,多个单词之间用下划线连接(蛇形命名法),如password_length“activity_date”,清晰易懂。
  • 变量名要 “见名知意”,例如用password存储密码,用event_name存储活动名称,避免a“x1” 等模糊的名字。
三、变量的赋值与使用
1. 基本赋值:用=给变量赋值

Python 中用=(赋值符号)给变量赋值,左边是变量名,右边是要存储的数据。例如:

# 存储不同类型的数据

subject = "数学" # 字符串(文本)

difficulty = "中等" # 字符串

quantity = 30 # 整数

score = 95.5 # 浮点数(小数)

is_finished = True # 布尔值(True表示真,False表示假)

2. 同时给多个变量赋值

可以一次性给多个变量赋值,简化代码:

# 同时设置活动的名称、时间和地点

event_name, event_time, event_location = "校园招聘会", "2023-10-01", "体育馆"

print(event_name) # 输出:校园招聘会

3. 变量的运算与更新

变量可以参与运算,运算结果可以重新赋值给变量:

# 计算题目总分(每题10分)

question_count = 20

total_score = question_count * 10 # 变量参与运算

print(f"总分:{total_score}分") # 输出:总分:200分

# 自增更新(常用于计数)

current_users = 5

current_users = current_users + 1 # 等价于 current_users += 1

print(f"当前用户数:{current_users}") # 输出:当前用户数:6

四、变量在实际项目中的应用

变量是连接输入、处理和输出的核心,我们结合具体项目看它的作用:

1. 在 “题目数据生成器” 中

# 用变量存储用户输入的参数

subject = input("请选择科目:") # 从输入获取值并赋值

min_number = int(input("请输入最小数字:"))

max_number = int(input("请输入最大数字:"))

# 用变量存储生成的题目

question_1 = f"{min_number} + {max_number} = ?"

question_2 = f"{max_number} - {min_number} = ?"

# 输出时调用变量

print("生成的题目:")

print(question_1)

print(question_2)

变量在这里起到了 “暂存” 用户输入和中间结果的作用,让数据流转更清晰。

2. 在 “活动管理系统” 中

# 用变量记录活动信息

activity_name = "编程大赛"

start_time = "09:00"

end_time = "17:00"

participants = 0 # 初始参与人数为0

# 更新参与人数

participants = participants + 5 # 有5人报名

print(f"{activity_name}当前参与人数:{participants}") # 输出:编程大赛当前参与人数:5

通过变量的更新,程序能实时记录活动状态的变化。

五、常见问题解决
  1. 变量未定义报错:使用变量前必须先赋值,否则会出现NameError。例如:

print(score) # 报错,因为score未赋值

解决方法:先给变量赋值,再使用。

    2. 赋值顺序错误:=是从右向左赋值,不能颠倒。例如:

100 = score # 报错,左边必须是变量名

    3. 变量名重复:同一作用域内,后定义的变量会覆盖之前的变量。例如:

count = 10

count = "十" # 覆盖之前的整数10

print(count) # 输出:十

建议避免重复命名,除非确实需要更新变量值。

变量就像程序的 “临时记忆”,让数据得以被存储和处理。掌握变量的使用后,你可以让程序不再只是简单的输入输出,而是能对数据进行计算、修改和传递。下一节,我们将学习数据类型,了解不同类型的数据有哪些特性,以及如何根据需求选择合适的变量类型。现在,试着定义几个变量来记录自己的姓名、年龄和爱好,并用print()函数输出吧!

http://www.dtcms.com/a/315029.html

相关文章:

  • JVM调优工具详解
  • 把“距离过近”的节点(或端点)合并成一个,避免重复。机器学习 python
  • web:ts元组
  • 【RH124知识点问答题】第8章 监控和管理 Linux 进程
  • Bean的生命周期和循环依赖问题的解决
  • 防火墙认证用户部署
  • 开发规范(一)移动端
  • 多线程(一)
  • 【C#】操作Execl和Word文件-1
  • 子词分词器(Byte Pair Encoding + WordPiece)
  • 如何给Word和WPS文档添加密码或取消密码
  • 【Java】使用FreeMarker来实现Word自定义导出
  • 反转字符串中的元音字母:Swift 双指针一步到位
  • EXPLAIN工具:查询执行计划分析与索引诊断
  • 【数据结构】排序(sort) -- 插入排序
  • 如何设置端口映射?防火墙/路由器/纯软件工具多种常用方案步骤,确保任意内网ip端口映射公网访问到
  • 《汇编语言:基于X86处理器》第11章 复习题和练习
  • RocketMQ与Kafka 消费者组的‌重平衡操作消息顺序性对比
  • Hadoop MapReduce 3.3.4 讲解~
  • Linux系统编程-文件操作(黑马笔记)
  • 基于Springboot+Mybatis+thymeleaf的个人博客系统的设计与实现
  • EXCEL删除数据透视表
  • 洛谷 P3373 【模板】线段树 2- 普及+/提高
  • C# 类型
  • 基于PSO-NSGAIII混合优化的生产调度算法matlab仿真,输出甘特图,对比PSO和NSGAIII
  • traefik网关鉴权中间件转发multipart/form-data请求的multipart: NextPart: EOF问题
  • 09 Linux基础(8.4)
  • (一)vue3项目初始化(create-vue)
  • 构建属于自己的第一个 MCP 服务器:初学者教程
  • web:ts的字符串string和String