附录B-Python快速参考手册

基础语法

变量赋值

x =10# 整数 y =3.14# 浮点数 name ="Python"# 字符串 is_true =True# 布尔值# 多重赋值 a, b, c =1,2,3 x = y = z =0# 交换变量 a, b = b, a 

输入输出

# 输出print("Hello")print("Hello","World")print(f"x={x}, y={y}")# 输入 name =input("请输入姓名:") age =int(input("请输入年龄:"))

注释

# 单行注释""" 多行注释 或文档字符串 """

数据类型

类型转换速查表

函数说明示例
int()转整数int(“123”) → 123
float()转浮点数float(“3.14”) → 3.14
str()转字符串str(123) → “123”
bool()转布尔值bool(0) → False
list()转列表list(“abc”) → [‘a’,‘b’,‘c’]
tuple()转元组tuple([1,2]) → (1,2)
set()转集合set([1,2,2]) → {1,2}

类型判断

type(x)# 查看类型isinstance(x,int)# 判断类型

运算符

算术运算符

+# 加法:5 + 3 = 8-# 减法:5 - 3 = 2*# 乘法:5 * 3 = 15/# 除法:5 / 2 = 2.5//# 整除:5 // 2 = 2%# 取余:5 % 2 = 1**# 幂运算:2 ** 3 = 8

比较运算符

==# 等于!=# 不等于># 大于<# 小于>=# 大于等于<=# 小于等于

逻辑运算符

and# 与or# 或not# 非# 示例if age >18and age <60:print("成年")

控制流程

条件语句

# ifif condition:# 代码# if-elseif condition:# 代码else:# 代码# if-elif-elseif condition1:# 代码elif condition2:# 代码else:# 代码# 三元表达式 result = value1 if condition else value2 

循环语句

# for循环for i inrange(5):# 0,1,2,3,4print(i)for i inrange(1,6):# 1,2,3,4,5print(i)for i inrange(0,10,2):# 0,2,4,6,8print(i)# while循环while condition:# 代码# break和continuefor i inrange(10):if i ==5:break# 退出循环if i ==3:continue# 跳过本次print(i)

数据结构

列表(List)

创建
lst =[]# 空列表 lst =[1,2,3,4,5]# 直接创建 lst =list(range(5))# [0,1,2,3,4]
常用方法
lst.append(x)# 末尾添加 lst.insert(i, x)# 指定位置插入 lst.remove(x)# 删除元素 lst.pop()# 删除并返回末尾元素 lst.pop(i)# 删除并返回指定位置 lst.clear()# 清空列表 lst.index(x)# 查找元素位置 lst.count(x)# 统计元素出现次数 lst.sort()# 排序 lst.reverse()# 反转len(lst)# 长度
切片
lst[0]# 第一个元素 lst[-1]# 最后一个元素 lst[1:4]# 索引1到3 lst[:3]# 前3个 lst[3:]# 从索引3到末尾 lst[::2]# 每隔一个 lst[::-1]# 反转
列表推导式
[x**2for x inrange(5)]# [0,1,4,9,16][x for x inrange(10)if x %2==0]# [0,2,4,6,8]

字典(Dict)

创建
d ={}# 空字典 d ={"name":"Alice","age":25}# 直接创建 d =dict(name="Alice", age=25)# 使用dict()
常用方法
d["key"]# 获取值(不存在会报错) d.get("key")# 获取值(不存在返回None) d.get("key", default)# 获取值(不存在返回默认值) d["key"]= value # 设置值 d.keys()# 所有键 d.values()# 所有值 d.items()# 所有键值对 d.pop("key")# 删除并返回 d.update(other_dict)# 更新"key"in d # 判断键是否存在
字典推导式
{x: x**2for x inrange(5)}# {0:0, 1:1, 2:4, 3:9, 4:16}

元组(Tuple)

t =()# 空元组 t =(1,)# 单元素元组(注意逗号) t =(1,2,3)# 多元素元组 t =1,2,3# 也可以不加括号# 元组不可修改,但可以访问 t[0]# 第一个元素

集合(Set)

创建
s =set()# 空集合 s ={1,2,3}# 直接创建 s =set([1,2,2,3])# {1,2,3}(自动去重)
常用方法
s.add(x)# 添加元素 s.remove(x)# 删除元素 s.discard(x)# 删除元素(不存在不报错) s1 | s2 # 并集 s1 & s2 # 交集 s1 - s2 # 差集

函数

函数定义

# 基本函数deffunc_name(param):"""文档字符串"""return result # 默认参数deffunc(a, b=10):return a + b # 可变参数deffunc(*args,**kwargs):print(args)# 元组print(kwargs)# 字典# Lambda函数 f =lambda x: x**2

常用内置函数

