社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python函数字典调用每个函数

Ken • 5 年前 • 1610 次点击  

这是我的密码:

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
 
1610 次点击  
文章 [ 2 ]  |  最新文章 5 年前
pierogi
Reply   •   1 楼
pierogi    5 年前

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

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

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

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

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

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

self.switcher[1]()

注意 () 这就可以了。