Python 变量与数据类型简明教程
要在电脑上通过命令提示符或 PowerShell 运行 Python,需要先下载并安装 Python。
如果你还没有安装,请参考Python安装与开发环境配置一文来完成安装。
前言:编程的第一步从“变量”和“数据类型”开始
踏入网站制作世界的朋友们,大家好!当您习惯了用HTML和CSS来制作外观后,下一步就是添加“动态效果”和“数据处理”的阶段了,编程的世界正等待着您。其中,Python因其简洁易学而备受众多网页创作者的青睐。
在学习编程的过程中,任何人最先接触到的就是“变量”和“数据类型”。它们是程序处理数据最基本的机制,可以说是编程的骨架。
也许您会觉得“听起来好像很难……”,但请不必担心!本文将通过通俗易懂的比喻,为您详细解说Python的变量和数据类型。文中介绍的所有代码,只需复制粘贴,就能在您的电脑上立即运行。我们希望您不仅能“阅读理解”,更能通过“动手体验”,感受到编程的乐趣。
来吧,让我们一起探索Python的世界,将您的网页制作技能提升到一个新的水平!
第1章:什么是变量?存放数据的魔法盒子
在编程中,变量简单来说,就像一个“用来存放数据的盒子”。您可以给这个盒子取任何喜欢的名字(标签),在里面放入数字、文字等数据,之后可以随时自由地取出或更换里面的内容。
例如,假设我们要写一段自我介绍:“我叫张三,今年30岁。”如果每次姓名或年龄变化,都要修改文章中的多处地方,会非常麻烦。这时,变量就派上用场了。
1-1. 如何创建变量(赋值)
将数据放入名为“变量”的盒子里的这个过程,在编程世界里被称为“赋值”。在Python中,我们使用=(等号)来完成。
只需写成 变量名 = 数据 的形式,就能轻松创建变量。我们来实际操作一下吧。
以下代码将字符串“张三”存入名为name的变量中,将数字30存入名为age的变量中。
# 将字符串“张三”赋值给变量name
name = "张三"
# 将数字30赋值给变量age
age = 30
1-2. 查看变量的内容(输出)
仅仅将数据存入变量是不会发生任何事情的。我们当然想确认一下里面的内容。这时就要用到print()函数了。在print()的括号里放入变量名,存储在该变量中的数据就会被显示(输出)出来。
name = "张三"
age = 30
# 输出变量name的内容
print(name)
# 输出变量age的内容
print(age)
1-3. 变量的内容可以更换
变量的便利之处在于,即使存入数据后,也随时可以用新数据覆盖。就像更换盒子里的东西一样。
在下面的例子中,我们先将"网页设计师"存入名为job的变量,之后又将其内容改写为"网页总监"。通过print()输出,可以确认内容确实已经改变了。
job = "网页设计师"
print(job) # 此时会显示 "网页设计师"
# 给同一个变量赋予新数据(覆盖)
job = "网页总监"
print(job) # 会显示 "网页总监"
第2章:什么是数据类型?放入盒子里的东西的种类
我们已经解释过,名为“变量”的盒子里可以放入各种各样的数据。这种“数据的种类”,我们就称之为数据类型。
为什么数据类型很重要呢?举个例子,当有一个数据“100”时,它究竟是数字100,还是文字“100”?人类可以根据上下文来判断,但对于计算机,我们必须明确地告诉它如何区分。如果是数字,就可以进行加减运算;但如果是文字,就不行了,对吧?
Python提供了多种数据类型,但我们先来学习一下在网页制作中特别常用的几种基本类型。
2-1. 字符串 (string) - 表示文本
处理句子、单词等文字序列的就是字符串类型。在Python中,用str表示。在程序中处理字符串的规则是,必须用" "(双引号)或' '(单引号)将其括起来。
# 使用双引号的字符串
greeting = "你好,世界!"
print(greeting)
# 使用单引号的字符串
site_name = 'Web Creator Box'
print(site_name)
2-2. 数字 (number) - 计算就交给它
顾名思义,这是一种处理数字的数据类型。在Python中,我们主要使用两种。
- 整数 (integer):像
1、100、-50 这样不带小数点的数字。用int表示。
- 浮点数 (float):像
1.5、3.14、-0.01 这样带有小数部分的数字。用float表示。
数字要直接写,不能用" "等符号括起来。如果括起来,它就会变成字符串而不是数字,需要注意。
# 整数类型 (int)
user_count = 150
print(user_count)
# 浮点数类型 (float)
tax_rate = 1.10
print(tax_rate)
# 数字之间也可以进行计算
total_price = 5000 * tax_rate
print(total_price)
2-3. 布尔值 (boolean) - 是/否的二选一
布尔类型(或称逻辑类型)是一种非常简单的数据类型,它只有两个值:True(真/是)和False(假/否)。用bool表示。
它在管理可以用“是/否”回答的状态时非常方便,例如“用户是否已登录?”“发布设置是否已开启?”。在实现网站功能时会频繁使用。
# 用 True 表示用户已登录的状态
is_logged_in = True
print(is_logged_in)
# 用 False 表示文章未发布的状态
is_published = False
print(is_published)
2-4. 列表 (list) - 按顺序存储多个数据
当您想将多个数据按顺序存入一个变量中时,就要使用列表类型了。用[ ](方括号)将所有数据括起来,并用,(逗号)分隔每个数据。
它在处理多个项目时很有用,比如网站的“通知列表”或“商品分类列表”。列表中的数据类型可以是不同的。
# 用列表管理兴趣爱好
hobbies = ["阅读", "看电影", "编程", "散步"]
print(hobbies)
# 通过从0开始的编号(索引)来获取数据
print(hobbies[0]) # 显示第一个元素 "阅读"
print(hobbies[2]) # 显示第三个元素 "编程"
2-5. 字典 (dictionary) - 用键值对来管理
字典类型和列表一样,可以存储多个数据,但有一个很大的区别。列表是通过“顺序”来管理数据,而字典则是通过“键”和“值”的配对来管理。
用{ }(花括号)将所有数据括起来,并以"键": 值的形式来描述数据。
它非常适合用于那些需要为每个数据赋予有意义标签的场合,比如个人信息,“姓名”是“李四”,“年龄”是“25”等。
# 用字典管理用户个人信息
user_profile = {
"name": "李四",
"age": 25,
"job": "Web工程师",
"is_student": False
}
print(user_profile)
# 通过指定键来获取数据
print(user_profile["name"]) # 显示 "李四"
print(user_profile["job"]) # 显示 "Web工程师"
2-6. 使用 `type()` 函数确认数据类型
当您想确认“这个变量里现在存的是什么类型的数据?”时,type()函数就非常方便了。在括号里放入变量名,它就会告诉您该变量的数据类型。
text = "你好"
number = 123
pi = 3.14
is_active = True
items = [1, 2, 3]
profile = {"name": "王五"}
print( type(text) ) # 显示
print( type(number) ) # 显示
print( type(pi) ) # 显示
print( type(is_active) ) # 显示
print( type(items) ) # 显示
print( type(profile) ) # 显示
第3章:数据类型的高级用法
掌握了基本的数据类型后,接下来我们看看如何将它们组合或转换。学会了这些,您的表达能力将会大大拓宽。
3-1. 字符串拼接
使用+号可以将字符串连接起来。
last_name = "王"
first_name = "五"
full_name = last_name + first_name
print(full_name) # 显示 "王五"
3-2. 字符串与变量的组合 (f-string)
我们经常需要将变量的值嵌入到句子中,比如“您的积分是 100 分”。在这种情况下,“f-string(格式化字符串字面量)”就非常方便了。
只需在字符串的引号前加上f,然后用{ }将句子中的变量括起来,就可以轻松地组合字符串和变量。这是现代Python中非常常用的一种写法。
user_name = "访客"
points = 120
# 使用 f-string 创建字符串
message = f"{user_name}您好,您当前的积分是 {points} 分。"
print(message)
3-3. 数据类型转换 (Casting)
在编程时,我们有时会遇到“想把数字当作字符串处理”,或者反过来“想把字符串形式的数字当作可计算的数值处理”的情况。像这样将一种数据类型转换为另一种数据类型的过程,我们称之为Casting(类型转换)。
str(数据): 将数据转换为字符串。
int(数据): 将数据转换为整数。
float(数据): 将数据转换为浮点数。
在下面的例子中,如果直接用+连接字符串"100"和"50",它们会作为文本被拼接成"10050"。因此,我们使用int()将其转换为数字后再进行加法运算,从而得到正确的计算结果150。
# 从用户输入的数据,即便是数字,最初也被当作字符串处理
input_str_num1 = "100"
input_str_num2 = "50"
# 直接作为字符串拼接
print(input_str_num1 + input_str_num2) # 结果会是 "10050"
# 使用 int() 转换为数字后再计算
num1 = int(input_str_num1)
num2 = int(input_str_num2)
print(num1 + num2) # 正确显示 150
第4章:在网页制作中活用!用Python生成HTML
好了,利用至今学到的变量和数据类型,我们来为网页创作者们做一个贴近实际的应用示例吧。这是一个使用Python程序动态生成HTML文件本身的高级例子。
例如,想象一下网站的员工介绍页面。每当有新员工加入就手动更新HTML会非常麻烦。但是,如果使用Python,我们就可以根据员工数据(用字典类型管理)自动生成个人信息页面的HTML。
【完整示例】用Python生成个人信息页面HTML
以下的Python代码是一个程序,它会根据存储在名为profile_data的字典中的个人信息,生成一个名为profile.html的HTML文件。
请复制这段代码,保存为profile_generator.py之类的文件名,然后运行它。在同一个文件夹下,应该会生成一个profile.html文件。
# profile_generator.py
# 用字典类型管理个人信息数据
profile_data = {
"name": "王花",
"job": "网页设计师",
"skills": ["HTML", "CSS", "JavaScript", "Python"],
"introduction": "我致力于创作外观和代码都一样优美的设计。最近沉迷于使用Python来提高工作效率!"
}
# 使用 f-string 创建HTML骨架
# 嵌入了字典和列表中的数据
html_content = f"""
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{profile_data['name']}的个人信息</title>
<style>
body {{ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.7; color: #333; background-color: #fdfdfd; max-width: 800px; margin: 2rem auto; padding: 0 1.5rem; }}
.profile-card {{ background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; padding: 2.5rem; box-shadow: 0 6px 12px rgba(0,0,0,0.08); }}
h1 {{ color: #2c3e50; font-size: 2.5rem; margin-bottom: 0.5rem; }}
h2 {{ color: #34495e; border-bottom: 2px solid #3498db; padding-bottom: 0.5rem; margin-top: 2rem; }}
p {{ margin: 1rem 0; }}
.job-title {{ color: #7f8c8d; font-size: 1.2rem; font-weight: bold; margin-bottom: 2rem; }}
.skills-list {{ list-style: none; padding: 0; margin-top: 1rem; }}
.skills-list li {{ background: #3498db; color: white; padding: 0.3rem 1rem; border-radius: 16px; display: inline-block; margin: 0.3rem; font-size: 0.9rem; }}
</style>
</head>
<body>
<div class="profile-card">
<h1>{profile_data['name']}</h1>
<p class="job-title">{profile_data['job']}</p>
<h2>自我介绍</h2>
<p>{profile_data['introduction']}</p>
<h2>技能</h2>
<ul class="skills-list">
{''.join([f'<li>{skill}</li>' for skill in profile_data['skills']])}
</ul>
</div>
</body>
</html>
"""
# 以写入模式打开文件并写入内容
try:
with open("profile.html", "w", encoding="utf-8") as f:
f.write(html_content)
print("✅ 成功:已生成 profile.html。请打开文件查看。")
except IOError as e:
print(f"❌ 错误:文件写入失败。 {e}")
生成的HTML文件的完整代码
运行上面的Python脚本后,会生成一个内容如下的profile.html文件。用浏览器打开它,应该能看到一个应用了简单样式的个人信息页面。
像这样,巧妙地使用Python的变量和数据类型(特别是字典和列表),我们就能从单纯的静态网站,迈出基于数据生成内容的一步。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>王花的个人信息</title>
<style>
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.7; color: #333; background-color: #fdfdfd; max-width: 800px; margin: 2rem auto; padding: 0 1.5rem; }
.profile-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; padding: 2.5rem; box-shadow: 0 6px 12px rgba(0,0,0,0.08); }
h1 { color: #2c3e50; font-size: 2.5rem; margin-bottom: 0.5rem; }
h2 { color: #34495e; border-bottom: 2px solid #3498db; padding-bottom: 0.5rem; margin-top: 2rem; }
p { margin: 1rem 0; }
.job-title { color: #7f8c8d; font-size: 1.2rem; font-weight: bold; margin-bottom: 2rem; }
.skills-list { list-style: none; padding: 0; margin-top: 1rem; }
.skills-list li { background: #3498db; color: white; padding: 0.3rem 1rem; border-radius: 16px; display: inline-block; margin: 0.3rem; font-size: 0.9rem; }
</style>
</head>
<body>
<div class="profile-card">
<h1>王花</h1>
<p class="job-title">网页设计师</p>
<h2>自我介绍</h2>
<p>我致力于创作外观和代码都一样优美的设计。最近沉迷于使用Python来提高工作效率!</p>
<h2>技能</h2>
<ul class="skills-list">
<li>HTML</li><li>CSS</li><li>JavaScript</li><li>Python</li>
</ul>
</div>
</body>
</html>
第5章:使用变量和数据类型时的注意事项
最后,我们介绍一些初学者在处理变量和数据类型时容易遇到的问题,以及一些最好了解的规则。
-
遵守命名规则
变量名不是随便取的。在Python中,我们使用小写英文字母、数字和下划线(_)的组合。推荐使用“蛇形命名法”(snake_case),即用下划线连接单词(例如:user_name, total_price)。让我们为变量取一个易于理解且一致的名字吧。
-
不能使用保留字
在Python语法中有特殊含义的词(如 if, for, class, print 等)不能用作变量名。这些词被称为“保留字”。
-
区分大小写
名为name的变量和名为Name的变量会被当作完全不同的东西。需要注意,因为这可能导致意想不到的错误。
-
理解它是一门动态类型语言
Python是一门“动态类型语言”,变量的类型由赋给它的数据自动决定。这虽然使得编写代码更加便捷,但另一方面,一个最初存放数字的变量,之后也可以被赋予字符串。养成用type()函数等工具时常检查类型是否无意中改变的习惯会很有好处。
总结:巩固编程基础,迈向下一步!
本文讲解了Python编程的核心——“变量”和“数据类型”,从基本用法到在网页制作中的应用示例都作了介绍。
- 变量是存放数据的“带名字的盒子”。
- 数据类型是放入盒子的数据种类,有字符串(str)、数字(int, float)、列表(list)、字典(dict)等。
- 通过组合使用它们,可以高效地管理数据,并实现网页生成等自动化操作。
变量和数据类型是您接下来将要学习的条件分支(if语句)、循环(for语句)、函数等所有Python基本语法的基础。在这里打下坚实的基础,是未来顺利学习的关键。
请务必多次运行本文中的代码,尽情享受“让自己写的代码动起来”的乐趣。这些微小成功体验的积累,必将引导您成为更优秀的创作者。
接下来,让我们进入“条件分支”的世界,在那里,我们今天学到的布尔类型(True/False)将大显身手!
下一篇文章:掌握Python的if语句,精通条件分支