首页 > 解决方案 > Python中的“dummy_func”是什么

问题描述

我在应用程序的源代码中看到以下部分。我想知道dummy_funcPython 编程的目的是什么。

它在一个.py名为 的文件00xx_xxxxxxxx_public_id.py中,dummy_func稍后在migrations.RunPython(generate_public_ids, dummy_func),.

任何建议将不胜感激。

...

# Generated by Django 2.2.5 on 2020-xx-xx xx:xx

from django.db import migrations, models

...

def generate_public_ids(apps, schema_editor):
    ...

def dummy_func(apps, schema_editor):
    pass


class Migration(migrations.Migration):

    dependencies = [
       ...
    ]

    operations = [
        migrations.AddField(
            model_name='...',
            name='public_id',
            field=models.CharField(blank=True, db_index=True, max_length=32, null=True, verbose_name='short code public identifier'),
        ),
        migrations.RunPython(generate_public_ids, dummy_func),
    ]

...

标签: python

解决方案


在您编辑后的新上下文中,代码的作者似乎引用了其他人 (OP) 的函数并复制粘贴了 OP 的函数。作者不想使用 OP 创建的第二个参数,但懒得更改 OP 的代码,所以他采用了提供 dummy 参数的惰性方法。

我个人做过几次作者做过的事情。因为,有时时间很重要。删除一个参数需要几行重构,而创建一个虚拟函数只需要两行额外的代码。


顾名思义, pass 语句什么都不做。Python 中的 pass 语句用于语法上需要语句但您不希望执行任何命令或代码时。这就像空操作,因为它被执行什么都不会发生。Pass 语句也可用于编写空循环。Pass 也用于空的控制语句、函数和类。

例子:

def fun():
    pass

推荐阅读