欢迎光临
我们一直在努力

【Python】第一个程序——不只是 Hello World

① Motivation —— 为什么学这个?

上一章我们让 Python 打了声招呼。但一个只会说「Hello, world!」的程序就像只会说「你好」的机器人——有点无聊。

真正有用的程序会做三件事:存储信息、处理信息、输出结果。比如:记住你的名字,计算你的年龄,打印一张漂亮的个人档案。

本章我们学三个工具,让程序从一个「复读机」变成一个「信息处理器」:

  • print() —— 不只是输出固定文字,还能拼接变量
  • 变量 —— 给数据贴标签,让程序有「记忆力」
  • 注释 —— 写给人类看的笔记,Python 会忽略它们

② Core Concept —— 核心概念

  • print() 是程序的嘴巴:它可以把任何东西输出到屏幕上。可以一次输出多个东西(用逗号分隔),也可以用 end 参数控制结尾字符。

  • 变量 = 贴了标签的盒子:name = "小明" 的意思是:找一个盒子,把 "小明" 放进去,然后在盒子上贴一张标签叫 name。以后你写 name,Python 就知道你要拿那个盒子里的东西。

  • 注释是代码的备忘录:# 开头的内容,Python 会完全忽略。它是写给未来的你(或你的队友)看的。


  • ③ Live Code —— 可运行的代码

    3.1 print() 的多种用法

    # 运行方式:python 02_print_demo.py

    # 基本用法:输出一段文字
    print("你好,世界!")

    # 输出多个东西(用逗号分隔,自动加空格)
    print("我的名字是", "小明", ",今年", 12, "岁")

    # 自定义结尾字符(默认是换行符 \\n)
    print("第一句", end=" → ")
    print("第二句") # 输出:第一句 → 第二句

    # 输出空行(什么都不传)
    print()
    print("上面有一个空行")

    逐行解读:

    • 第 2 行:# 开头的是注释,Python 不执行
    • 第 5 行:最基本的 print(),输出一个字符串
    • 第 8 行:用逗号分隔多个参数,print() 自动在中间加空格
    • 第 11 行:end=" → " 把默认的换行符替换成了箭头,所以下一个 print() 不会换行
    • 第 15 行:空 print() 只输出一个换行

    3.2 变量的诞生与使用

    # 运行方式:python 02_variables_demo.py

    # 创建变量:贴上标签
    name = "小明" # 字符串(文字)
    age = 12 # 整数
    height = 1.55 # 浮点数(带小数点的数字)
    is_student = True # 布尔值(True 或 False)

    # 使用变量:通过标签取出数据
    print("姓名:", name)
    print("年龄:", age)
    print("身高:", height, "米")
    print("是否学生:", is_student)

    # 变量可以重新赋值(标签可以换到别的盒子上)
    age = 13 # 过了一年,年龄变了
    print("一年后,年龄:", age)

    # 变量之间可以运算
    birth_year = 2025 – age
    print("出生年份大约是:", birth_year)

    逐行解读:

    • 第 4-7 行:用 = 把值赋给变量。= 不是「等于」,是「赋值」——把右边的值放进左边的标签盒子
    • 第 10-13 行:print() 里混用字符串和变量
    • 第 16-17 行:变量可以重新赋值。新的值覆盖旧的
    • 第 20-21 行:变量可以参与计算

    3.3 注释的艺术

    # 运行方式:python 02_comments_demo.py

    # 1. 单行注释:解释「为什么这么做」,而不是「做了什么」
    # 下面这个公式把华氏度转为摄氏度
    celsius = (98.6 – 32) * 5 / 9 # 华氏 98.6°F = 摄氏 37°C

    # 2. 多行注释:用三个引号(实际上是多行字符串,Python 会读取但不赋值给任何变量就丢弃)
    """
    这是一个自我介绍生成器的原型。
    作者:Python 学习者
    日期:2025年
    功能:收集用户信息并生成一段自我介绍
    """

    # 3. 注释也可以用来「暂时禁用」某行代码
    print("这一行会执行")
    # print("这一行暂时不执行")


    ④ Drills —— 练习

    练习 1:填空(基础)

    # 补全代码,让输出为:「我叫小明,今年 12 岁,最喜欢的数字是 7」
    name = "小明"
    age = ____
    favorite_number = ____
    print("我叫", ____, ",今年", ____, "岁,最喜欢的数字是", ____)

    练习 2:改错(进阶)

    # 下面的代码有 4 个错误,找到并修复它们
    # 运行方式:python 02_fix_me.py

    name = 小明 # 错误 1
    age = 12
    print("我叫" + name) # 错误 2(这行能跑但结果不是你想要的——为什么?)
    print("明年我" age + 1 岁) # 错误 3 和 4

    练习 3:自己写(挑战)

    # 请写一个程序,完成以下任务:
    # 1. 创建 3 个变量:你的名字、你所在的城市、你最喜欢的食物
    # 2. 用 print() 输出一段完整的自我介绍,包含上面的 3 个信息
    # 3. 让程序也输出这句话:「10 年后,我 35 岁」(用变量计算年龄,不要直接写 35)


    ⑤ Gotchas —— 常见陷阱

    陷阱 1:字符串必须加引号,变量名不能加引号

    # ❌ 错误写法
    name = 小明
    # Python 以为「小明」是一个变量名,但你没定义过它

    # ✅ 正确写法
    name = "小明" # 字符串加引号

    # ❌ 错误写法
    print("name")
    # 输出「name」这个文字本身,而不是变量的值

    # ✅ 正确写法
    print(name)
    # 输出变量的值「小明」

    陷阱 2:print() 里的逗号会自动加空格

    # 这点经常让人困惑:
    print("答案是", 42)
    # 输出:答案是 42 (中间自动加了空格)

    # 如果你不想要空格,用字符串拼接(第 4 章会深入讲):
    print("答案是" + str(42))
    # 输出:答案是42 (没有空格)

    陷阱 3:变量名不能以数字开头

    # ❌ 错误
    1st_place = "冠军" # SyntaxError
    my–variable = 10 # SyntaxError(减号会被当作减法)

    # ✅ 正确
    first_place = "冠军"
    my_variable = 10 # 用下划线代替连字符

    陷阱 4:注释掉太多

    # ❌ 容易犯的错:注释掉了不该注释的
    name = "小明"
    # age = 12
    print(name, "今年", age, "岁")
    # NameError: name 'age' is not defined
    # 因为 age 的定义被注释掉了!


    ⑥ Mini-Project —— 自我介绍生成器

    项目:自我介绍生成器

    需求描述:写一个程序,输出一份格式化的个人简介。内容包含姓名、年龄、城市、爱好,并且计算出生年份。

    完整代码:

    # self_intro.py
    # 运行方式:python self_intro.py
    """
    自我介绍生成器
    输入:在代码中直接修改变量值
    输出:格式化的个人简介
    """

    # ========== 个人信息(修改这里) ==========
    name = "小明"
    age = 12
    city = "北京"
    hobby = "打篮球"
    favorite_food = "饺子"
    # ==========================================

    # 计算
    birth_year = 2025 – age

    # 输出名片
    print("╔══════════════════════════╗")
    print("║ 🌟 个人简介 🌟 ║")
    print("╠══════════════════════════╣")
    print("║ 姓名:", name, " " * (14 – len(name)), "║")
    print("║ 年龄:", age, "岁", " " * (11 – len(str(age))), "║")
    print("║ 城市:", city, " " * (14 – len(city)), "║")
    print("║ 爱好:", hobby, " " * (14 – len(hobby)), "║")
    print("║ 美食:", favorite_food, " " * (14 – len(favorite_food)), "║")
    print("╠══════════════════════════╣")
    print("║ 出生年份:约", birth_year, "年", " " * (6 – len(str(birth_year))), "║")
    print("╚══════════════════════════╝")

    提示:代码里出现了一些还没讲的运算符(* 用于字符串重复、- 用于数字减法),试着猜猜它们的作用。别担心完全理解——第 4 章会详细讲。

    思路引导

  • 先把变量改成你自己的信息
  • 运行看效果
  • 试着改边框样式(比如把 ╔ 换成 +,把 ║ 换成 |)
  • 加一行新信息(比如「宠物」)

  • ⑦ Checkpoint —— 自检清单

    能回答这 3 个问题,就可以继续。

  • print("name") 和 print(name) 有什么区别?
  • 变量名 my-score 和 my_score 哪个合法?为什么?
  • 如果想把 print() 的输出结尾从「换行」改成「空格」,应该怎么做?

  • 🏃 快车道

    有其他语言基础?

    • Python 变量不需要声明类型:name = "小明" 就够了,不用 string name = "小明"
    • 没有 const / let / var 的区别——一个 = 走天下
    • # 是单行注释,没有原生的多行注释语法(""" """ 是字符串,但习惯上用来做多行注释)
    • print() 自动换行,end 参数可以改结尾字符
    赞(0)
    未经允许不得转载:171主机测评 » 【Python】第一个程序——不只是 Hello World
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址