深圳融克迪特科技有限公司 Logo,金融科技,量化交易,软件开发

深圳融克迪特科技有限公司

RONG CREDIT TECHNOLOGY CO., LTD.

基础入门

【Python 系列 第1讲】环境检查:先打印一组收盘价

本讲用一个最小 Python 脚本完成环境检查:先确认解释器命令可用,再稳定打印一组固定收盘价,帮助初学者在进入列表、循环和函数前先把运行基线立住。

2026-04-22 智铨研究 阅读时长 6 分钟

目录

Python · 入门短课

  1. 第 1 讲【Python 系列 第1讲】环境检查:先打印一组收盘价
  2. 第 2 讲【Python 系列 第2讲】列表和字典:装下价格与日期
  3. 第 3 讲【Python 系列 第3讲】for循环:批量计算日收益率
  4. 第 4 讲【Python 系列 第4讲】函数封装:写一个收益率计算器
  5. 第 5 讲【Python 系列 第5讲】条件判断:筛出上涨交易日
  6. 第 6 讲【Python 系列 第6讲】CSV读写:保存再读回价格表
  7. 第 7 讲【Python 系列 第7讲】异常处理:避开空值和除零
  8. 第 8 讲【Python 系列 第8讲】生成一份行情摘要

一、这一讲为什么故意做得这么小

很多人第一次学 Python 时,最容易忽略的不是语法,而是环境。表面看,环境问题好像只是安装软件和输命令,没什么技术含量;实际上,入门阶段最常见的卡点恰恰都在这里。你以为是代码写错了,结果是解释器没装好;你以为是循环没生效,结果是脚本根本没运行到;你以为是输出格式不对,结果是终端压根没指向你写的那个文件。

所以第 1 讲故意把任务压到最小,不装第三方库,不读外部数据,不连接口,不做复杂计算,只做一件很小却非常关键的事:确认你的 Python 环境真的能稳定执行一段脚本,并打印出一组固定的收盘价。这个动作看起来简单,但它会成为后面整套课程的共同起点。只要这里没跑通,后面学列表、字典、循环、函数、文件读写时,你永远很难判断到底是代码问题,还是环境问题。

真正有效的入门,不是第一天就跑复杂程序,而是先把最小执行链路跑顺。你能看到解释器版本,能写一个脚本,能在终端里执行它,能对照预期输出确认结果正确,这一套流程一旦打通,后面每一步学习都会清楚很多。

二、这一步到底在验证什么

表面上看,我们只是要打印三行收盘价,实际上这一步同时验证了四件事。

第一,验证你的机器上已经有可用的 Python 解释器。第二,验证你知道如何在终端里调用它。第三,验证你能把代码保存成一个脚本文件,并让解释器正确找到这个文件。第四,验证你已经可以得到稳定、可预期的输出,而不是“反正终端里有东西出来就算成功”。

很多初学者一开始不太重视“可预期输出”这件事。他们更关注“我是不是把命令敲进去了”,但真正能帮你建立信心的,是看到一组明确、固定、可核对的结果。因为只有在输出是确定的情况下,你才知道程序到底有没有按你的意图执行。也正因为如此,第 1 讲不追求功能性,而是追求确定性。你要先学会把一个极小的程序跑得又稳又准,后面才谈得上逐步扩展。

三、开始前只做一件准备:确认 Python 命令能用

这一步不需要任何第三方库,也不需要准备行情文件。开始之前,先打开终端,执行下面其中一条命令:

python --version

如果你的系统不是用 python 这个命令,而是用 python3,那就执行:

python3 --version

只要你能看到类似 Python 3.11.9 这样的版本输出,就说明解释器入口基本可用。此时不必纠结编辑器、虚拟环境、包管理器这些更后面的内容,先把“命令能运行”这一件事确认下来就够了。很多人喜欢在一开始同时处理太多事情,结果一个问题没解决,又叠上另一个问题。第 1 讲最重要的就是收缩范围,只检查最基础、最确定的一层。

四、操作步骤:三步完成最小环境检查

这一部分虽然只分成三小步,但本质上是在把“写脚本、运行脚本、核对输出”这条最小执行链路一次串起来。只要这三步是连续打通的,后面遇到任何新问题时,你都能更快判断是环境没就绪,还是代码本身出了偏差。

4.1 1 新建一个最小脚本文件

新建一个文件,命名为 check_env.py,写入下面这段代码:

prices = [12.34, 56.78, 90.12]
for price in prices:
    print(f"收盘价: {price:.2f}")

这段代码很短,但已经覆盖了 Python 入门里最常见的几个基本元素:列表、for 循环和格式化输出。这里故意只放三个价格,重点不是数据量,而是让你一眼就能判断结果对不对。若一开始就把样本弄得很长,输出一大串数字,初学者反而更难定位错误。

4.2 2 在终端里运行脚本

