1522 字
4 分钟
Python基础教程(第一阶段)
Python基础教程(第一阶段)
欢迎来到Python基础教程的第一阶段!Python是一种简单易学、功能强大的编程语言,被广泛应用于Web开发、数据分析、人工智能、科学计算等领域。本教程将从零开始,带领你学习Python编程的基础知识,为后续的学习打下坚实的基础。
1. Python简介
1.1 什么是Python?
Python是一种解释型、面向对象、动态数据类型的高级编程语言,由Guido van Rossum于1989年发明,1991年首次发布。Python的设计哲学强调代码的可读性和简洁的语法,使得Python成为初学者和专业开发者的首选语言之一。
1.2 Python的特点
- 简单易学:语法简洁明了,代码可读性高
- 功能强大:丰富的标准库和第三方库
- 跨平台:可在Windows、macOS、Linux等操作系统上运行
- 面向对象:支持面向对象编程范式
- 解释执行:无需编译,直接运行
- 动态类型:变量无需声明类型
- 广泛应用:Web开发、数据分析、人工智能、科学计算等
1.3 Python的应用领域
- Web开发:Django、Flask等框架
- 数据分析:Pandas、NumPy等库
- 人工智能:TensorFlow、PyTorch等库
- 科学计算:SciPy、Matplotlib等库
- 自动化运维:脚本编写、系统管理
- 游戏开发:Pygame等库
- 网络爬虫:Scrapy、Requests等库
2. 环境搭建
2.1 下载Python
- 访问Python官方网站
- 根据你的操作系统选择对应的Python版本(推荐Python 3.8+)
- 下载并安装Python
2.2 安装Python
Windows系统:
- 运行下载的安装程序
- 勾选”Add Python to PATH”
- 点击”Install Now”
macOS系统:
- 运行下载的.pkg安装程序
- 按照提示完成安装
Linux系统:
- 大多数Linux发行版已经预装了Python
- 可以使用包管理器安装最新版本:
# Ubuntu/Debiansudo apt updatesudo apt install python3 python3-pip# CentOS/RHELsudo yum install python3 python3-pip
2.3 验证安装
打开命令行终端,输入以下命令验证Python是否安装成功:
python --version # Windowspython3 --version # macOS/Linux如果显示Python版本号,则说明安装成功。
2.4 安装集成开发环境(IDE)
推荐的Python IDE:
- PyCharm:功能强大的Python IDE,有社区版(免费)和专业版
- Visual Studio Code:轻量级编辑器,安装Python扩展后可用于Python开发
- Jupyter Notebook:交互式开发环境,适合数据分析和学习
- IDLE:Python自带的简单IDE
3. Python基础语法
3.1 第一个Python程序
创建一个名为hello.py的文件,输入以下代码:
print("Hello, World!")在命令行中运行:
python hello.py # Windowspython3 hello.py # macOS/Linux你将看到输出:
Hello, World!3.2 变量和数据类型
变量:
# 变量赋值name = "John"age = 30height = 1.75is_student = False
# 打印变量print(name)print(age)print(height)print(is_student)数据类型:
- 整数(int):如1, 2, 3
- 浮点数(float):如1.0, 2.5, 3.14
- 字符串(str):如”Hello”, ‘World’
- 布尔值(bool):True, False
- 列表(list):如[1, 2, 3], [“a”, “b”, “c”]
- 元组(tuple):如(1, 2, 3), (“a”, “b”, “c”)
- 字典(dict):如{“name”: “John”, “age”: 30}
- 集合(set):如{1, 2, 3}, {“a”, “b”, “c”}
3.3 运算符
算术运算符:
# 算术运算符print(1 + 2) # 加法print(5 - 3) # 减法print(2 * 3) # 乘法print(6 / 2) # 除法(返回浮点数)print(7 // 3) # 整除print(7 % 3) # 取模print(2 ** 3) # 幂运算比较运算符:
# 比较运算符print(1 == 2) # 等于print(1 != 2) # 不等于print(1 < 2) # 小于print(1 > 2) # 大于print(1 <= 2) # 小于等于print(1 >= 2) # 大于等于逻辑运算符:
# 逻辑运算符print(True and False) # 与print(True or False) # 或print(not True) # 非3.4 输入和输出
输出:
# 输出print("Hello, World!")print("Name:", "John")print("Age:", 30)print("Height:", 1.75)
# 格式化输出name = "John"age = 30print(f"My name is {name} and I am {age} years old.") # f-stringprint("My name is {} and I am {} years old.".format(name, age)) # format方法print("My name is %s and I am %d years old." % (name, age)) # 百分号格式化输入:
# 输入name = input("Enter your name: ")age = input("Enter your age: ")print(f"Hello, {name}! You are {age} years old.")
# 输入转换age = int(input("Enter your age: "))print(f"You will be {age + 1} years old next year.")4. 控制流
4.1 条件语句
# if语句age = 18if age >= 18: print("You are an adult.")else: print("You are a minor.")
# if-elif-else语句score = 85if score >= 90: print("A")elif score >= 80: print("B")elif score >= 70: print("C")elif score >= 60: print("D")else: print("F")4.2 循环语句
for循环:
# for循环fruits = ["apple", "banana", "cherry"]for fruit in fruits: print(fruit)
# 遍历数字for i in range(5): print(i)
# 遍历字典person = {"name": "John", "age": 30, "city": "New York"}for key, value in person.items(): print(key, ":", value)while循环:
# while循环count = 0while count < 5: print(count) count += 1
# 无限循环(谨慎使用)# while True:# print("Hello")4.3 循环控制语句
# break语句for i in range(10): if i == 5: break print(i)
# continue语句for i in range(10): if i % 2 == 0: continue print(i)
# pass语句for i in range(10): if i == 5: pass # 占位符,什么都不做 print(i)5. 数据结构
5.1 列表(List)
# 创建列表fruits = ["apple", "banana", "cherry"]numbers = [1, 2, 3, 4, 5]mixed = ["apple", 1, True, 3.14]
# 访问列表元素print(fruits[0]) # 第一个元素print(fruits[-1]) # 最后一个元素
# 修改列表元素fruits[0] = "orange"print(fruits)
# 添加元素fruits.append("grape") # 添加到末尾fruits.insert(1, "pear") # 插入到指定位置print(fruits)
# 删除元素fruits.remove("banana") # 删除指定值fruits.pop() # 删除最后一个元素print(fruits)
# 列表操作print(len(fruits)) # 长度print("apple" in fruits) # 检查元素是否存在print(fruits + ["kiwi", "mango"]) # 列表拼接print(fruits * 2) # 列表重复
# 列表方法numbers = [3, 1, 4, 1, 5, 9, 2, 6]numbers.sort() # 排序print(numbers)numbers.reverse() # 反转print(numbers)print(numbers.count(1)) # 计数print(numbers.index(5)) # 查找索引5.2 元组(Tuple)
# 创建元组tuple1 = ("apple", "banana", "cherry")tuple2 = (1, 2, 3, 4, 5)tuple3 = ("apple", 1, True)
# 访问元组元素print(tuple1[0])print(tuple1[-1])
# 元组是不可变的# tuple1[0] = "orange" # 会报错
# 元组操作print(len(tuple1))print("apple" in tuple1)print(tuple1 + ("grape", "pear"))print(tuple1 * 2)
# 元组方法print(tuple1.count("apple"))print(tuple1.index("banana"))
# 单元素元组single_tuple = ("apple",) # 注意逗号print(type(single_tuple))5.3 字典(Dictionary)
# 创建字典person = { "name": "John", "age": 30, "city": "New York"}
# 访问字典值print(person["name"])print(person.get("age"))print(person.get("gender", "Unknown")) # 不存在的键返回默认值
# 修改字典person["age"] = 31person["gender"] = "Male"print(person)
# 删除字典元素del person["gender"]print(person)
# 字典操作print(len(person))print("name" in person) # 检查键是否存在print(person.keys()) # 获取所有键print(person.values()) # 获取所有值print(person.items()) # 获取所有键值对
# 字典方法person.update({"city": "Boston", "job": "Engineer"})print(person)copy_person = person.copy()print(copy_person)print(person.pop("job"))print(person)5.4 集合(Set)
# 创建集合fruits = {"apple", "banana", "cherry"}numbers = {1, 2, 3, 4, 5}
# 添加元素fruits.add("grape")print(fruits)
# 删除元素fruits.remove("banana") # 元素不存在会报错fruits.discard("orange") # 元素不存在不会报错print(fruits)
# 集合操作print(len(fruits))print("apple" in fruits)
# 集合运算set1 = {1, 2, 3, 4, 5}set2 = {4, 5, 6, 7, 8}print(set1.union(set2)) # 并集print(set1.intersection(set2)) # 交集print(set1.difference(set2)) # 差集print(set1.symmetric_difference(set2)) # 对称差集6. 函数
6.1 定义函数
# 定义函数def greet(): print("Hello, World!")
# 调用函数greet()
# 带参数的函数def greet(name): print(f"Hello, {name}!")
greet("John")
# 带默认参数的函数def greet(name, greeting="Hello"): print(f"{greeting}, {name}!")
greet("John")greet("John", "Hi")
# 带返回值的函数def add(a, b): return a + b
result = add(3, 5)print(result)
# 带多个返回值的函数def get_person(): return "John", 30, "New York"
name, age, city = get_person()print(name, age, city)6.2 函数参数
位置参数:
def describe_pet(animal_type, pet_name): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.")
describe_pet("dog", "Buddy")关键字参数:
describe_pet(animal_type="cat", pet_name="Whiskers")describe_pet(pet_name="Charlie", animal_type="bird")可变参数:
# *args:接收任意数量的位置参数def sum_numbers(*args): return sum(args)
print(sum_numbers(1, 2, 3))print(sum_numbers(1, 2, 3, 4, 5))
# **kwargs:接收任意数量的关键字参数def describe_person(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}")
describe_person(name="John", age=30, city="New York")6.3 函数作用域
# 全局变量x = 10
def print_global(): print(x)
print_global()
# 局部变量def print_local(): y = 20 print(y)
print_local()# print(y) # 会报错,局部变量在函数外不可访问
# 修改全局变量def modify_global(): global x x = 30 print(x)
modify_global()print(x)7. 模块和包
7.1 模块
创建模块:
创建一个名为mymodule.py的文件:
def greet(name): return f"Hello, {name}!"
def add(a, b): return a + b
PI = 3.14159使用模块:
# 导入整个模块import mymodule
print(mymodule.greet("John"))print(mymodule.add(3, 5))print(mymodule.PI)
# 导入模块中的特定函数或变量from mymodule import greet, addprint(greet("John"))print(add(3, 5))
# 导入模块中的所有内容from mymodule import *print(greet("John"))print(add(3, 5))print(PI)
# 使用别名import mymodule as mmprint(mm.greet("John"))
from mymodule import greet as gprint(g("John"))7.2 标准库
Python有丰富的标准库,例如:
# 数学模块import mathprint(math.pi)print(math.sqrt(16))print(math.pow(2, 3))
# 随机模块import randomprint(random.randint(1, 10))print(random.choice(["apple", "banana", "cherry"]))
# 日期时间模块import datetimenow = datetime.datetime.now()print(now)print(now.year)print(now.month)print(now.day)
# 时间模块import timeprint(time.time())time.sleep(1) # 暂停1秒print(time.time())
# 操作系统模块import osprint(os.getcwd()) # 获取当前工作目录print(os.listdir(".")) # 列出当前目录中的文件和文件夹7.3 包
创建包:
创建以下目录结构:
mypackage/├── __init__.py├── module1.py└── module2.py__init__.py文件:
__version__ = "1.0.0"module1.py文件:
def function1(): return "Function 1 from module 1"module2.py文件:
def function2(): return "Function 2 from module 2"使用包:
# 导入包import mypackageprint(mypackage.__version__)
# 导入包中的模块import mypackage.module1print(mypackage.module1.function1())
# 导入模块中的函数from mypackage.module2 import function2print(function2())8. 文件操作
8.1 文件读写
写入文件:
# 写入文件with open("example.txt", "w") as f: f.write("Hello, World!\n") f.write("This is a test file.\n") f.write("Python is awesome!\n")
# 追加文件with open("example.txt", "a") as f: f.write("Adding more content.\n")读取文件:
# 读取整个文件with open("example.txt", "r") as f: content = f.read() print(content)
# 逐行读取with open("example.txt", "r") as f: for line in f: print(line.strip())
# 读取所有行with open("example.txt", "r") as f: lines = f.readlines() print(lines)8.2 文件模式
| 模式 | 描述 |
|---|---|
r | 只读模式(默认) |
w | 写入模式,会覆盖现有文件 |
a | 追加模式,在文件末尾添加内容 |
x | 独占创建模式,文件存在则报错 |
b | 二进制模式 |
t | 文本模式(默认) |
+ | 读写模式 |
8.3 异常处理
# 异常处理try: with open("non_existent_file.txt", "r") as f: content = f.read() print(content)except FileNotFoundError: print("File not found.")except Exception as e: print(f"An error occurred: {e}")finally: print("This block always executes.")9. 面向对象编程基础
9.1 类和对象
# 定义类class Person: # 类变量 species = "Homo sapiens"
# 初始化方法 def __init__(self, name, age): # 实例变量 self.name = name self.age = age
# 实例方法 def greet(self): return f"Hello, my name is {self.name}."
def get_age(self): return self.age
# 创建对象person1 = Person("John", 30)person2 = Person("Jane", 25)
# 访问实例变量print(person1.name)print(person2.age)
# 调用实例方法print(person1.greet())print(person2.get_age())
# 访问类变量print(Person.species)print(person1.species)9.2 继承
# 父类class Animal: def __init__(self, name): self.name = name
def speak(self): pass
# 子类class Dog(Animal): def speak(self): return "Woof!"
class Cat(Animal): def speak(self): return "Meow!"
# 创建对象dog = Dog("Buddy")cat = Cat("Whiskers")
print(dog.name)print(dog.speak())print(cat.name)print(cat.speak())9.3 多态
def animal_speak(animal): print(animal.speak())
dog = Dog("Buddy")cat = Cat("Whiskers")
animal_speak(dog) # 调用Dog的speak方法animal_speak(cat) # 调用Cat的speak方法10. 学习资源推荐
10.1 Python官方文档
10.2 B站Python视频(播放量高于50W)
- 【Python教程】《零基础入门学习Python》最新版 - 小甲鱼 - 播放量超1000W
- Python基础教程全集(2023版)- 黑马程序员 - 播放量超500W
- Python教程 - 100天从新手到大师 - 播放量超300W
- Python入门到精通 - 尚硅谷 - 播放量超200W
10.3 推荐书籍
- 《Python编程:从入门到实践》
- 《流畅的Python》
- 《Python Cookbook》
- 《Effective Python》
11. 总结
本教程介绍了Python的基础知识,包括:
- Python的安装和环境搭建
- Python基础语法
- 变量和数据类型
- 控制流(条件语句和循环)
- 数据结构(列表、元组、字典、集合)
- 函数
- 模块和包
- 文件操作
- 面向对象编程基础
通过本教程的学习,你应该已经掌握了Python的基础知识,可以开始编写简单的Python程序了。在接下来的教程中,我们将学习Python的高级特性和应用场景。
祝你学习愉快!
提示:本教程是Python学习的第一阶段,后续将推出Python进阶教程,包括面向对象编程进阶、异常处理、正则表达式、数据库操作、Web开发等内容。
Python基础教程(第一阶段)
https://sakumonet.top/posts/python-basics-tutorial/ 部分信息可能已经过时









