首页 > 解决方案 > 我需要一件衣服 c0de

问题描述

我正在处理 python 中的类,我正在尝试通过调用函数init_vibe_check为 Dev 创建一个着装规范。输出向我显示了一个错误,即init_vibe_check 未定义,它就在函数create_dress_code_for之前。请帮忙!

原始代码:

#
#  15:03 : October 8, 2021
#  By: Your friendly neighborhood SWE ==> ADMINIXTRATOR
#  AIM: Keep world peace by creating a dress code
#

class Dev:
    level = 'Pre-Senior';

    def __init__(self, name, has_vibe):
        self.name = name;   
        self.has_vibe = has_vibe;

class PeaceKeeper:

    def __init__(self, dev):
        super().__init__();
        self.dev = dev;

    def init_vibe_check(self):
        if self.has_vibe == True:
            return True;
        else: return False;

    def create_dress_code_for(self):
        he_will_receive_props = init_vibe_check(self);

        if he_will_receive_props == True:
            print("Hi " + self.name + ", you are entitled to a dress code");
        else: 
            print(self.name + ", you cannot get a dress code");


# Create two sample Devs
david_chuka = Dev("David Chuka", True);
haks = Dev("Haksoat", False);

# Keep world peace
PeaceKeeper.create_dress_code_for(david_chuka);
PeaceKeeper.create_dress_code_for(haks);

截屏:

在此处输入图像描述

标签: python

解决方案


调用类方法的语法不是很直观。你应该这样做:

he_will_receive_props = self.init_vibe_check()

而不是这个:

he_will_receive_props = init_vibe_check(self);

(另请注意,分号在 python 中是不必要的,解释器会忽略它们,以便习惯使用它们的程序员受益)


推荐阅读