函数说明示例
len()长度len([1,2,3]) → 3
max()最大值max([1,2,3]) → 3
min()最小值min([1,2,3]) → 1
sum()求和sum([1,2,3]) → 6
abs()绝对值abs(-5) → 5
round()四舍五入round(3.14, 1) → 3.1
sorted()排序sorted([3,1,2]) → [1,2,3]
range()范围range(5) → 0,1,2,3,4
enumerate()枚举enumerate([‘a’,‘b’])
zip()打包zip([1,2],[‘a’,‘b’])
map()映射map(str,[1,2,3])
filter()过滤filter(lambda x:x>0,[1,-1,2])

文件操作

读文件

# 读取全部withopen("file.txt","r", encoding="utf-8")as f: content = f.read()# 按行读取withopen("file.txt","r", encoding="utf-8")as f:for line in f:print(line.strip())# 读取所有行withopen("file.txt","r", encoding="utf-8")as f: lines = f.readlines()

写文件

# 写入(覆盖)withopen("file.txt","w", encoding="utf-8")as f: f.write("Hello\n")# 追加withopen("file.txt","a", encoding="utf-8")as f: f.write("World\n")

文件模式

模式说明
r只读
w写入(覆盖)
a追加
r+读写
rb二进制读取
wb二进制写入

异常处理

基本语法

try:# 可能出错的代码 x =int(input())except ValueError:# 处理ValueErrorprint("输入错误")except Exception as e:# 处理其他异常print(f"错误:{e}")else:# 没有异常时执行print("成功")finally:# 无论如何都执行print("结束")

常见异常

异常说明
ValueError值错误
TypeError类型错误
IndexError索引错误
KeyError键错误
FileNotFoundError文件不存在
ZeroDivisionError除零错误
AttributeError属性错误

面向对象

类定义

classClassName:"""类的文档字符串"""# 类变量 class_var ="shared"# 构造方法def__init__(self, param): self.instance_var = param # 实例方法defmethod(self):return self.instance_var # 类方法@classmethoddefclass_method(cls):return cls.class_var # 静态方法@staticmethoddefstatic_method(x):return x *2# 创建对象 obj = ClassName("value")

继承

classParent:def__init__(self, name): self.name = name classChild(Parent):def__init__(self, name, age):super().__init__(name)# 调用父类构造方法 self.age = age 

常用特殊方法

方法说明
__init__构造方法
__str__字符串表示
__repr__官方字符串表示
__len__长度
__getitem__索引访问
__setitem__索引赋值
__call__对象可调用

常用模块

时间日期

from datetime import datetime, date, timedelta # 当前时间 now = datetime.now() today = date.today()# 格式化 now.strftime("%Y-%m-%d %H:%M:%S")# 时间计算 tomorrow = today + timedelta(days=1)

随机数

import random random.random()# 0-1随机浮点数 random.randint(1,10)# 1-10随机整数 random.choice([1,2,3])# 随机选择 random.shuffle(lst)# 打乱列表

JSON

import json # 转JSON字符串 json_str = json.dumps(data, ensure_ascii=False, indent=4)# 解析JSON data = json.loads(json_str)# 读写文件withopen("data.json","w")as f: json.dump(data, f)withopen("data.json","r")as f: data = json.load(f)

正则表达式

import re re.search(pattern, string)# 搜索 re.match(pattern, string)# 从开头匹配 re.findall(pattern, string)# 查找所有 re.sub(pattern, repl, string)# 替换

路径操作

from pathlib import Path p = Path("folder/file.txt") p.exists()# 是否存在 p.is_file()# 是否是文件 p.is_dir()# 是否是目录 p.read_text()# 读取文本 p.write_text("content")# 写入文本 p.parent # 父目录 p.name # 文件名 p.stem # 文件名(不含扩展名) p.suffix # 扩展名

字符串方法速查

s ="Hello World" s.lower()# 转小写 s.upper()# 转大写 s.strip()# 去除两端空白 s.split()# 分割成列表 s.replace("old","new")# 替换 s.startswith("He")# 是否以...开头 s.endswith("ld")# 是否以...结尾 s.find("o")# 查找位置(找不到返回-1) s.index("o")# 查找位置(找不到报错) s.count("l")# 统计出现次数 s.isdigit()# 是否全是数字 s.isalpha()# 是否全是字母

推导式速查

# 列表推导式[x**2for x inrange(5)][x for x inrange(10)if x %2==0]# 字典推导式{x: x**2for x inrange(5)}# 集合推导式{x**2for x inrange(5)}# 生成器表达式(注意是小括号)(x**2for x inrange(5))

快速记忆技巧

数据结构选择

  • 列表:有序、可重复、可修改 → 用[]
  • 元组:有序、可重复、不可修改 → 用()
  • 字典:键值对映射 → 用{}带冒号
  • 集合:无序、不重复 → 用{}不带冒号

