Python语法与使用完全指南

目录

Python简介

Python的特点

Python 2 vs Python 3

Python环境搭建

下载与安装

集成开发环境(IDE)

基础语法

Python程序结构

缩进

注释

数据类型

数字

字符串

列表

元组

字典

集合

变量与运算符

变量

命名规则

运算符

控制流

条件语句

循环语句

函数

函数定义与调用

匿名函数

内置函数

模块与包

模块

创建自己的模块

文件操作

读取文件

写入文件

文件模式

异常处理

try-except语句

自定义异常

面向对象编程

类与对象

继承

多重继承

封装

多态

常用库与框架

标准库

第三方库

最佳实践与技巧

PEP 8风格指南

列表推导式

字典推导式

集合推导式

生成器表达式

上下文管理器

函数装饰器

带参数的装饰器

进阶学习资源

官方文档

在线学习平台

书籍

练习项目


Python简介

Python是一种高级、解释型、通用型编程语言,由Guido van Rossum于1991年首次发布。Python强调代码的可读性和简洁性,使用缩进来划分代码块,而不是像许多其他编程语言那样使用大括号或关键字。

Python的特点

  • 易学易用:Python的语法简单明了,适合初学者。
  • 可读性强:Python代码易于阅读和理解。
  • 跨平台:Python可以在Windows、macOS、Linux等多种操作系统上运行。
  • 丰富的库:Python拥有大量的标准库和第三方库,可以实现各种功能。
  • 应用广泛:从Web开发、数据分析、人工智能到自动化脚本,Python都有广泛应用。

Python 2 vs Python 3

Python有两个主要版本:Python 2和Python 3。Python 2已于2020年1月1日停止维护,所以本指南将专注于Python 3。

Python环境搭建

下载与安装

  1. 访问Python官网(python.org)。
  2. 下载适合您操作系统的Python 3最新版本。
  3. 运行安装程序,并勾选"Add Python to PATH"选项。
  4. 完成安装后,打开命令行/终端,输入python --versionpython3 --version来验证安装是否成功。

集成开发环境(IDE)

虽然可以使用简单的文本编辑器编写Python代码,但使用IDE可以提高开发效率。以下是一些流行的Python IDE:

  • PyCharm:功能全面的专业IDE。
  • Visual Studio Code:轻量级编辑器,配合Python扩展使用。
  • Jupyter Notebook:适合数据分析和科学计算的交互式环境。
  • IDLE:Python自带的简单IDE。

基础语法

Python程序结构

Python程序由模块、语句、表达式和对象组成。

  • 模块:Python文件,以.py为扩展名。
  • 语句:完成特定任务的代码行。
  • 表达式:产生某个值的代码。
  • 对象:Python中的数据和功能的基本单位。

缩进

Python使用缩进来表示代码块,通常使用4个空格。缩进不正确会导致语法错误。

# 正确的缩进
if True:
    print("这是正确的缩进")
    print("这也是正确的缩进")

# 错误的缩进
if True:
    print("这是正确的缩进")
  print("这是错误的缩进")  # 会导致IndentationError

注释

Python支持单行注释和多行注释。

# 这是单行注释

"""
这是多行注释
可以跨越多行
通常用作文档字符串(docstring)
"""

数据类型

Python有几种内置的数据类型,包括数字、字符串、列表、元组、字典和集合。

数字

Python支持整数、浮点数和复数。

# 整数
a = 10
# 浮点数
b = 3.14
# 复数
c = 1 + 2j

