Python入门学习2:Python 基础语法全解析——从代码结构到输入输出

本教程系统介绍了 Python 编程的基础语法与核心概念,内容涵盖代码书写规范、命名规则、输入输出方法、赋值语句以及变量与对象的底层逻辑。

全文分为四个主要部分:代码结构(缩进规则、注释、续行与分隔)、命名规范(标识符规则与关键字列表)、程序交互(input() 与 print() 的高级用法)以及赋值机制(链式赋值、多重赋值、增强赋值)。

在实践层面,教程提供了两个典型实验:数据运算(输入两个数计算和、差、积、商)和智能打招呼机器人(基于姓名和爱好生成个性化回复),帮助初学者将理论知识转化为动手能力。

通过本文学习,读者将掌握 Python 的基本语法要素、理解变量与对象的引用关系,并具备编写简单交互式程序的能力。

1. Python 的"书写规矩"(代码结构)

任何语言都有标点符号和分段规则,Python最独特的规矩就是------不需要大括号,只看空格。

1.1 缩进:代码的"骨架"

在Java或C语言中,我们用 {} 来表示代码块的归属。而在Python中,缩进(空格或Tab)决定了哪几行代码是"一家人"。

规则:同一个代码块内的所有语句,缩进量必须完全一致(通常约定为4个空格)。

python 复制代码
# 正确示范:if下面的两行缩进相同,属于同一个if分支
age = 18
if age >= 18:
    print("你已经成年了")  # 缩进4个空格
    print("可以考驾照了")  # 缩进4个空格
else:
    print("你还未成年")    # 缩进4个空格

常见错误 :如果不小心多敲了一个空格,Python会立刻翻脸,抛出 IndentationError。这也是很多新手最容易犯的错误,好在PyCharm会自动帮你对齐。

记忆诀窍 :看到冒号 : 时,下一行自动缩进就对了。

1.2 注释:写给自己的"笔记"

注释是代码的说明书,解释器会完全忽略它。

单行注释 :使用 #,可以独占一行,也可以放在代码末尾。

