Python 核心语法与内置函数手册
一、变量定义与数据类型
1.1 基础数据类型(不可变)
- 整数:
int,包含正整数 / 负整数 / 0,支持任意长度,无溢出限制 - 浮点数:
float,小数形式,支持科学计数法,示例:3.14、5.2e3(等价 5200) - 布尔值:
bool,仅两个值True/False,本质是int子类,True=1、False=0,可参与数值运算
档系统介绍了 Python 核心语法与内置函数,涵盖变量数据类型、运算符、流程控制、函数定义、面向对象编程及文件操作等内容。包含列表推导式、异常处理等高级特性,并整理了高频内置函数用法,适用于 Python 入门学习与日常开发速查。
int,包含正整数 / 负整数 / 0,支持任意长度,无溢出限制float,小数形式,支持科学计数法,示例:3.14、5.2e3(等价 5200)bool,仅两个值 True/False,本质是 int 子类,True=1、False=0,可参与数值运算str,不可变序列,单引号 / 双引号包裹单行,三引号 """..."""/'''...''' 包裹多行None,首字母必须大写,代表空对象,判断空必须用 is Nones='abc'; s[0]='A' 会报错+ 号拼接字符串,* 号重复字符串,示例:'py'+'thon' → 'python'、'a'*3 → 'aaa'f-string(Python3.6+ 推荐),示例:f'姓名:{name},年龄:{age}'strip() 去首尾空格、split() 分割字符串、join() 拼接序列、replace() 替换字符、find() 查找索引、切片取值| 类型 | 定义格式 | 核心特性 | 常用操作 |
|---|---|---|---|
| 列表(list) | [] | 可变有序序列,元素可重复、可存任意类型 | append()/insert()/pop()/remove()/sort()/reverse() |
| 元组(tuple) | () | 不可变有序序列,元素可重复,单个元素需加逗号 (5,) | 索引取值、切片,无增删改操作 |
| 字典(dict) | {键:值} | 可变键值对(Python3.7+ 有序),键唯一且不可变 | dict[key] 取值、dict[key]=value 增改、keys()/values()/items() |
| 集合(set) | {} | 可变无序无重复序列,无索引 | add()/remove()、& 交集、` |
int(x):转为整数,浮点数转整数舍弃小数位,示例:int(3.9)→3float(x):转为浮点数,示例:float(5)→5.0str(x):转为字符串,任意类型均可转换,示例:str(True)→'True'bool(x):转为布尔值,空值 / 0 / 空容器为 False,其余为 Truelist(x):转为列表,可迭代对象均可转换,示例:list('abc')→['a','b','c']tuple(x):转为元组,转换后不可变dict(x):转为字典,需传入键值对格式数据,示例:dict([('a',1),('b',2)])→{'a':1,'b':2}set(x):转为集合,自动去重,示例:set([1,1,2])→{1,2}| 运算符 | 作用 | 示例 |
|---|---|---|
+ | 加法 / 字符串拼接 / 列表合并 | 1+2=3、'a'+'b'='ab' |
- | 减法 | 5-3=2 |
* | 乘法 / 字符串重复 | 2*3=6、'a'*3='aaa' |
/ | 精确除法(返回浮点数) | 7/2=3.5 |
// | 整除(向下取整) | 7//2=3、-7//2=-4 |
% | 取余(模运算) | 7%2=1 |
** | 幂运算 | 3**2=9、2**0.5=√2 |
=,示例:a=10+=、-=、*=、/=、//=、%=、**=,示例:a+=5 等价 a=a+5==(值相等)、!=(值不等)、>、<、>=、<=not > and > or,短路运算)and:两边都为 True 则返回 Trueor:任意一边为 True 则返回 Truenot:取反,示例:not 0→Truein:判断元素是否在容器内,示例:'a' in ['a','b']→Truenot in:判断元素是否不在容器内is:判断两个对象内存地址相同,判断 None 必用,示例:a is Noneis not:判断两个对象内存地址不同== 判值相等,is 判地址相等switch 语法)值 1 if 条件 else 值 2,示例:'及格' if score>=60 else '不及格'多分支语法:
if 条件 1:
代码块 1
elif 条件 2:
代码块 2
else:
代码块 3
基础语法:
if 条件表达式:
执行代码块
for 变量名 in 可迭代对象:执行代码块range() 等range() 生成序列:range(start, end, step),左闭右开,示例:range(5)→0,1,2,3,4for k in dict: 代码块for v in dict.values(): 代码块for k,v in dict.items(): 代码块for 索引,元素 in enumerate(可迭代对象,start=0): 代码块True 时持续执行,需手动修改条件变量避免死循环基础语法:
while 条件表达式:
执行代码块
break:强制终止当前单层循环continue:跳过本次循环剩余代码,进入下一次循环判断else:循环正常结束时执行,被 break 终止则不执行| 类型 | 语法格式 | 示例 |
|---|---|---|
| 列表推导式 | [表达式 for 变量 in 可迭代对象 if 条件] | [i*3 for i in range(5) if i>2] → [9,12] |
| 字典推导式 | {键表达式:值表达式 for 变量 in 可迭代对象 if 条件} | {k:v+1 for k,v in {'a':1}.items()} → {'a':2} |
| 集合推导式 | {表达式 for 变量 in 可迭代对象 if 条件} | {i%2 for i in range(4)} → {0,1} |
| 生成器表达式 | (表达式 for 变量 in 可迭代对象 if 条件) | g=(i*2 for i in range(3)) → 生成器对象 |
函数名 (实参列表)help(函数名) 可查看注释内容定义语法:
def 函数名 (形参列表):
'''函数文档注释'''
函数体代码
return 返回值
return 关键字:执行到 return 立即结束函数,后续代码不执行return:函数默认返回 Nonereturn 1,2,3 → (1,2,3)| 参数类型 | 定义格式 | 核心特点 |
|---|---|---|
| 位置参数 | def func(a,b): | 按顺序传参,个数、顺序必须一致 |
| 关键字参数 | func(b=2,a=1) | 按参数名传参,顺序可任意 |
| 默认参数 | def func(a,b=10): | 调用时可省略,必须放在位置参数后 |
| 可变位置参数 | def func(*args): | 接收任意位置参数,打包为元组 |
| 可变关键字参数 | def func(**kwargs): | 接收任意关键字参数,打包为字典 |
* 解包序列、** 解包字典,示例:func(*[1,2]) 等价 func(1,2)lambda 参数列表:表达式map/filter 等高阶函数使用,示例:lambda x,y: x*yglobal 关键字:函数内声明并修改全局变量nonlocal 关键字:嵌套函数内修改外层函数变量class 类名 (父类=object): 类体代码对象名 = 类名 (参数)__init__(self, 参数),创建对象时自动执行,用于初始化属性self 关键字:代表当前对象,类内调用属性 / 方法必须加 selfself.属性名=值,每个对象独立拥有class Person: type='人类'| 方法类型 | 定义格式 | 调用方式 |
|---|---|---|
| 实例方法 | def 方法名 (self, 参数): | 对象调用,操作实例属性 |
| 类方法 | @classmethod def 方法名 (cls, 参数): | 类 / 对象调用,操作类属性 |
| 静态方法 | @staticmethod def 方法名 (参数): | 类 / 对象调用,与类和对象无关 |
self.__属性名,外部无法直接访问def __方法名 (self):,外部无法直接调用class 子类名 (父类名):,子类继承父类公有属性和方法class 子类名 (父 1,父 2):,按顺序查找属性 / 方法super() 关键字:子类调用父类方法,示例:super().父类方法 ()@property:将方法转为只读属性,调用时无需加括号,示例:对象。方法名序列 [起始索引:结束索引:步长],核心规则:左闭右开'python'[::-1]→'nohtyp'a,b,c=[1,2,3]* 接收剩余元素,示例:a,*b=[1,2,3]→a=1,b=[2,3]** 解包键值对,仅用于函数传参,示例:func(**{'a':1})raise 异常类型 (错误信息),示例:raise ValueError('数值必须大于 0')except Exception:,捕获所有常规异常基础语法结构:
try:
可能报错的代码
except 异常类型 as e:
报错后的处理代码
else:
无报错时执行的代码
finally:
无论是否报错都执行的代码
open(文件路径,打开模式,encoding='utf-8')r:只读(默认)w:覆盖写,无则创建,有则清空a:追加写,无则创建r+:读写f.read()(读全部)、f.readline()(读一行)、f.readlines()(读所有行)f.write(内容)、f.writelines(列表)安全写法(上下文管理器):
with open('test.txt','r',encoding='utf-8') as f:
content = f.read()
特性:自动关闭文件,无需手动调用 f.close()
# 开头,注释单行内容"""...""" 或 '''...''' 包裹,本质是字符串常量| 函数 | 功能说明 | 示例 |
|---|---|---|
print() | 控制台输出,支持多参数、sep、end | print(1,2,sep='-')→1-2 |
input() | 接收用户输入,返回字符串 | age=int(input('输入年龄:')) |
len(obj) | 获取容器 / 对象长度 | len({'a':1})→1 |
type(obj) | 返回对象精确类型 | type([1,2])→<class 'list'> |
isinstance(obj,cls) | 判断对象是否为指定类实例(支持继承) | isinstance(5,int)→True |
id(obj) | 返回对象内存地址 | id(None)→固定内存地址 |
| 函数 | 功能说明 | 示例 |
|---|---|---|
sorted(iter,key=None,reverse=False) | 排序可迭代对象,返回新列表 | sorted([3,1,2],reverse=True)→[3,2,1] |
enumerate(iter,start=0) | 遍历返回 (索引,元素) 迭代器 | list(enumerate(['a'],1))→[(1,'a')] |
zip(*iters) | 打包多个可迭代对象,长度取最短 | list(zip([1],['a']))→[(1,'a')] |
max(iter,key=None) | 返回可迭代对象最大值 | max([1,3,2])→3 |
min(iter,key=None) | 返回可迭代对象最小值 | min([1,3,2])→1 |
sum(iter,start=0) | 计算元素和,start 为初始值 | sum([1,2],10)→13 |
reversed(iter) | 反转可迭代对象,返回迭代器 | list(reversed([1,2]))→[2,1] |
| 函数 | 功能说明 | 示例 |
|---|---|---|
abs(x) | 返回数值绝对值 | abs(-3.14)→3.14 |
round(x,n=0) | 四舍五入,n 为小数位数 | round(3.1415,2)→3.14 |
all(iter) | 所有元素为 True 则返回 True | all([1,True])→True |
any(iter) | 任意元素为 True 则返回 True | any([0,False,1])→True |
pow(x,y) | 计算 x 的 y 次幂 | pow(2,3)→8 |
divmod(x,y) | 返回 (x//y, x% y) | divmod(7,2)→(3,1) |
| 函数 | 功能说明 | 示例 |
|---|---|---|
map(func,iter) | 对元素执行 func,返回迭代器 | list(map(lambda x:x*2,[1,2]))→[2,4] |
filter(func,iter) | 过滤符合条件的元素,返回迭代器 | list(filter(lambda x:x>1,[1,2,3]))→[2,3] |
eval(str) | 执行字符串表达式,返回结果 | eval('1+2*3')→7 |
exec(str) | 执行字符串代码块,无返回值 | exec('a=1;print(a)')→1 |
| 函数 | 功能说明 | 示例 |
|---|---|---|
chr(x) | ASCII 码转字符 | chr(65)→'A' |
ord(x) | 字符转 ASCII 码 | ord('a')→97 |
range(start,end,step) | 生成整数序列,左闭右开 | range(5)→0,1,2,3,4 |
hash(obj) | 返回对象哈希值 | hash('abc')→固定哈希值 |
bin(x) | 整数转二进制字符串 | bin(5)→'0b101' |
oct(x) | 整数转八进制字符串 | oct(5)→'0o5' |
hex(x) | 整数转十六进制字符串 | hex(5)→'0x5' |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online