第一个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的关键字(比如 ifforwhile 这些)
  • 区分大小写:Namename 是两个变量

✅ 合法的变量名:namemy_ageuser_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 循环。


参考资料

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