一. Python语言基础
使用缩进
- 使用缩进 C/C++程序设计语言的代码块是用大括号{}来组织的。
- 与此不同,Python 对于程序代码的组织,是通过
空格或制表符实现缩进组织代码结构的。
- 具体来讲,逻辑上属于同一代码块的语句应具有相同的缩进量,如果缩进量不同,则代码属于不同代码块。
- 冒号 “
:” 表示一个代码块的开始,其后具有相同缩进的代码块属于同一模块。
Python的注释
1. 单行注释
语法:
以 # 开头
适用场景:
单行代码 / 短说明
2. 多行注释
语法:
用 '''三重单引号''' 或 """三重双引号""" 包裹
适用场景:
多行说明、函数 / 类文档注释
Python的对象
Python对象与赋值
Python对象的类型
| 类型分类 | 具体类型 | 示例 |
|---|
| 数值类型 | int(整数)、float(浮点数)、bool(布尔) | 10、3.14、True |
| 序列类型 | str(字符串)、list(列表)、tuple(元组) | "abc"、[1,2]、(1,2) |
| 映射类型 | dict(字典) | {"name": "Tom"} |
| 集合类型 | set(集合)、frozenset(不可变集合) | {1,2}、frozenset({1,2}) |
| 类型查看工具 | type() 函数 | type("Hello world") 输出 <class 'str'> |
| 类型判断工具 | isinstance() 函数 | isinstance(8, int) 返回 True;isinstance(8, (int, bool)) 返回 True |
| 变量与类型关系 | 量是对象的引用,对象类型保存在对象内部 | 变量不存储类型信息,类型由对象自身维护 |
对象的内置属性和方法
- 属性:对象自带的 “数据”,用
对象.属性 访问(如字符串 s 的 s.length)。
- 方法:对象自带的 “功能”(函数),用
对象.方法名() 调用(如列表 lst 的 lst.append())。
将对象的引用作为函数参数
- Python 函数参数传递是引用传递:
- 若传入不可变对象(如 int、str、tuple),函数内修改不会影响外部对象。
- 若传入可变对象(如 list、dict、set),函数内修改会直接影响外部对象。
- C/C++程序设计语言中函数参数传递既可以使用值传递,也可以使用引用传递:
- 值传递:函数不能改变实参的值
- 引用传递:函数可以改变实参的值
is和is not运算符
可变和不可变对象
| 类别 | 定义 | 常用类型 | 特点 |
|---|
| 不可变对象 | 创建后值不能修改,修改会生成新对象 | int、str、tuple、bool | 赋值 / 传参时,修改不影响原对象 |
| 可变对象 | 创建后值可修改,不生成新对象 | list、dict、set | 赋值 / 传参时,修改影响原对象 |
Python的运算符
算数运算符
| 运算符 | 示例 | 说明 |
|---|
+ | a + b | 返回a加b的结果 |
- | a - b | 返回a减b的结果 |
* | a * b | 返回a乘以b的结果 |
/ | a / b | 返回a除以b的结果 |
// | a // b | 返回a除以b的结果向下取整 |
** | a ** b | 返回a的b次幂 |
逻辑运算符
位运算符
| 运算符 | 示例 | 说明 |
|---|
& | a & b | 返回a与b按位与的结果,可以将True和False视为整数 1 和 0 |
1 | a 1 b | 返回a与b按位或的结果,可以将True和False视为整数 1 和 0 |
^ | a ^ b | 返回a与b按位异或的结果,可以将True和False视为整数 1 和 0 |
~ | ~a | 按位取反 |
>> | a>>2 | 右移 2 位 |
<< | a<<2 | 左移 2 位 |
比较运算符
| 运算符 | 示例 | 说明 |
|---|
== | a == b | 如果a等于b,则返回True,否则返回False |
!= | a != b | 如果a不等于b,则返回True,否则返回False |
<= | a <= b | 如果a小于或等于b,则返回True,否则返回False |
< | a < b | 如果a小于b,则返回True,否则返回False |
>= | a >= b | 如果a大于或等于b,则返回True,否则返回False |
> | a > b | 如果a大于b,则返回True,否则返回False |
赋值运算符
| 运算符 | 示例 | 说明 |
|---|
= | a=5 | 赋值 |
+= | a+=5(即a=a+5) | 加法赋值 |
-= | a-=5(a=a-5) | 减法赋值 |
&= | a&=5(a=a&5) | 按位与赋值 |
成员运算符
| 运算符 | 示例 | 说明 |
|---|
in | a in list | 判断某个值是否在序列中 |
not in | a not in list | 判断某个值是否不在序列中 |
三元运算符
| 运算符 | 示例 | 说明 |
|---|
a if condition else b | x=5 if a>b else 10 | 如果条件为真,返回 a,否则返回 b |
二. 控制流
分支结构
if 单分支
if 条件:
条件为 True 时执行的代码块(缩进)
if-else 双分支
if 条件:
条件为 True 时执行
else:
条件为 False 时执行
if-elif-else 多分支
if 条件1:
执行1
elif 条件2:
执行2
elif 条件3:
执行3
else:
所有条件都不满足时执行
使用for的结构循环
语法:
for 变量 in 可迭代对象:
循环体(每次遍历取一个元素赋值给变量)
关键字作用::
continue 关键字:可以跳过当前语句块之后的部分,直接进入下一次循环。
break 关键字:可以结束当前的 for 循环结构。
使用while的结构循环
语法:
while 条件:
循环体(需包含让条件最终为 False 的代码,避免死循环)
关键字作用::
continue 关键字:可以跳过当前语句块之后的部分,直接进入下一次循环。
break 关键字:可以结束当前的 while 循环结构。
三. 三元表达式
核心作用:用一行代码替代简单的 if-else 分支,简化代码。
语法:
变量 = 表达式1 if 条件 else 表达式2
四. 文件操作
打开、关闭文件
- 使用
open() 函数可以打开一个文件。
- 使用
close() 函数可以关闭一个文件。
文件操作的模式
| 模式 | 说明 |
|---|
r | 只读模式 |
w | 只写模式,覆盖文件原有内容 |
r+ | 读写模式 |
a | 在文件末尾追加内容 |
b | 用在其他模式之后(如rb、wb等),表示操作的文件是二进制文件 |
常用文件对象函数
| 函数 | 功能 |
|---|
read(n) | 读取文件内容,存储为字符串。参数n指明读取的字节数,若不赋值则读取文件全部内容 |
readline() | 读取文件的一行,可多次使用实现按行读取文件 |
readlines() | 读取文件内容,存储为列表 |
write() | 向文件中写入字符串 |
seek(n) | 移动到文件的指定位置,文件的起始位置n = 0 |
tell() | 返回文件当前的位置 |
常用的文件对象方法
with open("test.txt", 'r', encoding='utf-8') as file:
content = file.read()
print(content)
file.seek(0)
c = True
while c:
c = file.readline()
print(c.strip())
file.seek(0)
li = file.readlines()
for item in li:
print(item.strip())
fl = open("1.txt", "w", encoding="utf-8")
for item in li:
fl.write(item)
file.close()
fl.close()