前言:编写你的第一行代码
经过前两课程的学习,相信你已经对Python有了基本的认识,并成功配置好了开发环境。现在,是时候编写你的第一个Python程序了。
"Hello World"程序是编程世界的传统入口,几乎所有编程语言的第一课都是输出Hello World。这个简单的程序虽然功能单一,但它包含了程序设计最核心的概念:输出、语法、运行方式等。本课程将带你深入理解Hello World背后的原理,并学会Python程序的基本结构和运行方法。
一、Hello World的起源与意义
1.1 编程界的传统仪式
Hello World程序起源于1978年Brian Kernighan和Dennis Ritchie合著的《C程序设计语言》一书。在这本经典著作中,作者首次使用Hello World作为示例程序,从此这个传统延续至今。
为什么Hello World如此重要?
它的意义在于:
- 验证环境配置:能够成功运行Hello World,说明开发环境已经正确配置
- 理解基本流程:编辑代码 → 保存文件 → 运行程序 → 查看结果
- 建立信心:完成第一个程序,给初学者带来成就感
1.2 Python的Hello World有多简单
在其他语言中,输出Hello World可能需要多行代码:
python
# Python版本 - 一行搞定
print("Hello, World!")
对比其他语言:
java
// Java版本 - 需要定义类和方法
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
c
// C语言版本 - 需要头文件和主函数
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
Python的Hello World只需要一行代码,这正是Python"简洁优雅"哲学的体现。
二、编写你的第一个Python程序
2.1 使用交互式解释器
Python自带交互式解释器,是你学习和测试代码的最佳工具。
启动方式:
Windows用户:按Win+R,输入cmd,回车后输入python
macOS/Linux用户:打开终端,输入python3(或python)
交互式解释器界面:
Python 3.10.5 (tags/v3.10.5:8379165, May 3 2022, 11:47:11)
[GCC 9.4.0] on linux
Type "help" for more information.
>>> _
三个大于号>>>是Python解释器的提示符,表示它正在等待你输入代码。
输入以下代码:
python
>>> print("Hello, World!")
Hello, World!
恭喜你!你的第一个Python程序成功运行了!
2.2 使用文本编辑器
交互式解释器适合测试简短的代码,但如果你想编写更复杂的程序,需要使用文本编辑器。
推荐编辑器:
- VS Code:微软开发的免费编辑器,Python插件支持完善
- PyCharm:专业的Python IDE,功能强大
- Sublime Text:轻量级编辑器,启动快速
- Notepad++:Windows平台轻量选择
创建你的第一个.py文件:
- 打开VS Code
- 新建文件:
Ctrl + N - 输入代码:
python
# 我的第一个Python程序
# 作者:Python初学者
# 日期:2026年
# 使用print函数输出Hello World
print("Hello, World!")
# 再输出一些其他内容
print("欢迎学习Python编程!")
print("编程真的很有趣!")
- 保存文件:
Ctrl + S - 文件名:
hello_world.py(注意扩展名是.py) - 选择保存位置
2.3 运行.py文件
在命令行中运行:
打开终端(Windows用户使用cmd或PowerShell),进入文件所在目录:
bash
cd /path/to/your/file # 切换到文件目录
python hello_world.py # 运行程序
输出结果:
Hello, World!
欢迎学习Python编程!
编程真的很有趣!
在VS Code中运行:
- 安装Python扩展
- 打开hello_world.py文件
- 点击右上角的绿色播放按钮
- 或者右键选择"在终端中运行Python文件"
2.4 使用快捷方式运行
在Windows系统中,你可以为Python脚本创建快捷方式:
- 右键点击hello_world.py
- 选择"发送到" → "桌面(创建快捷方式)"
- 右键快捷方式 → "属性"
- 在"目标"框中,在文件路径前添加
python(注意空格) - 现在双击快捷方式就能运行程序了
三、print函数详解
print函数是你在Python中最重要的输出工具。让我们深入了解它。
3.1 基本语法
python
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数说明:
*objects:要输出的对象,可以是多个,用逗号分隔sep:分隔符,默认是空格end:结束符,默认是换行符file:输出目标,默认是屏幕flush:是否立即输出,默认否
3.2 输出字符串
基本输出:
python
print("Hello, World!")
print('Hello, World!') # 单引号也可以
print("Hello" + " " + "World!") # 字符串拼接
输出数字:
python
print(123) # 整数
print(3.14) # 浮点数
print(100 + 200) # 表达式
输出多个值:
python
name = "小明"
age = 18
print("姓名:", name, "年龄:", age)
# 输出: 姓名: 小明 年龄: 18
3.3 sep参数控制分隔符
python
print("苹果", "香蕉", "橙子")
# 输出: 苹果 香蕉 橙子(默认用空格分隔)
print("苹果", "香蕉", "橙子", sep=",")
# 输出: 苹果,香蕉,橙子
print("2024", "03", "15", sep="-")
# 输出: 2024-03-15
print("A", "B", "C", sep=" → ")
# 输出: A → B → C
3.4 end参数控制结束符
python
print("第一行", end="\n")
print("第二行")
# 输出:
# 第一行
# 第二行
print("红色", end=" ")
print("绿色", end=" ")
print("蓝色")
# 输出: 红色 绿色 蓝色
print("内容1", end="\t") # 制表符分隔
print("内容2", end="\t")
print("内容3")
# 输出: 内容1 内容2 内容3
3.5 转义字符
转义字符以反斜杠\开头,用于表示特殊字符:
python
print("双引号:\"Python\"") # 输出: 双引号:"Python"
print("单引号:\'Python\'") # 输出: 单引号:'Python'
print("反斜杠:C:\\Python") # 输出: C:\Python
print("换行:第1行\n第2行") # 输出: 第1行
# 第2行
print("制表符:列1\t列2\t列3") # 输出: 列1 列2 列3
常用转义字符表:
| 转义字符 | 含义 |
|---|---|
\n |
换行符 |
\t |
制表符 |
\r |
回车符 |
\\ |
反斜杠 |
\" |
双引号 |
\' |
单引号 |
3.6 原始字符串
如果你不想处理转义字符,可以使用原始字符串(r-string):
python
# 普通字符串
path = "C:\new\python\test"
print(path)
# 输出: C:
# ew
# python est(错误!\n和\t被解释为转义字符)
# 原始字符串
path = r"C:\new\python\test"
print(path)
# 输出: C:\new\python\test(正确!)
# 如果确实需要在原始字符串中包含反斜杠
path = r"C:\new\python\test" + "\\"
四、Python程序的基本结构
4.1 缩进结构
Python使用缩进来表示代码块,这是Python区别于其他语言的重要特征。
正确缩进:
python
# 主程序
print("程序开始")
# 条件语句块(缩进4个空格)
if True:
print("条件为真")
# 循环语句块
for i in range(3):
print("循环第", i, "次")
print("程序结束")
常见错误:
python
# 错误:缺少缩进
if True:
print("错误!这行没有被包含在if块中")
# 运行会报错:IndentationError
# 错误:缩进不一致
if True:
print("第一层")
print("错误!缩进不一致")
# 运行会报错:IndentationError
4.2 注释的使用
注释是代码的说明文档,不会被执行。
单行注释:
python
# 这是一个单行注释
print("Hello") # 这也是注释
name = "小明" # 定义变量存储姓名
多行注释:
python
# 方式1:使用多个#号
# 这是第一行注释
# 这是第二行注释
# 这是第三行注释
# 方式2:使用三引号(本质是文档字符串)
"""
这是一个多行注释
可以写很多很多内容
直到遇到下一个三引号
"""
'''
也可以使用单引号
效果相同
'''
注释的最佳实践:
python
# 不好的注释(冗余)
x = x + 1 # x加1
# 好的注释(解释为什么)
x = x + 1 # 跳过已处理的用户
# 好的注释(解释复杂逻辑)
# 使用二分查找是因为数据量超过10000条
# 线性查找性能太差
result = binary_search(data, target)
4.3 标识符命名规则
标识符是变量、函数、类等的名字。
命名规则:
- 只能包含字母、数字、下划线
- 不能以数字开头
- 区分大小写
- 不能使用Python关键字
合法命名:
python
name = "小明" # 正确
age123 = 18 # 正确
first_name = "张" # 正确(下划线连接)
_private = "私有" # 正确(以下划线开头)
CONSTANT = 100 # 正确(全大写表示常量)
非法命名:
python
123name = "小明" # 错误:不能以数字开头
first-name = "张" # 错误:不能使用连字符
my age = 18 # 错误:不能有空格
class = "Python" # 错误:不能使用关键字
4.4 Python关键字
以下是Python的所有关键字(保留字),不能用作标识符:
python
False None True and as
assert async await break class
continue def del elif else
except finally for from global
if import in is lambda
nonlocal not or pass raise
return try while with yield
查看关键字的方法:
python
import keyword
print(keyword.kwlist)
# ['False', 'None', 'True', 'and', 'as', 'assert', 'async', ...]
五、实战项目:用户交互程序
现在让我们综合运用所学知识,创建一个交互式问候程序。
5.1 项目需求
- 询问用户姓名
- 询问用户心情
- 根据时间问候
- 显示个性化消息
5.2 完整代码
python
# 用户交互问候程序
# 功能:个性化问候用户
import datetime
# 获取用户输入
name = input("请输入你的姓名:")
mood = input("今天心情怎么样?")
# 获取当前时间
now = datetime.datetime.now()
hour = now.hour
# 根据时间判断问候语
if hour < 6:
greeting = "深夜好"
elif hour < 12:
greeting = "早上好"
elif hour < 14:
greeting = "中午好"
elif hour < 18:
greeting = "下午好"
else:
greeting = "晚上好"
# 生成并输出问候语
print("\n" + "=" * 30)
print(greeting + "," + name + "!")
print("=" * 30)
print("\n看到你今天心情是『" + mood + "』,")
print("我也感到很开心!")
print("\n愿你今天一切顺利!")
print("=" * 30)
5.3 运行示例
请输入你的姓名:小明
今天心情怎么样?很开心
==============================
早上好,小明!
==============================
看到你今天心情是『很开心』,
我也感到很开心!
愿你今天一切顺利!
==============================
5.4 input函数详解
input函数用于获取用户输入:
python
# 基本用法
name = input("请输入姓名:")
# 程序会等待用户输入,然后保存到name变量
# input返回的是字符串
age = input("请输入年龄:")
print(type(age)) # <class 'str'>
# 如果需要数字,要转换类型
age = int(input("请输入年龄:"))
print(type(age)) # <class 'int'>
六、常见错误与解决方案
6.1 SyntaxError(语法错误)
错误示例:
python
print("Hello, World" # 缺少右括号
if x = 10: # 赋值语句不能用在条件中
# 应该用 if x == 10:
print "Hello" # Python 3中print是函数,需要括号
解决方案: 仔细检查代码语法,确保括号、引号配对正确。
6.2 NameError(名称错误)
错误示例:
python
print(message) # message未定义
# 可能是变量名拼写错误
message = "Hello"
print(messge) # 拼写错误:messge
解决方案: 检查变量名拼写,确保使用前已定义。
6.3 IndentationError(缩进错误)
错误示例:
python
if True:
print("缩进错误") # 缺少缩进
解决方案: 使用4个空格或1个Tab缩进,保持一致。
6.4 TypeError(类型错误)
错误示例:
python
name = "小明"
age = 18
print(name + age) # 不能拼接字符串和数字
解决方案: 使用str()转换或使用格式化字符串。
python
print(name + str(age)) # 方法1:转换类型
print(f"{name}今年{age}岁") # 方法2:格式化字符串
七、调试技巧
7.1 使用print调试
在怀疑出错的地方打印变量值:
python
def calculate(a, b):
result = a * b + 100
print(f"DEBUG: a={a}, b={b}, result={result}") # 调试信息
return result
7.2 使用IDE调试器
VS Code和PyCharm都提供强大的调试功能:
- 设置断点(点击代码行号左侧)
- 按F5启动调试
- 单步执行(F10)
- 监视变量值变化
- 查看调用栈
7.3 查看错误信息
Python的错误信息非常有用:
python
# 错误信息示例
Traceback (most recent call last):
File "test.py", line 5, in <module>
print(message)
NameError: name 'message' is not defined
# 解读:
# - File "test.py", line 5:错误发生在第5行
# - NameError:错误类型
# - name 'message' is not defined:具体错误原因
总结
本课程我们学习了:
- Hello World的起源:编程世界的传统仪式
- 运行Python程序的3种方式:交互式解释器、文本编辑器、命令行
- print函数:输出函数详解,包括sep、end参数和转义字符
- Python程序结构:缩进、注释、标识符命名
- 实战项目:创建交互式问候程序
- 常见错误与调试:解决问题的方法
要点回顾:
- Python程序以.py为扩展名
- print()函数用于输出,end参数控制结尾字符
- 缩进是Python代码块的标志,必须一致
- 注释用#号开头,不会被执行
- input()函数用于获取用户输入
课后练习:
- 编写程序输出你的自我介绍
- 编写程序计算两个数的和、差、积、商
- 编写一个BMI计算器(需要用户输入身高体重)
下一篇预告:
Python编程第04课:Python变量与数据类型完全指南 - 深入学习Python中的各种数据类型。
系列导航:
- 上一篇: Python编程第02课:Windows/Mac/Linux环境安装配置详解
- 下一篇: Python编程第04课:Python变量与数据类型完全指南
标签: Python, 编程入门, Python教程, Hello World, print函数