python - 我需要一件衣服 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);
截屏:
解决方案
调用类方法的语法不是很直观。你应该这样做:
he_will_receive_props = self.init_vibe_check()
而不是这个:
he_will_receive_props = init_vibe_check(self);
(另请注意,分号在 python 中是不必要的,解释器会忽略它们,以便习惯使用它们的程序员受益)
推荐阅读
- android - 在 Buildozer 中使用 CrystaX 构建 APK 时出错
- java - Weka CSVloader - 错误(错误的值数。读取)
- reactjs - 使用 React Router 的 Docker 反向代理到 React App
- android - 然后比较不同时间并显示错误消息android
- codenameone - 生产应用程序上的 Google 控制台崩溃报告
- blockchain - 在本地运行以太坊钱包软件
- visual-studio-code - 更改图标状态栏的颜色
- amazon-web-services - AWS CodeBuild 无法同步到 S3 存储桶 ListObject 被拒绝权限
- sql - 获取增量模式
- python-3.x - 使用 Python 绘制 Alpha Vantage API