python如何匯入類
匯入類是一種很有效的程式設計方式。 這樣我們就可以把大部分邏輯儲存在獨立的檔案中,然後在主程式編寫高階邏邏輯。
1 匯入一個類
假設有一個 User 類,檔名為 User.py,這個待匯入的檔案,一般稱為模組:
class User(): '''賬號資訊''' def __init__(self, name, pwd): '''初始化''' self.name = name self.pwd = pwd # 登陸次數 self.login_count = 0 def print_login_count(self): '''列印登陸次數''' print('登陸次數=' + str(self.login_count)) def update_login_count(self, num): '''更新登陸次數''' self.login_count = num def valid(self): '''是否驗證透過''' print(self.name + ' 驗證透過')
我們再定義一個名為 deniro.py 的檔案,來匯入剛剛定義的 User 類:
from User import User deniro = User('deniro', '1') print('賬號名:' + deniro.name)
執行結果
賬號名:deniro
2 匯入一個模組多個類
可以根據需要,在同一個模組中定義任意數量的類,不過這些在同一個模組中的類最好是相關的。
我們在 User.py 中定義了一個 Privilege 類,並作為 User 類的屬性:
class User(): '''賬號資訊''' def __init__(self, name, pwd): '''初始化''' self.name = name self.pwd = pwd # 登陸次數 self.login_count = 0 # 擁有的許可權 self.privileges = Privilege(['修改某某賬號密碼', '禁用某某賬號']) def print_privileges(self): '''列印擁有的許可權''' print(self.privileges.contents) ... class Privilege(): '''許可權''' def __init__(self, contents): self.contents = contents
然後在新的檔案中呼叫它:
# 匯入一個類 from User import User deniro = User('deniro', '1') print('擁有的許可權:' + str(deniro.privileges.contents))
執行結果
擁有的許可權:['修改某某賬號密碼', '禁用某某賬號']
3 匯入多個類
可以在一個模組中匯入多個類, 用逗號分隔這些需要匯入類。 匯入後, 就可以根據應用場景,來建立任意數量的類例項。
from User import User,Privilege
from User import User,Privilege p=Privilege(["刪除賬號許可權"]) print('許可權內容:'+str(p.contents))
執行結果
許可權內容:['刪除賬號許可權']
4 匯入模組
我們還可以一次性匯入整個模組, 這需要使用句點表示法來呼叫相應的類:
import User ... p=User.Privilege(["刪除賬號許可權"]) ...
匯入所有類
from User import *
非必要,不使用這種匯入方式,因為:
透過檔案開頭定義良好的 import 語句, 我們就可以清楚地知道使用了哪些類。但這種匯入方式沒有提供這種好處。
如果不小心匯入了一個與本程式檔案中同名的類, 就會引發難以診斷的錯誤。
如果確實需要從一個模組中匯入很多類,那麼建議匯入整個模組, 然後使用 module_name.class_name 語法來呼叫它們。
5 在模組中匯入另一個模組
為了避免模組太大或者保證模組中的類都是相關的, 這時就需要將類分散到多個模組中。這樣, 可能一個模組中的類會依賴另一個模組中的類。這種場景下, 我們就會在一個模組中匯入另一個模組。因為匯入語法相同,所以在此就不贅述啦O(∩_∩)O~
建議一開始讓程式碼結構儘可能簡單。 即先儘可能在一個檔案中完成所有的工作, 確定一切都能滿足業務要求正確執行後,再將類移到獨立的模組中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2836630/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 說說在 Python 中如何匯入類Python
- Python如何匯入flask_sqlalchemyPythonFlaskSQL
- python - PyOpenGL 如何匯入 obj 檔案?PythonOBJ
- python如何匯入自定義模組Python
- python 如何匯入同級.py檔案Python
- 【原創】POI匯入匯出工具類
- python中如何新增模組匯入路徑?Python
- Python 模組匯入方式Python
- Pycharm匯入python專案PyCharmPython
- python包匯入細節Python
- 如何透過Python將JSON格式檔案匯入redis?PythonJSONRedis
- Python培訓教程分享:Python模組如何匯入__all__屬性?Python
- pycharm如何匯入第三方庫?pycharm如何匯入numpy庫?pycharm如何匯入scikit-learn庫?PyCharm
- 如何匯入Scrapy框架框架
- 如何匯入HTTParty庫HTTP
- 如何匯入rvest包
- 如何使用 JavaScript 匯入和匯出 ExcelJavaScriptExcel
- Python-檔案的匯入Python
- Python包的匯入說明Python
- python 小指令碼 (實現 elasticsearch 匯出匯入)Python指令碼Elasticsearch
- Navicat如何匯入和匯出sql檔案SQL
- HExcel,一個簡單通用的匯入匯出Excel工具類Excel
- 匯出類介面如何斷言
- Python匯入包的注意事項Python
- Python批量匯入Excel資料到MySQLPythonExcelMySql
- python之匯入模組的方法Python
- python相對匯入注意事項Python
- python 類如何使用Python
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- NCF 如何匯入Excel資料Excel
- Eclipse如何匯入別人工程Eclipse
- java怎麼匯入專案?java已有專案如何匯入eclipse?JavaEclipse
- 資料匯入終章:如何將HBase的資料匯入HDFS?
- 「Python實用秘技12」像匯入模組一樣匯入ipynb檔案Python
- Elasticsearch批量匯入資料指令碼(python)Elasticsearch指令碼Python
- Premiere Pro模板匯入教程 如何匯入.mogrt檔案?REM
- IDEA如何匯入專案,包括從git倉庫(github)匯入專案IdeaGithub
- win10 如何匯入mdf_win10mdf怎麼匯入sqlWin10SQL