gpt4 book ai didi

Python导入问题

转载 作者:行者123 更新时间:2023-12-01 06:08:59 27 4
gpt4 key购买 nike

所以显然我只是不知道如何在 Python 程序中正确导入内容。我刚刚开始接触这门语言,它与我习惯的 Java 有很大不同。

无论如何,主要问题是我导入包/模块/类的方式有问题,而且我似乎无法弄清楚它是什么。

现在我的文件结构如下所示:

-Main Directory
main.py
-Person (Folder)
__init__.py
Person.py
Student.py

现在我的 main.py 文件看起来像..

from Person import Person
from Person import Student

if __name__ == '__main__':

p = Person.Person("Jim", 20)
print(p)
s = Student("Jim", 20, "math")
print(s)

我不断收到错误 TypeError: 'module' object is not callable

已尝试将其更改为 s = Student.Student("Jim", 20, "Math") 但当发生这种情况时,我最终会遇到 TypeError: module. __init__() 最多接受 2 个参数(给定 3 个)

供引用,

Person.py:

class Person():    
def __init__(self, name, age):
self.name = name
self.age = age

def __str__(self):
return "My name is {0} and I am {1}".format(self.name, self.age)

学生.py:

from Person import Person
class Student(Person.Person):

def __init__(self, name, age, sub):
Person.__init__(self,name,age)
self.sub = sub

无论我对导入做什么或我似乎可以改变的任何事情,它都会不断给我带来错误。不知道此时该怎么做 - 也许我只是错过了向我展示类和子类的创建,但我无法找出任何解决方案。

最佳答案

main.py:

from Person import Person
from Person import Student

if __name__ == '__main__':

p = Person.Person("Jim", 20)
print(p)
s = Student.Student("Jim", 20, "math")
print(s)

学生.py

from Person import Person

class Student(Person):

def __init__(self, name, age, sub):
super(Student, self).__init__(name,age)
self.sub = sub

人.py

class Person(object):    
def __init__(self, name, age):
self.name = name
self.age = age

def __str__(self):
return "My name is {0} and I am {1}".format(self.name, self.age)

关于Python导入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6756569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com