第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

是否可以在多個(gè)文件中使用同一個(gè)對(duì)象?

是否可以在多個(gè)文件中使用同一個(gè)對(duì)象?

米脂 2023-04-18 11:05:28
我是 Python 編碼的新手,我正在嘗試使用對(duì)象創(chuàng)建游戲。在main.py中,我使用名為Room的類(lèi)創(chuàng)建了代表特定房間的對(duì)象。我可以在單獨(dú)的文件中實(shí)例化這些對(duì)象,然后在main.py中使用它們嗎?如果可能的話,我該怎么做?我嘗試簡(jiǎn)單地在文件中創(chuàng)建一個(gè)對(duì)象并在main.py中使用它,但它沒(méi)有用。我還嘗試在第二個(gè)文件中創(chuàng)建一個(gè)創(chuàng)建房間對(duì)象的方法,然后在main.py中調(diào)用它,但這也沒(méi)有用。我也找不到任何關(guān)于在多個(gè)文件中使用一個(gè)對(duì)象的文檔。這是一個(gè)房間對(duì)象的例子:dining_hall = Room("Dining Hall") dining_hall.set_description("A large room with ornate golden decorations on each wall")這是房間類(lèi)的構(gòu)造函數(shù):def __init__(self, room_name):     self.name = room_name     self.description = None
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

是的,您可以在單獨(dú)的文件中實(shí)例化對(duì)象。根據(jù)描述,您使用的兩種方式也是正確的。不幸的是,我沒(méi)有看到你寫(xiě)的完整代碼,所以不能確切地說(shuō)出哪里出了問(wèn)題。以下是如何實(shí)現(xiàn)目標(biāo)的兩個(gè)示例:


使用另一個(gè)文件中的對(duì)象:


dining_hall.py


dining_hall = Room("Dining Hall")

main.py


from dining_hall import dining_hall


dining_hall.set_description("A large room with ornate golden decorations on each wall")

或者你可以使用特殊的實(shí)例化函數(shù)(更好地實(shí)現(xiàn)類(lèi)似單例的東西):


dining_hall.py


dining_hall_object = None


def get_dining_hall():

    global dining_hall_object


    if dining_hall_object is None:

        dining_hall_object = Room("Dining Hall")


    return dining_hall_object

main.py


from dining_hall import get_dining_hall


dining_hall = get_dining_hall()

dining_hall.set_description("A large room with ornate golden decorations on each wall")



查看完整回答
反對(duì) 回復(fù) 2023-04-18
?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

一般來(lái)說(shuō),您會(huì)希望在“單獨(dú)的”文件中定義/實(shí)現(xiàn)您的類(lèi),然后在主腳本中初始化對(duì)象實(shí)例,該腳本可能稱為也可能不稱為 main。


room.py


class Room:


  def __init__(self, room_name):

    ...

main.py(確保包含 room.py 的文件夾在您的路徑中)


from room import Room


dining_hall = Room("Dining Hall")

...

也許您可以解釋為什么要在另一個(gè)腳本中進(jìn)行初始化——例如,您可能希望“Dining Hall”已經(jīng)知道它的描述,或者您可能希望強(qiáng)制“Dining Hall”是唯一的?有針對(duì)此類(lèi)問(wèn)題的設(shè)計(jì)模式,但我需要更多地了解您要實(shí)現(xiàn)的目標(biāo)。


查看完整回答
反對(duì) 回復(fù) 2023-04-18
  • 2 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)