取出某个库钉住的版本

同一份 requirements.txt。 补全后只输出 click 钉住的版本号。

开始练习 →

⚠️ 挑出没钉版本的那一条

这份清单里有一条没有钉版本号,换台机器装出来的可能就不是同一个版本。 补全后只输出那个库的名字。

开始练习 →

一个目录怎样才算一个包

让一个目录能被 import,惯例是在里面放一个【0】。

开始练习 →

__init__.py 里放什么

__init__.py 里最常放的是【0】。

开始练习 →

为什么包里不该有"导入即执行"的代码

包的模块里直接写一句会干活的代码(不放在函数或 __main__ 里),问题是【0】。

开始练习 →

这个包从外面导得进来吗

在包所在的目录里导入它,和换到别处再导入,结果不一样: 换到别处之后报的错,是哪一类?(只填错误类型名) $ cd /tmp/pkg && python3 -c "import mytool; print(myto

开始练习 →

建一个包出来并导入它

补全程序:在当前目录建一个叫 mytool 的包,里面放一个 calc.py,写一个 add 函数,然后导入它并输出 2 加 3 的结果。 ⚠️ 这道题会在工作目录里真的建出文件和目录。

开始练习 →

在 __init__.py 里把函数提上来

这次让外面能直接写 mytool.add(...),不用写到 calc 那一层。 补全后输出 4 加 5 的结果。

开始练习 →

包里放两个模块

在包里再加一个 text.py,写一个 shout(把字符串转成大写)。 补全后输出 shout("ok") 的结果。

开始练习 →

⚠️ 让包里的代码导入时不要自己跑

下面这个模块里有一句导入就会执行的代码,一 import 就打印出来了。 把它挪进 __main__ 判断里,让导入时只输出一行 导入完成。

开始练习 →