Python 入门教程完整版
前言:为什么选择 Python?
在开始之前,先了解一下为什么 Python 是初学者的首选:

- 语法简洁,可读性强:Python 的语法非常接近自然语言,代码就像在写英文句子一样,易于理解和学习。
- 功能强大,应用广泛:从网站开发、数据分析、人工智能到自动化脚本,Python 几乎无所不能。
- 社区庞大,资源丰富:遇到任何问题,你几乎都能在 Stack Overflow、GitHub 或各大论坛上找到答案。
- 免费开源:Python 完全免费,你可以自由地使用和分发。
第一部分:准备工作
在写第一行代码之前,我们需要搭建好环境。
安装 Python
- 访问官网:打开浏览器,访问 Python 官方网站 python.org。
- 下载安装包:网站会自动检测你的操作系统并提供最新的稳定版下载,点击 "Download Python X.X.X" 按钮。
- 安装 Python:
- Windows 用户:双击下载的
.exe文件。最重要的一步:在安装界面,务必勾选 "Add Python to PATH"(将 Python 添加到环境变量),这能让你在命令行中直接使用python命令,然后点击 "Install Now" 进行安装。 - macOS 用户:双击
.pkg文件,按照提示一步步安装即可。
- Windows 用户:双击下载的
- 验证安装:安装完成后,打开终端(Windows 上是
cmd或PowerShell,macOS 上是Terminal),输入以下命令:python --version
如果显示出你安装的 Python 版本号(如
Python 3.11.4),说明安装成功!
小贴士:现在新版本的 Python 默认安装的是 Python 3,Python 2 已经停止维护,强烈建议初学者直接学习 Python 3。
选择代码编辑器
虽然 Windows 自带的记事本可以写 Python 代码,但我们强烈推荐使用专业的代码编辑器,它们能提供语法高亮、自动补全等强大功能,极大提升编码效率。

