![]() |
1
3
这不是一个可变/不变的问题,而是一个范围。 “B”只存在于fun1和fun2体中。它不在主要或全球范围内(至少是有意的) --编辑——
(来自我在终端的翻译) 我猜你的“B”是在别的地方初始化的。在另一个函数中发生的事情对这个没有影响。 这是我运行您的确切代码:
|
![]() |
2
1
正如其他人指出的,没有名字'
断言代码行为的更好方法是对其进行单元测试。单元测试在Python中非常容易,并且是一个很好的习惯。几年前,当我第一次开始编写Python时,我和他搭档的那个人坚持要测试所有东西。从那天起,我就一直在使用Python调试器。我离题了… 考虑:
这些单元测试中的每一个都通过并记录了您的函数的行为(除了打印,如果需要,您还可以为这些测试添加测试)。它们还为您编辑代码提供了一个工具,因为如果您破坏了某个代码,它们应该继续通过或开始失败。
我没有单元测试
|
![]() |
3
-1
问题可能与列表和元组之间的差异有关。在fun2中,不要将括号放在a、b周围。 在fun2a中,返回两个对象的元组,而不是列表。如果您正试图解决这个问题,那么python应该正确地编写变量。 另外,当从未定义b时,您使用参数b调用了fun2。当然,fun2的参数从来没有实际使用过,因为它是在读取之前重写的。 最后,您的代码应该如下所示:
应该同时打印[3,2,1]。 |