# 数学运算
print(a + b)  # 13.14
print(a * b)  # 31.4
print(a / 3)  # 3.3333...
print(a // 3)  # 3(整除)
print(a % 3)  # 1(取余)
print(a ** 2)  # 100(幂运算)

字符串

字符串是由一系列字符组成的不可变序列。

# 字符串定义
s1 = 'Hello'
s2 = "World"
s3 = '''这是一个
多行字符串'''

# 字符串操作
print(s1 + " " + s2)  # Hello World(连接)
print(s1 * 3)  # HelloHelloHello(重复)
print(len(s1))  # 5(长度)
print(s1[0])  # H(索引)
print(s1[1:3])  # el(切片)

# 字符串方法
print(s1.upper())  # HELLO(转大写)
print(s1.lower())  # hello(转小写)
print(" hello ".strip())  # hello(去除前后空格)
print("hello world".split())  # ['hello', 'world'](分割)
print("hello".replace("h", "H"))  # Hello(替换)

列表

列表是可变的有序序列,可以包含不同类型的元素。

# 列表定义
fruits = ['apple', 'banana', 'orange']
mixed = [1, 'hello', 3.14, [1, 2, 3]]

# 列表操作
print(fruits[0])  # apple(索引)
print(fruits[-1])  # orange(负索引,从末尾开始)
print(fruits[1:])  # ['banana', 'orange'](切片)
fruits.append('grape')  # 添加元素
print(fruits)  # ['apple', 'banana', 'orange', 'grape']
fruits.insert(1, 'pear')  # 在指定位置插入元素
print(fruits)  # ['apple', 'pear', 'banana', 'orange', 'grape']
fruits.pop()  # 删除并返回最后一个元素
print(fruits)  # ['apple', 'pear', 'banana', 'orange']
fruits.remove('pear')  # 删除指定元素
print(fruits)  # ['apple', 'banana', 'orange']
print(len(fruits))  # 3(长度)

元组

元组是不可变的有序序列,定义后不能修改。

# 元组定义
coordinates = (10, 20)
person = ('Alice', 25, 'Engineer')

# 元组操作
print(coordinates[0])  # 10(索引)
print(person[1:])  # (25, 'Engineer')(切片)
print(len(person))  # 3(长度)

# 元组解包
name, age, job = person
print(name, age, job)  # Alice 25 Engineer

# 尝试修改元组会导致错误
# coordinates[0] = 30  # TypeError: 'tuple' object does not support item assignment

字典

字典是无序的键值对集合,键必须是不可变类型。

# 字典定义
student = {'name': 'Alice', 'age': 20, 'grade': 'A'}
empty_dict = {}

# 字典操作
print(student['name'])  # Alice(通过键访问值)
student['gender'] = 'Female'  # 添加新键值对
print(student)  # {'name': 'Alice', 'age': 20, 'grade': 'A', 'gender': 'Female'}
student['age'] = 21  # 修改值
print(student)  # {'name': 'Alice', 'age': 21, 'grade': 'A', 'gender': 'Female'}
student.pop('grade')  # 删除键值对
print(student)  # {'name': 'Alice', 'age': 21, 'gender': 'Female'}
print('name' in student)  # True(检查键是否存在)
print(student.get('height', 'Not found'))  # Not found(安全地获取值,键不存在时返回默认值)
print(student.keys())  # dict_keys(['name', 'age', 'gender'])(所有键)
print(student.values())  # dict_values(['Alice', 21, 'Female'])(所有值)
print(student.items())  # dict_items([('name', 'Alice'), ('age', 21), ('gender', 'Female')])(所有键值对)

集合

集合是无序的不重复元素集合。

# 集合定义
fruits = {'apple', 'banana', 'orange'}
numbers = set([1, 2, 3, 2, 1])  # 使用列表创建集合,重复元素会被自动去除

# 集合操作
print(numbers)  # {1, 2, 3}(自动去除重复元素)
fruits.add('grape')  # 添加元素
print(fruits)  # {'apple', 'banana', 'orange', 'grape'}
fruits.remove('banana')  # 删除元素
print(fruits)  # {'apple', 'orange', 'grape'}
print('apple' in fruits)  # True(检查元素是否存在)

# 集合运算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)  # {1, 2, 3, 4, 5}(并集)
print(set1 & set2)  # {3}(交集)
print(set1 - set2)  # {1, 2}(差集)
print(set1 ^ set2)  # {1, 2, 4, 5}(对称差集)

变量与运算符

变量

Python中的变量不需要声明,赋值时自动创建。变量名区分大小写,应以字母或下划线开头,可以包含字母、数字和下划线。

# 变量赋值
x = 10
name = "Alice"
is_valid = True

# 多重赋值
a, b, c = 1, 2, 3
print(a, b, c)  # 1 2 3

# 交换变量值
a, b = b, a
print(a, b)  # 2 1

命名规则

  • 变量名只能包含字母、数字和下划线,不能以数字开头。
  • 关键字不能用作变量名。
  • 驼峰命名法(camelCase&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值