」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Python中如何匯入同目錄或子目錄中的類別?

Python中如何匯入同目錄或子目錄中的類別?

發佈於2024-12-23
瀏覽:970

How Do I Import Classes from the Same Directory or Subdirectory in Python?

在Python中從同一目錄或子目錄匯入類別

在Python中,您可以透過下列方式從同一目錄或子目錄中的檔案導入類別利用__init__.py 檔案。該檔案是一個空佔位符,指示該目錄包含模組和套件。

從同一目錄匯入

從與 main 相同的目錄中的檔案匯入類別.py,在該目錄中建立一個 __init__.py 檔案。然後使用常規導入語句導入類別:

from user import User
from dir import Dir

從子目錄匯入

如果類別位於子目錄中,例如usr/user.py,則可以先建立一個空的__init__子目錄中的.py 檔。然後,在main.py 檔案中,使用點表示法指定子目錄和類別名稱:

from usr.user import User

或者,在Python 3 中,您可以為模組名稱新增前綴帶點會自動將目前目錄附加到導入路徑:

from .user import User

透過利用__init__.py檔案和正確的導入語句,您可以從同一目錄或子目錄中導入類,從而在 Python 應用程式中實現程式碼重複使用和模組化。

最新教學 更多>
  • 如何使用 JSTL 迭代 HashMap 中的 ArrayList?
    如何使用 JSTL 迭代 HashMap 中的 ArrayList?
    使用JSTL 迭代HashMap 中的ArrayList問題:迭代HashMap 本身是使用JSTL 的 標記很簡單。但是,如何迭代與 HashMap 中每個鍵關聯的 ArrayList 值? 解決方案:JSTL 的 標記提供了迭代的靈活性不同的資料結構,包括地圖。 迭代映射:<%@ tag...
    程式設計 發佈於2024-12-23
  • Java反射可以檢索本機宣告的變數名稱嗎?
    Java反射可以檢索本機宣告的變數名稱嗎?
    Java Reflection: Uncovering Local Variable Names問題陳述:Java Reflection可用於檢索變數名稱本地聲明的變數?給出如下程式碼片段:Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo()...
    程式設計 發佈於2024-12-23
  • 為什麼在 Java 中解析日期字串會拋出“非法模式字元‘T’”?
    為什麼在 Java 中解析日期字串會拋出“非法模式字元‘T’”?
    將日期字串解析為java.util.Date 時出現非法模式字元'T'將日期字串解析為java .util.Date。日期對象需要遵循特定規則的模式。一種常見模式是“yyyy-MM-ddThh:mm:ssZ”,它表示 ISO 8601 格式的日期。 問題:問題:使用指定模式時,例外情...
    程式設計 發佈於2024-12-23
  • SQL Server如何作為多個客戶端的並發佇列?
    SQL Server如何作為多個客戶端的並發佇列?
    使用SQL Server作為多客戶端並發隊列在表作為隊列的場景中,以某種方式配置和查詢它是至關重要的允許多個客戶端同時處理佇列項目。 當使用帶有 UPDLOCK 和 ROWLOCK 的悲觀行鎖定時,只有一個工作線程可以獲得鎖並處理一個佇列項目。 排。若要解決此問題並啟用並發處理,請考慮以下方法:使用...
    程式設計 發佈於2024-12-23
  • 如何將 JavaScript 日期物件增加一天?
    如何將 JavaScript 日期物件增加一天?
    將 JavaScript 日期對象增加一天您有一個 Date 對象,並希望使用 JavaScript 的 Date 對象將其增加一天。這是針對您的程式碼的改進解決方案:將當前程式碼替換為以下程式碼,以向 Date 物件添加一天:var date = new Date(); // add a day ...
    程式設計 發佈於2024-12-23
  • 我應該在呼叫 `condition_variable.notify_one()` 之前取得鎖定嗎?
    我應該在呼叫 `condition_variable.notify_one()` 之前取得鎖定嗎?
    在呼叫condition_variable.notify_one()之前何時應該取得鎖? 在多執行緒程式設計中,condition_variables用於向等待執行緒發出訊號已滿足特定條件。雖然在呼叫condition_variable.wait()之前需要持有鎖,但在呼叫notify_one()之...
    程式設計 發佈於2024-12-23
  • 如何使用 jQuery 將 Onclick 事件附加到動態新增的元素?
    如何使用 jQuery 將 Onclick 事件附加到動態新增的元素?
    如何使用 jQuery 將 Onclick 事件綁定到動態新增的 HTML 元素使用 jQuery 時,經常需要動態新增 HTML 元素頁面。在這種情況下,您可能需要將事件處理程序附加到這些元素。然而,將事件處理程序附加到頁面載入後新增的元素可能具有挑戰性。 問題和先前的解決方案傳統上,可以使用 ....
    程式設計 發佈於2024-12-23
  • 在 Pygame 中載入資源時如何修復“FileNotFoundError”?
    在 Pygame 中載入資源時如何修復“FileNotFoundError”?
    使用Pygame 載入資源:解決「FileNotFoundError」當嘗試在Pygame 中載入圖片或聲音等外部資源時,您可能會遇到“FileNotFoundError:沒有這樣的檔案或目錄”錯誤。此問題通常是由於資源檔案路徑不正確造成的,特別是當路徑相對於目前工作目錄時。 解決方案:設定工作目錄...
    程式設計 發佈於2024-12-23
  • Go泛型的聯合約束可以在沒有明確介面宣告的情況下呼叫共享方法嗎?
    Go泛型的聯合約束可以在沒有明確介面宣告的情況下呼叫共享方法嗎?
    Go 泛型中調用聯合約束的方法在Go 泛型(v1.18)中,你可能會遇到限制類型聯合約束的類型將參數類型轉換為實現統一介面的類型。然而,無法在受約束類型之間呼叫共享方法引起了人們對此類約束的實用性的擔憂。 考慮以下程式碼:type A struct {} type B struct {} type ...
    程式設計 發佈於2024-12-23
  • 如何在 TypeScript 中執行執行時間介面類型檢查?
    如何在 TypeScript 中執行執行時間介面類型檢查?
    TypeScript 中的介面類型檢查在TypeScript 中,您可能會遇到這樣的場景:在執行時間確定物件是否符合預定義介面至關重要。雖然利用instanceof關鍵字進行類別類型檢查很簡單,但將其應用於介面卻提出了挑戰。 傳統方法(例如依賴instanceof運算子)被證明是無效的,因為介面在編...
    程式設計 發佈於2024-12-23
  • 如何使用逾時取消長時間運行的 Python 函數?
    如何使用逾時取消長時間運行的 Python 函數?
    用超時取消長時間運行的函數呼叫執行包含可能停頓函數的複雜腳本時,需要提供一種方法如果這些函數超過指定的執行時間,則終止它們。這可確保腳本不會變得無回應或無限期地卡住。 在 Python 中,利用訊號包(在 UNIX 系統上可用)為該問題提供了解決方案。透過註冊訊號處理程序,您可以設定函數呼叫的逾時。...
    程式設計 發佈於2024-12-23
  • React 效能最佳化技術:記憶化、延遲載入等
    React 效能最佳化技術:記憶化、延遲載入等
    构建现代 Web 应用程序时,性能是关键。用户期望应用程序快速、响应灵敏,即使是轻微的延迟也会导致沮丧。 React 虽然功能强大,但有时会遇到性能瓶颈,尤其是当应用程序规模和复杂性不断增长时。幸运的是,有多种技术可以优化性能,包括记忆、延迟加载等等。 在本指南中,我们将详细介绍一些优化 React...
    程式設計 發佈於2024-12-23
  • Java 中初始大小設定如何影響 ArrayList 效能?
    Java 中初始大小設定如何影響 ArrayList 效能?
    了解ArrayList 的初始大小設定在Java 中,ArrayList 類別允許您在實例化期間指定初始大小,確保記憶效率。但是,區分初始大小和清單容量非常重要。 雖然初始大小決定清單中元素的初始數量,但它不會在特定索引處預先分配空間。相反,它定義了底層數組的容量,使其能夠容納更多元素,而無需在低索...
    程式設計 發佈於2024-12-23
  • 插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入資料時如何修復「常規錯誤:2006 MySQL 伺服器已消失」?
    插入記錄時如何解決「一般錯誤:2006 MySQL 伺服器已消失」介紹:將資料插入MySQL 資料庫有時會導致錯誤「一般錯誤:2006 MySQL 伺服器已消失」。當與伺服器的連線遺失時會出現此錯誤,通常是由於 MySQL 配置中的兩個變數之一所致。 解決方案:解決此錯誤的關鍵是調整wait_tim...
    程式設計 發佈於2024-12-23
  • 如何根據物件的ID屬性有效率地尋找數組條目?
    如何根據物件的ID屬性有效率地尋找數組條目?
    根據物件屬性識別數組條目考慮一個物件數組,每個物件都擁有一個「ID」屬性。為了找到與變數「$v」中儲存的特定「ID」值相對應的條目,我們探索了幾種方法:1。迭代搜尋這涉及順序迭代數組,將每個物件的「ID」屬性與所需值「$v」進行比較。 $item = null; foreach($array as ...
    程式設計 發佈於2024-12-23

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3