如果你当前终端所在目录就是这个脚本所在目录,直接执行:

python check_env.py

若你的环境使用的是 python3,则执行:

python3 check_env.py

这一步的重点,不是死记命令形式,而是确认一件事:脚本能被解释器正确找到并执行。若命令跑起来了,你就已经把“写文件”和“运行文件”这两件最基础的事情串起来了。

4.3 3 核对输出是否与预期一致

正常情况下,终端应打印下面三行:

收盘价: 12.34
收盘价: 56.78
收盘价: 90.12

只要输出顺序、数值和小数位数都对,就说明当前环境已经具备进入下一讲的基础。这里特别要注意,不是“有三行数字出来就算过”,而是必须和预期完全一致。因为这一步本来就在验证最基础的执行准确性。

五、为什么示例里一定要用固定输出,而不是直接连行情接口

很多人会问,既然我们后面是做量化相关学习,为什么第 1 讲不直接读取真实价格,而是用一组手工写死的数值?原因恰恰在于,真实数据会引入太多额外变量。你一旦开始读文件、连接口、处理编码或网络问题,眼前出现的每一个错误都可能来自不同层面。初学者这时最容易崩溃,因为他根本不知道该先排查哪一层。

固定输出的好处在于,把问题范围压到极小。代码错就是代码错,环境错就是环境错,路径错就是路径错。你不需要同时怀疑 API 密钥、网络连接、数据列名、文件路径和时间格式。对入门者而言,这种“把影响因素减到最少”的训练非常重要。它不仅能帮你快速起步,也能帮你形成一种更稳的学习顺序:先确认脚本能跑,再引入外部数据;先确认输出稳定,再讨论业务逻辑。

六、怎样判断这一步真的完成了

第 1 讲的完成标准其实很直接,但很多人会把它想得含糊。真正的完成,不是“我大概懂了”,也不是“我在编辑器里看懂了代码”,而是下面几件事同时满足。

第一,你能在终端里查到 Python 版本。第二,你能保存一个 .py 文件。第三,你能在终端里运行这个脚本。第四,终端输出和预期完全一致。只要这四步都做到,第 1 讲就算真正完成。

如果你只做到其中一部分,比如版本查到了,但脚本运行时报错;或者脚本能运行,但输出格式不对;都不算过关。因为这一步的目的本来就是把整条最小执行链路跑顺。只有整条链路都成立,后面的学习才有统一起点。

七、最常见的几种卡点,其实都不在语法本身

这一步最常见的问题通常不在代码逻辑,而在命令、路径和解释器入口上。

第一种情况,是终端提示 python 不是内部或外部命令。这通常说明 Python 没加到系统路径,或者当前系统只认 python3。这时先试 python3 --version,不要急着改代码。第二种情况,是脚本明明写了,运行时却说找不到文件。这通常不是代码问题,而是终端当前目录和脚本所在目录不一致。第三种情况,是输出里小数位数不对,往往是把 print(f"收盘价: {price:.2f}") 写成了普通字符串,或者少写了前面的 f。第四种情况,是代码看着没问题,运行却报 SyntaxError。这通常是括号、引号或缩进写错了,和量化逻辑完全无关。

这些问题看起来琐碎,但它们恰恰是入门阶段最该尽早解决的。因为你越早学会区分“环境问题”和“代码问题”,后面学习效率越高。第 1 讲真正要帮你建立的,不只是运行一个脚本的能力,更是定位问题的起点意识。

八、把环境检查写成一个小函数,会让你以后排查更省力

虽然这一讲不强调函数,但你可以顺手把环境检查改成一个小入口,这样以后回头复查环境时更方便:

def run_env_check():
    prices = [12.34, 56.78, 90.12]
    for price in prices:
        print(f"收盘价: {price:.2f}")


run_env_check()

这段写法和前面的效果一样,但多了一层好处:你开始接触到“把一组动作封装起来”的思路。后面不管是收益率计算、文件读取还是策略回测,这种把操作打包成函数的习惯都会反复用到。入门阶段越早建立这种结构感,后面写代码越不容易乱。

九、这一讲真正建立的,是“先验证,再继续”的学习顺序

很多初学者一开始会急着进入更复杂的内容,想尽快看到更像“量化程序”的东西。但如果连最基本的脚本执行都还没稳定,后面的每一步都会被外部问题干扰。第 1 讲真正建立的,不只是一个能打印收盘价的小程序,而是一种更稳的学习顺序:先确认解释器、脚本路径和输出格式都正常,再把注意力放到数据结构和计算逻辑上。

这个顺序看起来保守,但它会让你后面的每一步都更容易定位问题。你之后再遇到错误时,就不会一上来怀疑所有东西,而是能先判断:是环境链路断了,还是代码逻辑错了。对真正想把 Python 学扎实的人来说,这种判断力比一开始多学几个语法点更重要。

