基础语法
- 注释:
- 单行注释:使用“#”符号,其后整行内容为注释,如
# 这是一个单行注释
。 - 多行注释:用三个单引号
'''
或三个双引号"""
包裹,例如'''这是一个多行注释,可以跨越多行'''
。
- 单行注释:使用“#”符号,其后整行内容为注释,如
- 换行与缩进:1条代码通常为1行,无需结尾标点。根据代码逻辑,同一级代码需保持对齐,不同级别代码通过缩进区分,PEP规定一般使用4个空格表示每级缩进。
- 变量与赋值:Python是动态类型语言,变量无需预先声明类型,直接赋值即可,如
x = 10
。变量名由字母、数字或下划线组成,且不能以数字开头,并且大小写敏感。
数据类型
- 数字类型:
- 整数(int):无小数部分,可表示为二进制(以
0b
开头)、八进制(以0o
开头)和十六进制(以0x
开头),如0b10
表示二进制的2。 - 浮点数(float):带有小数部分,存储为IEEE 754双精度格式,如
3.14
。 - 复数(complex):由实部和虚部组成,虚部以
j
或J
结尾,如3 + 4j
。
- 整数(int):无小数部分,可表示为二进制(以
- 字符串类型(str):用单引号或双引号括起来的字符序列,支持索引和切片操作,可使用“+”运算符拼接,如
'hello' + 'world'
结果为'helloworld'
。 - 布尔类型(bool):只有
True
和False
两个值,用于条件判断,可与逻辑运算符and
、or
、not
结合使用。 - 列表(list):有序可变序列,可包含不同类型元素,通过索引访问,支持切片、添加、删除和修改操作,如
my_list = [1, 'a', True]
。 - 元组(tuple):有序不可变序列,创建后不能修改,如
my_tuple = (1, 2, 3)
。 - 集合(set):无序不重复元素集合,用于去重和数学集合运算,如
my_set = {1, 2, 2, 3}
,实际存储为{1, 2, 3}
。 - 字典(dict):键值对的无序集合,通过键访问值,键必须是不可变类型,如
my_dict = {'name': 'Tom', 'age': 18}
。
控制结构
- 条件语句:
if - elif - else
结构,条件表达式结果须为布尔值,如:x = 10 if x > 5: print('x大于5') elif x == 5: print('x等于5') else: print('x小于5')
- 循环语句:
- for循环:用于遍历可迭代对象,如列表、元组等,
range()
函数常用来生成整数序列,例如for i in range(5)
会循环5次,i
依次为0到4。 - while循环:只要条件为真,就会重复执行循环体,需注意在循环体内更新条件变量,避免无限循环,如
while x < 10: x += 1
。
- for循环:用于遍历可迭代对象,如列表、元组等,
- 循环控制语句:
- break:用于跳出当层循环。
- continue:用于退出当前循环,继续下一次循环。
函数
- 定义函数:使用
def
关键字,函数体通过缩进表示,如:def add(a, b): return a + b
- 函数参数:
- 位置参数:按顺序传递,实参顺序与形参须一致。
- 关键字参数:通过参数名传递,顺序可与形参不一致,如
add(b = 3, a = 2)
。 - 默认参数:定义函数时可设置默认值,调用时若不传入该参数,则使用默认值,如
def power(x, n = 2): return x ** n
。 - 可变参数:
*args
表示可变位置参数,会将多余位置参数收集为元组;**kwargs
表示可变关键字参数,会将多余关键字参数收集为字典。
模块与包
- 模块:是包含Python定义和语句的文件,扩展名为
.py
。使用import
关键字导入,如import math
;也可使用from...import
语句导入特定函数或变量,如from math import sqrt
;还可使用as
关键字指定别名,如import numpy as np
。 - 包:是组织模块的方式,通过文件夹结构管理相关模块,包文件夹下通常需有
__init__.py
文件(Python 3.3+后可省略)。
面向对象编程
- 类的定义:使用
class
关键字,__init__
方法是构造函数,用于初始化对象属性,如:class Dog: def __init__(self, name, age): self.name = name self.age = age def bark(self): print(f'{self.name}汪汪叫')
- 继承:子类可继承父类属性和方法,通过在类定义中指定父类实现,如
class Puppy(Dog):
,super()
函数可用于调用父类方法。 - 多态:不同类的对象对同一消息做出不同响应,通过方法重写和动态绑定实现。
异常处理
使用try - except - finally
结构捕获和处理程序运行时的错误,如:
try:
result = 10 / 0
except ZeroDivisionError:
print('除数不能为零')
finally:
print('无论是否有异常,都会执行')
还可使用else
子句,在try
块未抛出异常时执行。
文件操作
- 读取文件:使用
open()
函数打开文件,指定'r'
模式,with
语句可自动管理文件打开和关闭,如:
也可按行读取:with open('test.txt', 'r') as f: content = f.read()
with open('test.txt', 'r') as f: for line in f: print(line.strip())
- 写入文件:使用
open()
函数,指定'w'
模式(覆盖写入)或'a'
模式(追加写入),如with open('test.txt', 'w') as f: f.write('Hello, World!')
。