常见操作

# 判断存在 x in lst # 列表 key indict# 字典 x inset# 集合# 获取长度len(lst)# 列表len(dict)# 字典len(set)# 集合len(str)# 字符串# 遍历for item in lst:# 列表for key indict:# 字典(遍历键)for key, value indict.items():# 字典(键值对)

调试技巧

# 打印调试print(f"变量x的值:{x}")print(f"变量类型:{type(x)}")# 查看对象所有属性和方法dir(obj)# 查看帮助help(function)# 断言assert condition,"错误信息"

Read more

Python IDLE 使用教程 一文让你掌握Python3.8 自带的集成开发环境的使用

Python IDLE 使用教程 一文让你掌握Python3.8 自带的集成开发环境的使用

说明:本教程聚焦IDLE(Python自带的集成开发环境)的常用功能,帮助你快速上手。 本文中使用的截图软件为Snipaste(免费好用) 详细使用步骤可以移步我的另一篇博客 Snipaste安装使用教程 📑 目录 * 一、启动IDLE * 二、Shell交互模式 * 三、编辑器使用 * 四、调试功能 * 五、实用技巧 * 六、常见问题 一、启动IDLE 1.1 三种启动方式 方式一:开始菜单(Windows) 1. 点击"开始"菜单 2. 找到 Python 3.x 文件夹 3. 点击 IDLE (Python 3.x) ######方式二:搜索启动

By Ne0inhk

双重机器学习之因果推断 | CATE条件平均处理效应估计:五大方法原理详解与模拟数据实战(python版)

家人们我又更新了,代码和科研绘图在论文末尾,欢迎大家评论点赞和收藏,你们的认可是我坚持的动力,祝大家科研顺利。 因果推断 | CATE条件平均处理效应估计:五大方法原理详解与模拟数据实战 本文是因果推断系列文章。本篇聚焦 CATE(Conditional Average Treatment Effect,条件平均处理效应) 的估计,从ATE的局限性讲起,深入介绍S-Learner、T-Learner、X-Learner、因果森林DML和线性DML五种主流方法的原理,并在模拟数据上进行完整的代码实操与效果对比。 1 从ATE到CATE:为什么需要异质性处理效应? 1.1 ATE只能回答"平均有没有用" ATE(Average Treatment Effect)回答的是:干预措施对整个群体的平均效果是什么? 但在实际业务中,我们更想知道的是:对于不同的个体或子群,干预效果有什么不同? 举几个例子: * 精准营销:给所有人发满减券ATE为正,但拆开看,高消费用户根本不需要券,低消费用户反而是增量用户——CATE帮你找到真正的增量人群。 * 个性化医疗:

By Ne0inhk
【2026 最新】Python 与 PyCharm 详细下载安装教程 带图展示(Windows 版)

【2026 最新】Python 与 PyCharm 详细下载安装教程 带图展示(Windows 版)

前言 Python 是当今最流行的编程语言之一,广泛应用于 Web 开发、数据分析、人工智能、自动化脚本等领域。而 PyCharm 作为 JetBrains 公司推出的 Python 专业集成开发环境(IDE),凭借智能代码补全、调试器、虚拟环境管理、版本控制集成等强大功能,成为众多开发者首选工具。 本教程专为 Windows 系统用户 编写,将手把手指导你完成 Python 解释器 和 PyCharm IDE 的下载、安装与基础配置,助你快速搭建本地 Python 开发环境。 一、Python 下载与安装 1.1 访问 Python 官网 打开浏览器,访问 Python 官方网站:Download

By Ne0inhk
Python深度学习环境配置(Pytorch、CUDA、cuDNN),包括Anaconda搭配Pycharm的环境搭建以及基础使用教程(保姆级教程,适合小白、深度学习零基础入门)

Python深度学习环境配置(Pytorch、CUDA、cuDNN),包括Anaconda搭配Pycharm的环境搭建以及基础使用教程(保姆级教程,适合小白、深度学习零基础入门)

全流程导览 * 一、前言 * 二、基本介绍 * 2.1全过程软件基本介绍 * 2.1.1 Pytorch * 2.1.2 Anaconda * 2.1.3 Pycharm * 2.1.4 显卡GPU及其相关概念 * 2.1.5 CUDA和cuDNN * 2.2 各部分相互间的联系和安装逻辑关系 * 三、Anaconda安装 * 3.1安装Anaconda * 3.2配置环境变量 * 3.3检验是否安装成功 * 四、Pycharm安装 * 五、Anaconda和Pycharm的基本使用 * 5.1Anaconda的基本使用 * 5.1.1Anaconda的一些基本指令 * 5.1.2有关下载源的一些指令和说明

By Ne0inhk