十、为什么这一讲值得顺手练一次“改一个值再复跑”

环境检查如果只跑一次,有时会给人一种错觉,好像终端里有结果出来就已经足够了。更稳的做法,是在第一次成功之后,主动把列表里的一个价格改掉,再重新运行一次,确认输出会跟着发生对应变化。这个动作看起来非常小,但它能帮你确认一件更关键的事:你现在修改的确实是正在被执行的那个脚本,而不是误改了别的文件、或者终端还停留在旧路径下。

很多初学者刚开始时最常见的一种困惑,就是“我明明改了代码,为什么结果没变”。这类问题并不罕见,而且通常不是 Python 语法问题,而是编辑器里的文件、终端当前目录和实际执行文件不一致。第 1 讲正好很适合提前把这种风险暴露出来。只要你在成功打印后再做一次微小修改并复跑,看到输出同步变化,就等于进一步确认了这条最小执行链路不仅能跑,而且你已经真的能控制它。

从学习方法上看,这种“微调后立刻复测”的习惯也特别值得尽早建立。后面学列表、循环、函数、文件读写时,你会反复依赖这种最小迭代动作,而不是一口气改很多再一次性运行。越早养成,越不容易把问题越攒越大。

十一、为什么环境检查通过后,最好把终端命令也记成你的第一份固定模板

很多人完成环境检查后,会把注意力全部放回代码本身,却忽略了另一个同样应该固定下来的东西:终端里的最小运行命令。比如 python check_env.pypython3 check_env.py,看起来只是一次性命令,但它实际上就是你后面整套 Python 学习的第一份固定模板。只要这条命令已经稳定、可靠,你接下来很多练习都只是在替换脚本文件名,而不是每次重新摸索入口。

这件事很实用,因为初学者早期很容易把“写代码”和“运行代码”混成一个模糊动作。其实它们是两步。写代码是在编辑器里完成,运行代码是在终端里通过一个确定命令完成。只要你把这条命令模板先固定下来,后面每进入一个新练习时,心里都会更稳,因为你至少知道运行层没有重新变成未知数。

所以,第 1 讲的完成不只是脚本跑通,还意味着你已经拿到了自己的第一条稳定执行模板。这种小而确定的模板,对后面持续学习非常重要。

十二、为什么这一讲的真正验收,不该靠“我看懂代码了”来替代

初学者很容易出现一种心理错位:觉得自己把代码每一行都读懂了,好像这就等于已经完成了练习。可在编程学习里,理解代码和真正完成练习并不是同一回事。尤其是环境检查这一讲,它的核心目标本来就不是理解列表和循环,而是把编辑器、脚本文件、终端命令和输出结果真正串成一条可执行链路。只靠“我大概看懂了”是无法替代这条链路的。

这也是为什么第 1 讲要反复强调终端输出必须和预期一致。因为只有真的运行过,你才能知道解释器是否可用、路径是否正确、命令是否有效、代码是否被当前文件正确加载。所有这些信息,单靠阅读代码是得不到的。对学习 Python 来说,这一步几乎像是从“看说明书”跨到了“亲手点火”。

只要这层区别先建立,后面你学任何新概念都会更扎实。你不会再满足于“似乎懂了”,而会更自然地问:我能不能把它真的运行出来,能不能稳定复现,输出是否符合预期。这个习惯对后面的整个系列都非常重要。

再往前走一步,这种验收意识还会直接影响你后面调试代码的方式。你会更倾向于让每一小步都有明确结果,而不是凭印象判断“应该差不多”。这正是编程学习从模糊理解走向可重复操作的起点。

十三、总结

这一讲的任务很小,却非常关键。你不需要联网,不需要安装第三方库,也不需要准备任何外部数据,只要完成一个最小脚本并确认输出正确,就已经把后面学习最重要的地基搭起来了。只要你现在能在终端里运行 check_env.py,并稳定打印出三行带两位小数的收盘价,那么第 1 讲就算真正完成。

十四、系列衔接

本讲是《Python量化入门短课》的第 1/8 讲,当前主题是《Python环境检查:先打印一组收盘价》。这是整个系列的起点,目标不是做复杂功能,而是把后面会反复用到的最小执行基线先立住。下一讲将进入《列表和字典:装下价格与日期》,开始把一组简单价格组织成更像样的数据结构,为后面的收益率计算和循环处理做准备。

十五、风险揭示与免责声明

风险揭示与免责声明

本页面内容仅用于量化研究与技术交流,旨在展示研究方法与流程,不构成对任何金融产品、证券或衍生品的要约、招揽、推荐或保证。

本文所涉历史数据、回测结果与示例参数不代表未来表现,也不应作为投资决策依据。

市场存在波动、流动性与执行偏差等不确定性,任何策略均可能出现收益波动或阶段性失效。

读者应结合自身风险承受能力进行独立判断,并在必要时咨询持牌专业机构意见。