要说编程圈里谁最火,Python认第二,恐怕没人敢认第一。语法简洁、上手快、应用场景从Web开发一路延伸到人工智能,几乎成了“编程第一课”的代名词。这篇文章,就是要帮你把Python最核心的基础语法和概念彻底捋清楚。不是那种又臭又长的官方文档拆解,而是真正从零起步,一步步搭建起你的编程地基。

一、Python概述与环境搭建
1.1 Python简介
Python诞生于1989年底,由Guido van Rossum一手创制,1991年首次面世。它是一款高级、解释型、面向对象的编程语言。设计哲学的核心就两个字:可读性。它不像C或Ja va那样用大括号来划分代码块,而是靠着简洁的语法和强制性的空格缩进来定义逻辑结构。对新人而言,这种设计本身就是一种照顾——你不需要在花括号的匹配上耗费精力,能把更多心思放在理解问题本身。
1.2 Python的安装
正式开始前,得先把环境搭起来。建议直接安装Python 3.x版本,Python 2已经正式退役,没必要再碰。
Windows系统安装:
- 去Python官网下载最新的Windows安装包。
- 运行安装程序时,千万记得勾选“Add Python to PATH”——很多人初次报错都是因为这步没做。
- 点击“Install Now”,等着装完就好。
macOS系统安装:macOS会自带Python,但版本比较老。推荐用Homebrew来装最新版,终端里输一句 brew install python 就行。
Linux系统安装:大多数Linux发行版都已经预装了Python 3。要是没有,用自带的包管理器安装也很方便,比如Ubuntu/Debian下执行 sudo apt-get install python3。
1.3 第一个Python程序
环境就绪后,玩个传统的仪式感。打开终端,输入 python 或 python3 进入交互式环境,然后敲下这行代码:
print("Hello, World!")
回车的一瞬间,屏幕上跳出 Hello, World!。从这一刻起,你就算是正式入行了。
1.4 开发环境选择
总是用终端写代码多少有点费劲,这时候就该请出集成开发环境(IDE)或者顺手顺手的代码编辑器了:
- VS Code:轻量、插件丰富,Python开发的标配之一。
- PyCharm:专业级IDE,功能全面,大型项目的首选。
- Jupyter Notebook:做数据分析或者科学计算的话,基本绕不开它。
二、Python基础语法
2.1 注释
注释是写给开发人员看的,解释器会直接跳过它。写注释是个好习惯,尤其是过段时间再回头看自己写的代码,你会感谢当时那个认真写注释的自己。
- 单行注释:用一个
#开头。 - 多行注释:用三个单引号
'''或三个双引号"""包裹。
# 这是一个单行注释
print("Hello") # 这也是注释
"""
这是一个
多行注释
"""
2.2 代码缩进
这对Python新手来说是最容易踩坑的地方。别的语言用大括号 {} 来定义一个代码块,Python则完全靠缩进。一般是4个空格,如果缩进不一致,解释器会直接报 IndentationError。这一点确实比较“严格”,但反过来想,它强迫你写出规整的代码,长期看绝对不是坏事。
if True:
print("条件为真") # 这里必须缩进
2.3 语句与换行
Python通常一行写一条语句。如果某一行太长,可以用反斜杠 \ 来续行,不过更好的做法是把代码放在括号 ()、[]、{} 里面,这样会自动处理好换行问题。
total = 1 + 2 + 3 + \
4 + 5
# 推荐使用括号换行
total_better = (1 + 2 + 3 +
4 + 5)
三、变量与数据类型
3.1 变量
Python的变量用起来特别“随意”——不需要提前声明类型,直接赋值就能创建。变量名只能由字母、数字和下划线组成,且不能以数字开头。这一点和其他语言差不多。
name = "Alice" # 字符串 age = 25 # 整数
3.2 基本数据类型
数字类型
- 整数(int):比如
10、-5。 - 浮点数(float):就是带小数点的数字,比如
3.14。 - 复数(complex):比如
1 + 2j。
字符串类型
字符串(str)可以用单引号、双引号或三引号括起来。
text1 = 'Hello' text2 = "World"
类型转换
内置的类型转换函数很实用。
num_str = "100" num_int = int(num_str) # 转换为整数 num_float = float(num_int) # 转换为浮点数
3.3 常量
Python没有真正的常量类型。行业惯例是使用全大写字母的变量名来暗示该值不应被修改——虽然是约定大于规则,但大家确实都这么干。
PI = 3.14159 MAX_CONNECTIONS = 100
四、运算符
4.1 算术运算符
基础的数学计算:+ (加)、- (减)、* (乘)、/ (除,结果是浮点数)、// (整除)、% (取模、求余数)、** (幂运算)。
4.2 比较运算符
用于比较两个值,返回值是True或False:== (等于)、!= (不等于)、> (大于)、< (小于)、>= (大于等于)、<= (小于等于)。
4.3 赋值运算符
除了最基础的 =,还有复合赋值运算符:+=、-=、*=、/= 等。
4.4 逻辑运算符
用来组合条件语句:and (与)、or (或)、not (非)。
4.5 位运算符
对整数的二进制位直接操作:& (按位与)、| (按位或)、^ (按位异或)、~ (按位取反)、<< (左移)、>> (右移)。
4.6 成员运算符
测试序列中是否包含特定元素:in、not in。
4.7 身份运算符
比较两个对象在内存中的地址是否相同:is、is not。
五、输入与输出
5.1 输出函数print()
print() 的作用就是把内容输出到控制台。现在的Python版本,格式化输出强烈推荐用 f-string,既简洁又直观。
name = "Bob"
age = 30
print(f"My name is {name} and I am {age} years old.")
5.2 输入函数input()
input() 用于接收用户的输入。必须记住一点:input() 返回的始终是字符串。如果你想要数字,得自己手动转换。
user_age = input("请输入你的年龄: ")
age_int = int(user_age) # 需要手动转换类型
六、流程控制
6.1 条件语句(if-elif-else)
根据条件来决定走哪条分支,逻辑很直白。
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
6.2 循环语句
while循环
只要条件为真,就会一直执行。
count = 0
while count < 3:
print(count)
count += 1
for循环
用来遍历序列,比如列表、字符串或者range对象。
for i in range(3): # 输出 0, 1, 2
print(i)
6.3 循环控制语句
break:直接终止整个循环。continue:跳过当前循环的后半部分,直接进入下一轮。pass:什么都不做,只用来占位,保持语法完整性。
七、数据结构
7.1 列表(List)
有序、可变的集合,允许重复元素。用方括号 [] 来定义。
fruits = ["apple", "banana", "cherry"]
fruits.append("orange") # 添加元素
print(fruits[0]) # 访问元素
7.2 元组(Tuple)
有序、不可变的集合。用圆括号 () 定义。一旦创建,里面的值就不能再改了。
point = (10, 20) # point[0] = 30 # 这会引发TypeError,因为元组不可修改
7.3 字典(Dictionary)
无序的键值对集合。键必须是不可变类型(比如字符串、数字)。用大括号 {} 定义。
person = {"name": "Alice", "age": 25}
person["city"] = "New York" # 添加新键值对
print(person["name"])
7.4 集合(Set)
无序且不包含重复元素的集合。常用于去重和数学上的集合运算。可以用大括号 {} 或 set() 来创建。
numbers = {1, 2, 2, 3, 4}
print(numbers) # 输出 {1, 2, 3, 4}
八、函数
8.1 函数定义与调用
使用 def 关键字来定义函数,非常直观。
def greet(name):
return f"Hello, {name}!"
result = greet("Alice")
print(result)
8.2 参数类型
- 位置参数:按顺序传参。
- 关键字参数:按参数名传参,不需要遵循顺序。
- 默认参数:定义函数时给参数一个默认值,调用时如果没传入这个参数,就使用默认值。
- 可变参数:
*args接收任意数量的位置参数,**kwargs接收任意数量的关键字参数。
8.3 作用域
- 局部变量:在函数内部定义的变量,只能在函数内访问。
- 全局变量:在函数外部定义的变量,全局范围内都能访问。如果想在函数内部修改全局变量,得用
global关键字声明一下。
8.4 匿名函数(lambda)
适合写那种简单的、只用一次的“小函数”。
add = lambda x, y: x + y print(add(3, 5))
8.5 递归函数
函数自己调用自己。理论上很简洁,但必须有一个明确的终止条件,否则会无限递归下去,最终导致栈溢出。
def factorial(n):
if n == 1:
return 1
return n * factorial(n - 1)
九、常用内置函数
Python自带了不少非常好用的函数,不需要额外导入就能直接用。比如:
len():获取长度。type():查看数据类型。max()、min():获取最大值、最小值。sum():求和。sorted():对可迭代对象进行排序。
十、异常处理
基本异常处理
写代码时犯错在所难免。关键不是不出错,而是出错后程序不会直接崩溃,而是优雅地给出提示。这就是 try-except 语句的作用。
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"发生错误:{e}")
finally:
print("这段代码无论是否发生异常都会执行")
练习题
光看不练,很难真正掌握。这几个练习由浅入深,建议都试着写一下。
基础题
- 写一个程序,接收用户输入的姓名和年龄,然后打印出一段问候语。
- 创建一个列表,包含1到10的整数,用
for循环打印出其中的偶数。
进阶题
- 编写一个函数,接收一个字符串参数,返回这个字符串反转后的结果。
- 创建一个字典,存三位学生的姓名和成绩,找出成绩最高的学生并打印他的名字。
挑战题
- 编写一个递归函数,计算斐波那契数列的第 n 项。
- 做一个猜数字小游戏:程序随机生成一个1到100之间的数字,用户通过
input()来猜,程序会提示“猜大了”或“猜小了”,直到猜对才结束。
总结
到这里,Python的基础语法和核心概念就全部过了一遍。从环境搭建到数据类型,从控制流到数据结构,再到函数和异常处理,这条路算是走通了。编程说到底是一门“动手”的学问,理论再多,不如亲自把键盘敲起来。多写、多试、多出错、多修正——用不了多久,你就能感受到驾驭代码的乐趣了。