linuxcd--help为啥错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linuxcd--help为啥错误相关的知识,希望对你有一定的参考价值。
参考技术A 命令行中的linuxcd --help通常为查询Linux中的"cd"命令的帮助信息。如果发生错误可能有以下几种可能:1.输入命令错误,可以检查是否使用了正确的命令语法。2.系统没有安装该命令或没有安装相关的软件包,需要安装或检查安装包是否损坏。3.磁盘空间不足或权限设置不正确是另外两个常见的问题,需要查看系统日志和控制磁盘空间和权限。4.可能是输入命令时出现拼写错误。“cd”是在Linux操作系统中进入下一个目录的命令。必须确保在参数和选项中拼写正确并使用正确的大小写,这样就可以获得正确的帮助信息了。为啥我会收到错误数量的参数错误?
【中文标题】为啥我会收到错误数量的参数错误?【英文标题】:Why do I get an error for incorrect number of arguments?为什么我会收到错误数量的参数错误? 【发布时间】:2015-09-09 22:21:49 【问题描述】:我有:
import datetime
class Animal(object):
def __init__(self, dob, carnivore):
self.__dob = dob
self.__carnivore = carnivore
@property
def dob(self):
return self.__dob
@dob.setter
def dob(self, dob):
self.__dob = dob
@property
def carnivore(self):
return self.__carnivore
@carnivore.setter
def carnivore(self, carnivore):
self.__carnivore = carnivore
def __str__(self):
return "DOB: " + str(self.__dob) + "\nCarnivore: " + str(self.__carnivore)
我的第二堂课:
import Species.Animal as Animal
import datetime as date
class Amphibian(Animal):
def __init__(self, dob=date.datetime.now(), carnivore=False, *characteristics):
super(Animal, self).__init__(dob, carnivore)
self.__characteristics = []
for characteristic in characteristics:
self.__characteristics.append(characteristic)
@property
def characteristics(self):
return self.__characteristics
@characteristics.setter
def characteristics(self, characteristic):
self.__characteristics.append(characteristic)
def __str__(self):
characteristics = ""
for characteristic in self.__characteristics:
characteristics += str(characteristic)
return characteristics
使用:
amphibian = Amphibian(date.date(1979, 1, 12), True, "BackBone", "Cold Blooded")
print(amphibian)
我得到错误:
Traceback(最近一次调用最后一次):文件 "C:/Users/Daniel/PycharmProjects/ObjectOrientedSpecies/Species/Amphibian.py", 第 7 行,在 class Amphibian(Animal): TypeError: module.__init__() 最多接受 2 个参数(给定 3 个)
我是 Python 新手,所以我不确定什么是好的 OO 实践。
【问题讨论】:
【参考方案1】:我可以看到两个问题。首先,您应该在您正在调用 super
的类的类名上调用 super
(这有点拗口),因此该行应该是 super(Amphibian, self).__init__(dob, carnivore)
和 not super(Animal, self).__init__(dob, carnivore)
. Python 会自己找到基类Animal
。
然而主要问题是Animal
类(几乎可以肯定)在一个名为“Animal.py”的文件中。当Python看到一个名为“Animal.py”的文件时,它会自动创建一个名为Animal
的模块(并对所有其他“.py”名称执行类似的操作。所以你的类Animal
实际上在一个名为@987654329的模块中@。
因此,当您执行import Species.Animal as Animal
时,您导入的是 模块 而不是其中的类。因此,当您执行class Amphibian(Animal):
时,您的两栖动物是从module
类继承而不是从Animal
类继承。您需要将导入更改为以下内容以获取 Animal
类:from Species.Animal import Animal
。
就你的风格而言,如果除了简单的获取和设置之外没有任何事情发生,我真的不明白拥有大量装饰的 getter 和 setter 的意义。只需去掉属性名前面的下划线,直接使用即可。如果必须发生其他事情来进行获取和设置,您只需要使用 getter 和 setter。
【讨论】:
以上是关于linuxcd--help为啥错误的主要内容,如果未能解决你的问题,请参考以下文章