多行注释 :使用三个引号 '''""" 包裹。

python 复制代码
# 这是一个单行注释,解释下面这行代码的作用
x = 10  # 这是行末注释

"""
这是一个多行注释块。
通常用来写函数或模块的说明文档。
"""

1.3 续行与分隔(了解即可)

续行 \ :如果一行代码太长,可以用反斜杠 \ 换行(注意 \ 后面不能有任何空格或注释)。

括号隐式续行 :更推荐的是,在 ()[]{} 内部直接换行,Python会自动识别。

分隔 ;:可以用分号将多条语句写在一行,但强烈不推荐,会牺牲可读性。

python 复制代码
# 推荐:使用括号换行
result = (100 
          + 200 
          + 300)

# 不推荐:用分号写在一行
print("Hello"); print("World")

2. 起名与保留字(标识符 & 关键字)

编程就是给各种数据、函数起名字。起名字要遵守法律(规则),也要讲究公序良俗(惯例)。

2.1 标识符(起名规则)

硬规则(不遵守就报错)

  1. 只能由字母、数字、下划线 _ 组成。
  2. 不能以数字开头(如 1var 非法,var1 合法)。
  3. 区分大小写(Namename 是两个不同的变量)。
  4. 不能是关键字(见下文)。

软惯例(不遵守不会报错,但建议遵守)

  • 见名知意:用 user_name 而不是 a
  • 类名用大驼峰(如 MyClass),变量名常用下划线连接(如 my_var)。

2.2 关键字(不能碰的"禁词")

关键字是Python语言本身占用的单词,比如 ifforwhileTrueFalse 等。你不能用它们作为变量名。

想知道有哪些?在PyCharm或命令行中输入:

python 复制代码
import keyword
print(keyword.kwlist)  # 输出所有关键字列表

3. 与程序交互(输入与输出)

程序不能活在真空里,它需要接收用户的指令(输入),并反馈结果(输出)。

3.1 输入:input() 函数

input() 会暂停程序,等待你敲击回车键。特别注意:无论你输入什么内容,input() 都会把它当作字符串(str) 处理。

python 复制代码
name = input("请输入你的名字:")
print("你好," + name)  # 字符串拼接

如何输入数字?

如果你想进行数学运算,必须手动转换类型:

方法一 :使用 int()float() 强制转换。

方法二 :使用 eval() 函数(它会脱掉字符串的引号,还原成原本的数据类型)。

python 复制代码
# 方法一:安全直接
age = int(input("请输入年龄:"))  # 输入 "18" 变成 18

# 方法二:eval 灵活但需谨慎(初学可用)
num = eval(input("请输入数字:"))  # 输入 3.14 变成浮点数,输入 5 变成整数

⚠️ 温馨提示eval() 虽然方便,但有安全风险(会执行恶意代码),在正式项目中慎用,但在咱们初学练习题里用用完全没问题。

3.2 输出:print() 函数的"花活"

你以为 print() 只会换行打印?它其实有三个隐藏技能:

  • sep:控制多个数据之间的分隔符(默认是空格)。
  • end:控制结尾符号(默认是换行符 \n)。
  • file:将内容输出到文件,而不是屏幕。
python 复制代码
# 1. 修改分隔符
print("苹果", "香蕉", "橘子", sep=" | ")  # 输出:苹果 | 香蕉 | 橘子

# 2. 修改结尾(不换行)
print("正在加载", end="...")
print("完成")  # 输出:正在加载...完成

# 3. 输出到文件
f = open("demo.txt", "w")  # 打开文件
print("床前明月光", file=f)  # 写入文件
f.close()

4. 赋值语句------数据的"贴标签"艺术

赋值就是让变量指向某个数据。这一点在其他语言里很普通,但在Python里非常灵活。

4.1 链式赋值与多重赋值

链式赋值:把同一个值同时赋给多个变量。

多重赋值(元组解包):一口气给多个变量赋不同的值。

python 复制代码
# 链式赋值
a = b = c = 10
print(a, b, c)  # 10 10 10

# 多重赋值(Python 独有的优雅)
x, y = 3, 5
print(x, y)  # 3 5

# 交换两个变量(不需要临时变量!)
x, y = y, x
print(x, y)  # 5 3

4.2 星号 * 打包(进阶但好用)

在多重赋值中,使用 * 可以收集多余的元素为列表。

python 复制代码
first, *middle, last = "Python"
print(first)   # P
print(middle)  # ['y', 't', 'h', 'o']
print(last)    # n

4.3 增强赋值

就是让代码更简洁的写法:+=-=*=/= 等。

python 复制代码
count = 10
count += 5   # 等价于 count = count + 5
print(count) # 15

实战练兵场(代码练习)

理论看再多,不如动手敲一行。以下是结合所学知识点的练习题,按难度分级,建议打开PyCharm逐个完成。

练习1:数据运算

计算两个数的和、差、乘积和商。

参数:a (int 或 float): 第一个数,b (int 或 float): 第二个数。

输入a、b,并输出计算结果。

输出格式为:

参考代码:

python 复制代码
# 输入两个数(支持整数或小数)
a = eval(input("请输入一个整数a: "))  # 或者用 float(input(...))
b = eval(input("请输入一个整数b: "))

# 计算和、差、积、商
sum_result = a + b
diff_result = a - b
prod_result = a * b
div_result = a / b  # 注意:除法结果总是浮点数

# 按指定格式输出(一行,空格分隔)
print("加减乘除运算结果为:")
print(sum_result, diff_result, prod_result, div_result)

⚠️ 注意:如果要求输入整数但需要保护除法不出错,可以忽略除数为0的情况(本实验默认输入合法)。另外,eval() 虽然有安全风险,但在初学者练习中可用,也可以直接用 float(input(...)) 更安全。

如果你希望严格按题目提示显示"整数",可以用 int() 转换,但这样除法结果依然是浮点数。

练习2:智能打招呼机器人

设计程序,完成如图所示的输入和输出结果。

参考代码:

python 复制代码
name = input("请告诉我你的名字:")
hobby = input("请告诉我你的爱好:")

print("\n机器人回复")
print("你好呀", name)
print("原来你喜欢,",hobby,"我超喜欢的!")
print("我们做朋友吧~")

请记住: 编程是门手艺活,不是看小说。 把上面的练习一个个敲一遍,遇到报错别慌,看看错误提示,你就能在踩坑中飞速成长。

相关推荐
小白学大数据1 小时前
Python + 大模型行业资讯自动化摘要流水线完整工程实现方案
开发语言·python·自动化
宝贝儿好1 小时前
【LLM】第二章:HuggingFace入门学习
人工智能·深度学习·神经网络·学习·算法·自然语言处理
秋波。未央1 小时前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
何以解忧,唯有..1 小时前
Go语言中的const:常量声明与iota枚举详解
java·开发语言·golang
沪飘大军1 小时前
goldRush-专门分析黄金的投资理财agent
java·开发语言·elasticsearch
beethobe2 小时前
PythonQt 学习之旅(一):从零构建 C++ 与 Python 的桥梁
c++·python·学习
广州智造2 小时前
如何在HyperMesh运行Python脚本及查找Python API帮助
python·仿真·cae·hypermesh·optistruct
鹏易灵2 小时前
C++——2.常量与 const、constexpr 初识详解
java·开发语言·c++
cooldog123pp2 小时前
cplex完全安装手册,适配matlab和python!
人工智能·python·matlab·cplex