前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >最新!想学CPython,Python之父Guido亲上阵

最新!想学CPython,Python之父Guido亲上阵

作者头像
量化投资与机器学习微信公众号
发布2020-02-20 17:43:24
7670
发布2020-02-20 17:43:24
举报
文章被收录于专栏:量化投资与机器学习

就在刚刚(2020年2月10日),Python之父Guido van Rossum在其个人Blog中发布了他对CPython学习的帮助教程。下面让我们一睹为快吧!

1

你需要了解的!

1、你必须知道C语言!

  • 大多数stdlib是用Python编写的,我们也需要doc帮助

2、你必须了解Git和GitHub!

  • 如果不会,请看这:

https://devguide.python.org/gitbootcamp/

3、你必须有10年以上的Python经验!

  • 开个玩笑

2

入门文档

▌核心教程,先从这里开始:

https://cpython-core-tutorial.readthedocs.io/en/latest/

同时大神告诉我们:要找到一个简单的问题,坚持是关键:-)

▌DevGuide:

▌https://devguide.python.org/

  • Fork the repo:https://devguide.python.org/#quick-reference
  • 学习Git:https://devguide.python.org/gitbootcamp/
  • 帮助:https://devguide.python.org/help/
    • Zulip:https://python.zulipchat.com/login/
    • Core mentorship:https://www.python.org/dev/core-mentorship/
    • IRC: '#python-dev on freenode.net'

3

选择你的第一个项目

大神说:这取决于你的经验和自信程度!

▌寻找一个尚未解决的问题:

▌https://bugs.python.org/

4

Workflow

▌Git设置

1、如果你还没有GitHub账号,请登录GitHub.com

2、在GitHub上调用Python/CPython repo,点击Fork按钮(右上角):

3、在本地克隆你的fork:

代码语言:javascript
复制
`git clone git@github.com:YOURUSERNAME/cpython.git`
`cd cpython`

4、配置upstream remote,现在你可以用“git push”和“git pull”来push/pull你的fork:

代码语言:javascript
复制
git remote add upstream https://github.com/python/cpython/

5、创建一个分支工作

DON’T WORK ON MASTER!

代码语言:javascript
复制
git checkout upstream/master -b YOURBRANCHNAME

或者

代码语言:javascript
复制
git checkout origin/master -b YOURBRANCHNAME

▌Python构建设置

1、在Mac上,安装Xcode,如果还没有安装:

  • 在SPRINT之前做这件事,需要很长时间。
  • 打开Xcode一次,安装命令行工具(make, compiler等)
  • ./configure --with-pydebug
  • make(或者 make -j 以利用所有CPU)

▌编辑-测试-调试,C版本

1、编辑一个 .c 或 .h 文件等

2、make

3、./python.exe 给出交互提示

4、./python.exe -m test [flags] testname …

5、运行所有测试:./python.exe -m test (需要很长时间)

▌编辑-测试-调试,Python版本(和C类似,没有make步骤)

1、编辑一个 .py 文件

2、./python.exe 给出交互提示

3、./python.exe Lib/test/regrtest.py [flags] testname …

4、运行所有测试:./python.exe Lib/test/regrtest.py(需要很长时间)

▌调试Python代码

1、最简单的:用 print()

2、其次,用 breakpoint()

▌调试C代码

1、如果你有Python代码来重现问题,请先尝试前面的部分(调试Python代码)。

2、最简单的:用 printf()

3、GDB (Linux):https://wiki.python.org/moin/DebuggingWithGdb

  • $ gdb ./python.exe … (gdb) run SCRIPTNAME.py ARGUMENT …
  • $ gdb -ex r --args python SCRIPTNAME.py ARGUMENT …

4、lldb (Mac):

  • $ lldb ./python.exe … (lldb) run SCRIPTNAME.py ARGUMENT …
  • $ lldb ./python.exe -- SCRIPTNAME.py ARGUMENT … … (lldb) run

5、Windows:在Visual Studio中使用调试器(而不是VS代码)

▌https://docs.microsoft.com/en-us/visualstudio/python/debugging-mixed-mode-c-cpp-python-in-visual-studio?view=vs-2019

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档