从单独文件中的类创建对象

Create object from class in separate file(从单独文件中的类创建对象)
本文介绍了从单独文件中的类创建对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我已经完成了几个关于 Python 的教程,并且我知道如何定义类,但我不知道如何使用它们.例如,我创建了以下 file (car.py):

I have done several tutorials on Python and I know how to define classes, but I don't know how to use them. For example I create the following file (car.py):

class Car(object):
    condition = 'New'
    def __init__(self,brand,model,color):
        self.brand = brand
        self.model = model
        self.color = color

    def drive(self):
        self.condition = 'Used'

然后我创建另一个文件 (Mercedes.py),我想从 Car 类中创建一个对象 Mercedes:

Then I create another file (Mercedes.py), where I want to create an object Mercedes from the class Car:

Mercedes = Car('Mercedes', 'S Class', 'Red')

,但我得到一个错误:

NameError: name 'Car' is not defined

如果我在创建实例(汽车)的同一个文件中创建实例(对象),我没有问题:

If I create an instance (object) in the same file where I created it (car), I have no problems:

class Car(object):
    condition = 'New'
    def __init__(self,brand,model,color):
        self.brand = brand
        self.model = model
        self.color = color

    def drive(self):
        self.condition = 'Used'

Mercedes = Car('Mercedes', 'S Class', 'Red')

print (Mercedes.color)

哪些打印:

Red

所以问题是:如何从同一个包(文件夹)中不同文件的类创建对象?

So the question is: How can I create an object from a class from different file in the same package (folder)?

推荐答案

在你的 Mercedes.py 中,你应该按如下方式导入 car.py 文件(只要因为这两个文件在同一个目录):

In your Mercedes.py, you should import the car.py file as follows (as long as the two files are in the same directory):

import car

那么你可以这样做:

Mercedes = car.Car('Mercedes', 'S Class', 'Red')  #note the necessary 'car.'

或者,你可以这样做

from car import Car

Mercedes = Car('Mercedes', 'S Class', 'Red')      #no need of 'car.' anymore

这篇关于从单独文件中的类创建对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I make a list of all members in a discord server using discord.py?(如何使用 discord.py 列出不和谐服务器中的所有成员?)
how to change discord.py bot activity(如何更改 discord.py 机器人活动)
Issues with getting VoiceChannel.members and Guild.members to return a full list(让 VoiceChannel.members 和 Guild.members 返回完整列表的问题)
Add button components to a message (discord.py)(将按钮组件添加到消息(discord.py))
on_message() and @bot.command issue(on_message() 和@bot.command 问题)
How to edit a message in discord.py(如何在 discord.py 中编辑消息)