循环内带有默认参数的 Python 函数

标签 python python-2.7

for i in range(5):
   def test(i=i):
      print(i)

test()
test()
test()
test()
test()

这每次打印 4?谁能帮助我理解这一点。

最佳答案

您重新定义了 test 4 次:

同于:

#define test
def test(i = 0):
    print(i)

#redefine test
def test(i = 1):
    print(i)

#redefine test
def test(i = 2):
    print(i)

#redefine test
def test(i = 3):
    print(i)

#redefine test
def test(i = 4):
    print(i)

所以你只有 1 个 test() 最后一个。

关于循环内带有默认参数的 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632891/

相关文章:

python - 如何让 Minio-client(来自主机)与 Minio-server(docker 容器)通信?

Python正则表达式在同一行中查找短语

python - python、postgresql中的数据库测试

python - 给定列的 Numpy 最小值

python - 如何在 webapp2 下对具有相同名称的多个复选框的发布请求进行单元测试

python - sqlalchemy 的查询返回 AttributeError : 'NoneType' object

python - 如何在 Django 上使用 GeoIP 查询 ASN 以获得已知 IP 地址?

Python:将多个 YAML 文档转换为 JSON

python - 如何在 scipy 中创建数学表达式?

linux - Python-2.7 写入文件