Python中如何匯入類示例詳解

2022-10-04 17:42:12 字數 2485 閱讀 2857

前言

隨著我們不斷地在乙個檔案中新增新的功能, 就會使得檔案變得很長。 即便使用了繼承,也抑制程式設計客棧不住類的成長。為了解決這一問題,我們可以將類儲存在模組中, 然後在主程式中匯入所需的模組,這樣可以讓檔案盡可能保持整潔,從而實現更好的管理。

匯入類是一種很有效的程式設計方式。 這樣我們就可以把大部分邏輯儲存在獨立的檔案中,然後在主程式編寫高階邏輯咯o(∩_∩)o哈哈~

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 www.cppcns.comprint_privileges(self):

'''列印擁有的許可權'''

print(self

...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(["刪除賬號許可權"])

...4 匯入所有類rllmw

from user import *

非必要,不使用這種匯入方式,因為:

如果確實需要從乙個模組中匯入很多類,那麼建議匯入整個模組, 然後使用 module_name.class_name 語法來呼叫它們。

5 在模組中匯入另乙個模組

為了避免模組太大或者保證模組中的類都是相關的, 這時就需要將類分散到多個模組中。這樣, 可能乙個模組中的類會依賴另乙個模組中的類。這種場景下, 我們就會在乙個模組中匯入另乙個模組。因為匯入語法相同,所以在此就不贅述啦o(∩_∩)o~

建議一開始讓**結構盡可能簡單。 即先盡可能在乙個檔案中完成所有的工作, 確定一切都能滿足業務要求正確執行後,再將類移到獨立的模組中。

總結本文標題: python中如何匯入類示例詳解

本文位址:

Python中bisect的用法及示例詳解

bisect是python內建模spwmnd塊,用於有序序列的插入和查詢。查詢import bisect程式設計客棧 a 1,4,6,8,12,15,20 posit bisect.bisect a,13 print position 用可變序列內建的insert方法插入 a.insert posi...

python程式設計普通及類和靜態方法示例詳解

目錄 本文主要講述了python類中的三類常用方法,普通方法 類方法和靜態方法。本文主要參考了httywerdksps 強烈推薦一看這個系列的所有 import sys sys.version 結果為 3.6.1 anaconda 4.4.0 64 bit default,may 11 2017,1...

python程式設計中簡潔優雅的推導式示例詳解

目錄 python語言有一種獨特的推導式語法,相當於語法糖的存在,可以幫助你在某些場合寫出較為精簡酷炫的 但沒有它,也不會有太多影響。python語言有幾種不同型別的推導式。列表推導式是一種快速生成列表的方式。其形式是用方括號括起來的一段語句,如下例子所示 lis x x for x in rang...