Py学习  »  Python

Python函数字典调用每个函数

Ken • 6 年前 • 2156 次点击  

这是我的密码:

class Calculator():
    def __init__(self):
        number = input()
        self.switch_case(number)

    def switch_case(self, number):
        switcher = {
            1: self.one(),
            2: self.two(),
        }

    def one(self):
        print("something")

    def two(self):
        print("something")

出于某种原因,即使我只输入值1作为输入,它也同时调用函数one()和two()。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56170
文章 [ 2 ]  |  最新文章 6 年前
pierogi
Reply   •   1 楼
pierogi    6 年前

某物 两次,然后将从方法返回的值分配给dict(在本例中为None,因为方法只打印,不返回任何内容)。

Klaus D.
Reply   •   2 楼
Klaus D.    6 年前

实际上它什么也不叫。你所呈现的代码永远不会运行。

但是如果你想创造一个 Calculator __init__ 是跑然后跑 switch_case

如果此时不想运行它们,请删除括号:

switcher = {
        1: self.one,
        2: self.two,
        }

self.switcher[1]()

注意 () 这就可以了。