第一个Python程序:Hello World,我来告诉你每行代码到底是什么意思
第一个Python程序:Hello World,我来告诉你每行代码到底是什么意思
上一篇文章我们装好了环境,这篇文章我们写第一个程序。很多教程会让你先跑一遍Hello World然后直接往下讲,我觉得这样不行——你至少得知道自己刚才敲的那堆东西是什么意思。这篇文章把第一行代码掰开揉碎讲清楚。
一句话概括
这篇文章解决一个问题:看懂Hello World程序里每一行代码的含义,理解Python程序的基本结构。
你的第一个Python程序
在PyCharm里新建一个文件,取名叫 hello_world,然后输入这段代码:
print("Hello, World!")
这是人类编程史上最著名的第一行代码。从1972年C语言诞生开始就有了这个传统——用一行的简单程序来验证开发环境能正常工作。
按 Shift + F10(或者右键 → Run),看看输出是什么:
Hello, World!
Congratulations!你刚才写的程序成功运行了。
这一行代码到底是什么意思?
拆开来看:
print( )
↑
这里放要输出的内容
print 是Python内置的一个函数,函数的意思是"打印"。你可以把它理解为一个机器:你给它一个东西,它帮你把这个东西显示出来。
括号里的 "Hello, World!" 是你要打印的内容。注意两边有引号,引号里的内容叫字符串,就是一段文字。
为什么要加引号?
因为Python需要区分"代码"和"文字"。引号里面的内容Python不会当成命令来执行,只会原封不动地打印出来。
如果没加引号:
print(Hello, World!)
你会得到一个报错:
NameError: name 'Hello' is not defined
Python以为 Hello 是一个变量名(后面会讲),但我们没定义过这个变量,所以报错。
加上注释,让代码更易读
在Python里,# 后面的内容是注释,Python不会执行它。注释是写给人看的,用来解释代码在干什么。
# 这是一个打印语句
print("Hello, World!") # 输出Hello World
建议:初学者养成写注释的习惯。哪怕是 # 这是计算加法的代码 这样的简单说明也好。写注释的过程就是理清自己思路的过程。
input():让程序和用户"对话"
现在Hello World会了,但它只是单向输出——程序说啥是啥,用户只能看着。
加一个 input(),让程序可以接收用户的输入:
# 接收用户的名字
name = input("你叫什么名字?")
# 打印欢迎语
print("欢迎你," + name + "!")
运行结果:
你叫什么名字?小明
欢迎你,小明!
这一行的含义
name = input("你叫什么名字?")
拆开看:
input()是另一个内置函数,意思是"等待用户输入"- 括号里的
"你叫什么名字?"是提示语,会显示出来引导用户输入 - 等用户输入完按回车,
input()会返回用户输入的内容 name =把返回的内容存到一个叫name的变量里
变量是什么?
变量你可以理解为一个盒子,盒子有个名字(比如 name),里面可以放东西(比如 “小明”)。
name = "小明"
age = 18
height = 1.75
is_student = True
上面我们创建了四个变量:
name放了一段文字(字符串)age放了一个整数(int)height放了一个小数(float)is_student放了一个真假(布尔值,True或False)
关于变量名的规则:
- 只能是字母、数字、下划线的组合
- 不能以数字开头
- 不能用Python的关键字(比如
if、for、while这些) - 区分大小写:
Name和name是两个变量
✅ 合法的变量名:name、my_age、user_name2、_private
❌ 不合法的变量名:2name(以数字开头)、my-age(有中划线)、class(关键字)
字符串的几种写法
字符串就是用引号包起来的一串字符。Python里字符串有三种写法:
# 双引号
name1 = "小明"
# 单引号
name2 = '小红'
# 三引号(用于多行字符串)
name3 = """
这是一个
很长很长的
字符串
"""
双引号和单引号其实没有区别,用哪个都行。但如果你字符串本身包含引号,就需要区分一下:
# 字符串里有单引号,外面用双引号包
str1 = "I'm a student"
# 字符串里有双引号,外面用单引号包
str2 = '他说"你好"'
f-string:让字符串更优雅
如果要往字符串里插入变量,你可能会这样写:
name = "小明"
age = 18
print("我叫" + name + ",今年" + str(age) + "岁。")
注意 age 是数字,不能直接用 + 和字符串拼接,需要先 str(age) 转成字符串。这样写很麻烦。
用f-string更简洁:
name = "小明"
age = 18
print(f"我叫{name},今年{age}岁。")
注意看,字符串前面多了一个 f,然后 {} 里面直接写变量名。这就是f-string,格式化字符串的简写。
划重点:初学阶段建议直接用f-string,避免类型转换的坑。
完整程序:用户信息收集器
综合上面讲的内容,我们写一个完整的小程序:
# 用户信息收集器
print("=" * 20)
print("欢迎使用用户信息收集器")
print("=" * 20)
# 收集基本信息
name = input("请输入你的名字:")
age = input("请输入你的年龄:")
city = input("请输入你所在的城市:")
# 输出收集到的信息
print()
print("=" * 20)
print("确认你的信息:")
print("=" * 20)
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"城市:{city}")
print("=" * 20)
print("信息录入完成!")
运行示例:
====================
欢迎使用用户信息收集器
====================
请输入你的名字:小明
请输入你的年龄:18
请输入你所在的城市:北京
====================
确认你的信息:
====================
姓名:小明
年龄:18
城市:北京
====================
信息录入完成!
print() 的其他用法
打印多行
print("第一行")
print("第二行")
print("第三行")
输出:
第一行
第二行
第三行
不想换行?在print里加 end=“”
print("第一行", end=" ")
print("第二行", end=" ")
print("第三行")
输出:
第一行 第二行 第三行
默认情况下 end="\n"(换行符),改成空格就不换行了。
打印数字可以直接算术
a = 10
b = 20
print(a + b) # 输出 30
print(a * b) # 输出 200
常见问题FAQ
Q1:为什么代码结尾不用加分号?
Python不需要分号。 Python用换行来区分语句。如果一行写多条语句,才需要用分号隔开。
✅ print("Hello")
❌ print("Hello");(不是错,只是不规范)
Q2:代码里的空格重要吗?
很重要! Python靠缩进(indentation)来识别代码块。缩进不一致会报错。
# 正确
if True:
print("这是对的")
# 错误
if True:
print("这样会报错")
PyCharm会自动帮你缩进,用Tab键就行。不要手动敲空格。
Q3:输入数字后为什么会变成字符串?
age = input("请输入你的年龄:")
print(type(age))
运行后会显示 <class 'str'>——输入的内容被当作字符串了。
因为 input() 总是返回字符串。如果要做数学计算,需要转换类型:
age = input("请输入你的年龄:")
age = int(age) # 转换成整数
print(age + 1) # 这样才能正常做加法
其他转换:
int()→ 整数float()→ 小数str()→ 字符串
Q4:程序报错后怎么看?
看报错信息的最后一行,那里会告诉你什么类型的错误和出在哪一行。
File "hello.py", line 3, in <module>
print(Hello)
NameError: name 'Hello' is not defined
NameError:名字没找到,通常是变量名写错了SyntaxError:语法错误,通常是少了引号或括号TypeError:类型错误,通常是类型不匹配
写在最后
这篇文章讲的是Python里最基础的几个概念:
print()输出input()输入- 变量
- 字符串
- f-string格式化
看起来不多,但这些都是以后写所有Python程序的基础。基础不牢,地动山摇——后面学到循环、函数、面向对象的时候,发现概念不清再来补,会比现在花更多时间。
下一篇文章我们会做一个更有意思的东西:猜数字游戏——计算机想一个数,让你来猜。通过这个游戏,你会真正理解 if/else 条件判断和 while 循环。
参考资料:
更多推荐



所有评论(0)