网上的量化策略代码层出不穷,但大多聚焦于策略逻辑的实现,很少有教程结合 PTrade 工具,从 Python 底层语法原理讲起。如果只会复制粘贴策略代码,不理解语法规则,遇到需求调整、bug 排查时就会无从下手。
授人以鱼不如授人以渔。本系列将以 PTrade 为实践载体,循序渐进带你吃透 Python 核心语法,让你不仅能读懂策略逻辑,更能自主修改、编写量化策略。
本篇作为系列开篇,我们先从 Python 最基础也最容易踩坑的三条语法铁律讲起 ——缩进、顺序、标点,违反任意一条都会导致程序直接崩溃。
一、缩进:Python 的语法生死线
在 C、Java 等语言中,代码缩进只是优化可读性的排版手段,但在 Python 中,缩进是强制的语法规则,是划分代码块的唯一标识。它就像乐高积木的拼接凸起,错位一块就会导致整个结构崩溃。
核心规则
- Python 官方标准为 4 个空格 作为一级缩进
正确示例
def 真正的勇士(): # 统一缩进4个空格,层级一致 print("缩进四个空格,正常运行") print("同层级代码对齐无误")
错误示例
def 真正的勇士(): print("缩进四个空格") print("缩进三个空格") # 缩进不一致,触发报错
运行后会直接抛出 IndentationError 错误,程序终止执行。
二、顺序执行:代码世界的运行法则
Python 解释器始终遵循从上到下、逐行执行的逻辑,如同严格按清单办事的管家,不会跳过也不会调换顺序。调整代码的先后顺序,运行结果可能会完全不同。
顺序对比示例
# 顺序1print("先喝奶茶")print("再写代码")
输出结果:
# 顺序2print("再写代码")print("先喝奶茶")
输出结果:
重要提示:变量、函数必须遵循先定义、后使用的原则。如果在定义前就调用变量或函数,会触发 NameError 报错。
三、标点刺客:中文符号的致命陷阱
中文标点是 Python 新手最高发的错误来源。Python 解释器仅识别英文标点,只要出现中文引号、逗号、括号、感叹号等符号,就会直接报语法错误。
错误示例(中文符号)
print(“Hello world!”) # 括号、引号、感叹号均为中文,直接报错
报错信息:
SyntaxError: invalid character '“' (U+201C)
正确示例(英文标点)
print("英文双引号安全")print('英文单引号也可以')print("逗号, 句点. 全部使用英文符号")
输出结果:
英文双引号安全英文单引号也可以逗号, 句点. 全部使用英文符号
实操建议:编写代码时请保持输入法为英文状态,一个中文逗号就足以让整个策略脚本无法运行。
常见语法错误总结
写在最后
以上就是 Python 入门必须严守的三条语法铁律,也是在 PTrade 中编写量化策略最容易踩的基础坑。建议大家打开 PTrade 亲手敲一遍示例代码,亲手验证正确与错误的运行差异,把基础语法规范养成习惯。
后续我们将继续结合 PTrade 讲解 Python 数据类型与基础操作,欢迎持续关注。
关于作者
一个量化er,专注于QMT miniQMT PTrade量化与技术分享研究,兼顾量化平台信息分享,内容干货而实用,用数据量化市场,用代码构建策略👇关注+星标公众号 第一时间看到推文👇
如果文章对你有帮助,还请点「推荐」支持一下作者
--- End ---