为何在定义函数后将跳转值声明为false?

时间:2019-04-18 16:35:11

标签: python-3.x

我已经开始学习Python并遇到了以下代码:这是leap年计划。 我们为什么要定义leap = False。输出将为true或false。

def is_leap(year):
    leap = False
    return year % 4 == 0 and (year % 400 == 0 or year % 100 != 0)
year = int(input())
print(is_leap(year))

2 个答案:

答案 0 :(得分:1)

此功能中的leap变量甚至都没有使用,并且正如您所假定的那样,该行只是多余的,可以(应该!)删除。

答案 1 :(得分:1)

由于代码中未使用leap=False,因此我们不需要定义def is_leap(year): return year % 4 == 0 and (year % 400 == 0 or year % 100 != 0) year = int(input()) print(is_leap(year)) ,因此只需删除并执行即可。

leap

编写和使用def is_leap(year): leap = year % 4 == 0 and (year % 400 == 0 or year % 100 != 0) return leap year = int(input()) print(is_leap(year)) 的一种不好的方法是

# Parent test class
class BorgQtTestCase():
    def setup_method(self):
        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
            fxn()
            self.form = MainWindow()

        self.dir_path = os.path.dirname(os.path.realpath(__file__))
        self.config_path = os.path.join(self.dir_path,
                                        '../docs/borg_qt.conf.example')

    def mock_return(self):
        return self.config_path

# Working child test class
class TestConfiguration(BorgQtTestCase):
    def test_read_configuration(self, monkeypatch):
        monkeypatch.setattr(self.form.config, '_get_path', self.mock_return)
        self.form.config.read()
        parser = configparser.ConfigParser()
        parser.read(self.config_path)
        assert parser == self.form.config.config