-
Visual Studio Code (VS Code):微软出品,免费、强大、插件丰富,是目前最受欢迎的编辑器之一。
- 安装 VS Code:从 code.visualstudio.com 下载并安装。
- 安装 Python 插件:打开 VS Code,点击左侧的扩展图标(四个方块),搜索 "Python",由 Microsoft 发布的那个,点击 "Install"。
-
PyCharm Community Edition:JetBrains 出品,是专门为 Python 开发的 IDE(集成开发环境),功能非常全面,社区版是免费的。
- 安装 PyCharm:从 jetbrains.com/pycharm 下载并安装。
建议:对于纯新手,VS Code 足够且更轻量,如果你以后想深入做 Python 开发,可以尝试 PyCharm。
第二部分:你的第一行 Python 代码
运行 Python 的方式
有两种主要方式来运行 Python 代码:
- 交互式环境:在终端输入
python,进入一个>>>提示符环境,在这里输入代码,会立刻看到结果,适合快速测试和学习。 - 脚本文件:将代码写入一个以
.py为后缀的文件中(如hello.py),然后通过python hello.py命令来运行,这是编写完整程序的标准方式。
我们先从交互式环境开始。
"Hello, World!"
打开你的终端,输入 python 并回车,看到 >>> 提示符后,输入:
print("Hello, World!")
然后按回车,你会看到终端输出:
Hello, World!
恭喜!你已经成功运行了你的第一行 Python 代码!
print()是 Python 的一个函数,它的作用就是把括号里的内容显示在屏幕上。"Hello, World!"是一个字符串,用双引号括起来的文本。
第三部分:Python 基础语法
变量和数据类型
变量就像一个带标签的盒子,你可以把东西存进去,并通过标签来取用。
Python 是动态类型语言,你不需要声明变量的类型,直接赋值即可。
# 赋值 name = "Alice" # 字符串 age = 25 # 整数 height = 1.75 # 浮点数 (小数) is_student = True # 布尔值 # 查看变量内容 print(name) print(age) print(height) print(is_student) # 查看变量的类型 print(type(name)) # <class 'str'> print(type(age)) # <class 'int'>
基本数据类型:
- 字符串:文本,用单引号 或双引号 括起来。
- 整数:没有小数的数字,如
10,-5。 - 浮点数:带小数的数字,如
14,-0.01。 - 布尔值:只有两个值,
True(真) 和False(假)。
注释
注释是写给程序员看的,解释代码的作用,Python 解释器会忽略它。
- 单行注释:以 开头。
- 多行注释:用三个单引号 或三个双引号 括起来。
# 这是一个单行注释,用于解释下面的代码
"""
这是一个多行注释。
可以用来写一段详细的说明。
"""
print("代码会忽略我")
用户输入
使用 input() 函数可以获取用户的键盘输入。
# input() 会提示用户输入,并将输入的内容作为字符串返回
name = input("请输入你的名字: ")
# 使用 f-string (格式化字符串) 来拼接文本
print(f"你好, {name}! 欢迎来到 Python 世界。")
运算符
Python 支持常见的数学和逻辑运算符。
-
算术运算符:
print(10 + 5) # 加法 -> 15 print(10 - 5) # 减法 -> 5 print(10 * 5) # 乘法 -> 50 print(10 / 5) # 除法 -> 2.0 (结果是浮点数) print(10 // 3) # 整除 -> 3 (只取整数部分) print(10 % 3) # 取余 -> 1 (10除以3的余数) print(10 ** 2) # 幂运算 -> 100 (10的2次方)
-
比较运算符:返回布尔值。
print(10 > 5) # 大于 -> True print(10 < 5) # 小于 -> False print(10 == 5) # 等于 -> False (注意是两个等号) print(10 != 5) # 不等于 -> True
-
逻辑运算符:
print(True and False) # 与 -> False (两者都为真才为真) print(True or False) # 或 -> True (两者有一个为真就为真) print(not True) # 非 -> False (取反)
第四部分:数据结构
数据结构是用来组织、存储和管理数据的集合。
列表
列表是 Python 中最常用的数据结构,它是一个有序、可变的元素集合,用方括号 [] 表示。
# 创建一个列表
fruits = ["apple", "banana", "cherry"]
# 访问元素 (索引从 0 开始)
print(fruits[0]) # 输出: apple
print(fruits[1]) # 输出: banana
# 修改元素
fruits[1] = "blueberry"
print(fruits) # 输出: ['apple', 'blueberry', 'cherry']
# 添加元素
fruits.append("orange")
print(fruits) # 输出: ['apple', 'blueberry', 'cherry', 'orange']
# 删除元素
fruits.remove("apple")
print(fruits) # 输出: ['blueberry', 'cherry', 'orange']
# 获取列表长度
print(len(fruits)) # 输出: 3
元组
元组和列表类似,但它是不可变的,创建后就不能修改、添加或删除元素,用圆括号 表示。
# 创建一个元组 coordinates = (10.0, 20.0) # 访问元素 print(coordinates[0]) # 输出: 10.0 # 尝试修改元素会报错 # coordinates[0] = 15.0 # TypeError: 'tuple' object does not support item assignment
字典
字典是存储键值对 的数据结构,通过键来快速查找值,用花括号 表示。
# 创建一个字典
person = {
"name": "Bob",
"age": 30,
"city": "New York"
}
# 通过键访问值
print(person["name"]) # 输出: Bob
# 添加或修改键值对
person["job"] = "Engineer" # 添加
person["age"] = 31 # 修改
print(person) # 输出: {'name': 'Bob', 'age': 31, 'city': 'New York', 'job': 'Engineer'}
# 获取所有键
print(person.keys()) # 输出: dict_keys(['name', 'age', 'city', 'job'])
# 获取所有值
print(person.values()) # 输出: dict_values(['Bob', 31, 'New York', 'Engineer'])
集合
集合是一个无序、不重复的元素集合,常用于去重和数学上的集合运算(并集、交集等),用花括号 表示。
# 创建一个集合
numbers = {1, 2, 2, 3, 4, 4, 5}
print(numbers) # 输出: {1, 2, 3, 4, 5} (重复的2和4被自动去除了)
# 添加元素
numbers.add(6)
print(numbers) # 输出: {1, 2, 3, 4, 5, 6}
# 检查元素是否存在
print(3 in numbers) # 输出: True
第五部分:流程控制
流程控制让程序能够根据不同的情况执行不同的代码块。
条件语句
使用 if, elif (else if), else 来实现逻辑判断。
age = int(input("请输入你的年龄: "))
if age < 18:
print("你是未成年人。")
elif age >= 18 and age < 60:
print("你是成年人。")
else:
print("你是老年人。")
循环语句
循环用于重复执行一段代码。
-
for循环:用于遍历序列(如列表、字符串等)。fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(f"I like {fruit}.") # 使用 range() 函数 for i in range(5): # 生成 0, 1, 2, 3, 4 print(i) -
while循环:只要条件为True,就会一直循环。count = 0 while count < 5: print(f"Count is: {count}") count = count + 1 # 别忘了增加计数器,否则会无限循环! -
break和continue:break:立即跳出整个循环。continue:跳过本次循环,直接进入下一次循环。
# break 示例 for i in range(10): if i == 5: break print(i) # 输出 0, 1, 2, 3, 4 # continue 示例 for i in range(10): if i % 2 == 0: # 如果是偶数 continue # 跳过本次循环 print(i) # 只输出奇数 1, 3, 5, 7, 9
第六部分:函数
函数是一段组织好的、可重复使用的代码块,它接收输入(参数),执行某些操作,并可能返回一个结果(返回值)。
定义和调用函数
使用 def 关键字来定义函数。
# 定义一个函数
def greet(name):
"""这是一个文档字符串,用于解释函数的功能。"""
message = f"Hello, {name}!"
return message
# 调用函数
result = greet("Charlie")
print(result) # 输出: Hello, Charlie!
# 没有返回值的函数
def say_hello():
print("Hello, World!")
say_hello()
函数参数
- 位置参数:按照顺序传入的参数。
- 关键字参数:通过参数名传入的参数,顺序可以任意。
- 默认参数:定义函数时给参数一个默认值。
def describe_pet(animal_type, pet_name, is_cute=False):
"""描述宠物信息"""
print(f"I have a {animal_type}.")
print(f"Its name is {pet_name}.")
if is_cute:
print("And it's very cute!")
# 位置参数调用
describe_pet("dog", "Willie")
# 关键字参数调用
describe_pet(animal_type="hamster", pet_name="Harry", is_cute=True)
第七部分:文件操作
程序经常需要读写文件,如配置文件、数据文件等。
读取文件
使用 with open() 语句是推荐的做法,因为它能确保文件在操作完成后被自动关闭。
# 假设有一个名为 'my_file.txt' 的文件,内容为 "Hello Python!"
# 读取整个文件内容
with open('my_file.txt', 'r') as file: # 'r' 表示读取模式
content = file.read()
print(content)
# 逐行读取
with open('my_file.txt', 'r') as file:
for line in file:
print(line.strip()) # strip() 去除行尾的换行符
写入文件
'w'模式:写入,如果文件存在,则覆盖;如果不存在,则创建。'a'模式:追加,如果文件存在,则在末尾添加内容;如果不存在,则创建。
# 写入模式 (会覆盖原文件)
with open('new_file.txt', 'w') as file:
file.write("This is the first line.\n")
file.write("This is the second line.\n")
# 追加模式
with open('new_file.txt', 'a') as file:
file.write("This is an appended line.\n")
# 再次读取,查看结果
with open('new_file.txt', 'r') as file:
print("--- File content after appending ---")
print(file.read())
第八部分:模块和包
Python 的强大之处在于其丰富的标准库和第三方库。模块就是一个 .py 文件,包是一组模块的集合。
导入模块
使用 import 关键字来使用其他模块的功能。
# 导入整个 math 模块
import math
print(math.sqrt(16)) # 输出: 4.0 (计算16的平方根)
# 导入特定功能
from math import pi, pow
print(f"Pi is approximately {pi}")
print(f"2 to the power of 3 is {pow(2, 3)}") # 输出: 8
# 使用 as 给模块或功能起别名
import numpy as np
# from datetime import datetime as dt
常用标准库示例
-
random:生成随机数。import random print(random.randint(1, 10)) # 生成1到10之间的一个随机整数 print(random.choice(['apple', 'banana', 'cherry'])) # 从列表中随机选择一个
-
os:与操作系统交互。import os print(os.getcwd()) # 获取当前工作目录 # os.makedirs('new_folder') # 创建新文件夹 -
datetime:处理日期和时间。from datetime import datetime now = datetime.now() print(f"Current date and time: {now.strftime('%Y-%m-%d %H:%M:%S')}")
第九部分:面向对象编程入门
OOP 是一种编程思想,它将数据和操作数据的方法组织成“对象”,这是 Python 高级编程的核心。
类和对象
- 类:是创建对象的蓝图或模板,定义了对象的属性和方法。
- 对象:是类的实例,是真实存在的实体。
# 定义一个类 (蓝图)
class Dog:
# __init__ 是一个特殊方法,称为构造函数,在创建对象时自动调用
def __init__(self, name, age):
self.name = name # 属性
self.age = age # 属性
# 定义一个方法 (行为)
def bark(self):
return f"{self.name} says: Woof!"
def celebrate_birthday(self):
self.age += 1
return f"Happy birthday, {self.name}! You are now {self.age} years old."
# 创建一个对象 (实例)
my_dog = Dog("Rex", 3)
# 访问对象的属性
print(my_dog.name) # 输出: Rex
print(my_dog.age) # 输出: 3
# 调用对象的方法
print(my_dog.bark()) # 输出: Rex says: Woof!
# 修改属性并调用方法
print(my_dog.celebrate_birthday()) # 输出: Happy birthday, Rex! You are now 4 years old.
print(my_dog.age) # 输出: 4
第十部分:进阶学习与资源推荐
恭喜!你已经掌握了 Python 的核心基础,你可以开始尝试做一些小项目了,
- 猜数字游戏
- 简易计算器
- 待办事项列表
- 爬取网页信息 (需要学习
requests和BeautifulSoup库) - 数据分析小项目 (需要学习
pandas和matplotlib库)
推荐学习资源
- 官方文档:docs.python.org - 最权威、最全面的资料。
- 交互式学习网站:
- freeCodeCamp - 提供免费、高质量的互动式课程。
- Codecademy - 非常适合新手入门的交互式学习平台。
- 在线教程:
- Real Python - 提供大量高质量、深入浅出的文章和教程。
- 廖雪峰的 Python 教程 - 国内非常受欢迎的免费教程。
- 书籍:
- 《Python 编程:从入门到实践》:非常适合零基础读者,前半部分讲解基础,后半部分通过项目实践。
- 《流畅的 Python》:适合有一定基础后,想深入理解 Python 语言特性的读者。
- 社区:
- Stack Overflow:程序员必备的问题解答网站。
- GitHub:全球最大的代码托管平台,你可以阅读别人的优秀代码,也可以将自己的项目托管在上面。
最后的话
学习编程最重要的是动手实践和坚持不懈,不要害怕犯错,错误是学习过程中最宝贵的部分,从今天起,开始写代码吧!祝你学习愉快!
