python - NameError:命名类实例时未定义名称“xxx”
问题描述
当用用户定义的属性命名一个对象时,它说对象的名称(NameError)没有被使用..
这是从名为“Dog”的类创建具有用户定义属性的对象的部分:
def menu():
print('1. Register a new dog')
print('2. Ammend dog deatils')
print('3. Remove dog')
choice = int(input('>> '))
if choice == 1:
Name = input('Name >> ').title()
Age = int(input('Age >> '))
Breed = input('Breed >> ').title()
Energy = int(input('Energy >> '))
Hunger = int(input('Hunger >> '))
dog2 = Dog(Name, Age, Breed, Energy, Hunger) <--- ***HERE IS THE PROBLEM***
错误信息:
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'd2' is not defined
我的代码的第 1 行只是类定义:
class Dog:
def __init__(self, n, a, b, e, h):
self.name = n.title()
self.age = a
self.breed = b.title()
self.energy = e
self.hunger = h
Relativley 是 OOP 的新手,因此非常感谢任何帮助。
PS。我想创建一个对象,但使用用户定义的名称,例如:
#user defined name = Dog(XXX,YYY)
解决方案
推荐阅读
- doctrine-orm - 如何在其他查询中使用 QueryBuilder 格式化查询重用格式化的 Doctrine 2
- java - 如何通过像我在这里所做的那样传递以下程序中的数组大小为 6?
- ruby - 在 Ruby 中,惯用且干净地改进了 split 和 map 的使用,将字符串输入转换为 2d int 数组(即矩阵)
- python - Flask + gunicorn + meinheld 提供静态内容
- ios - 单独的 BundleName 和应用程序图标下显示的名称
- java - 从 IntelliJ 中的数据库自动创建 POJO 类
- php - substr() 中的 PHP 变量作为长度未执行
- r - Shiny:通过单击 valueBox 触发弹出窗口
- laravel - Nuxt.js 和 Laravel Api - 422 显示错误而不是表单
- android-things - 检查 NXP iMX 8M 是否有 Android Things 闪存?