python問與答常識
答:
(1)類是建立例項的工廠,可以用來建立多個類的例項,即類是例項的模板;
(2) 他們都定義了名字空間,擁有各自的屬性;(3) 類的屬性(資料屬性和方法屬性)能夠被例項繼承和使用。
2、 問:python類和模組,包區別和聯絡是什麼?
答:
(1)模組在python中對應得是.py檔案,類是定義在模組中的內容;而包可以包含多 個模組的目錄,其中__init__.py檔案用於初始化包;
(2) 他們也都定義了名字空間,並且擁有各自的屬性;(3) 他們共同構成了oop的結構組織。
3、問:python中pickle模組是用來做什麼的?其主要的函式有哪些?
答:pickle模組用來實現python物件的序列化和反序列化。通常地pickle將python物件序列化為二進位制流或檔案。
其主要的函式有:pickle.dump(),pickle.load(),pickle.dumps(),pickle.loads()等。
4、 問:以下程式的輸入是什麼?
class Test1(object):
def __init__(self):
print "This is init called!"
def __new__(cls):
print "This is new called!"
return super(Test1,cls).__new__(cls)
class Test2(object):
def __init__(self):
print "This is init called!"
def __new__(cls):
print "This is new called!"
test1=Test1()
test2=Test2()
答:
This is new called!
This is init called!
This is new called!
5、 問:什麼是元類(meta_class)?
答:一句話,元類就是用來建立類的“東西”,或者說元類是用於建立類的類。
6、
問:物件導向的特性是什麼?
答:抽象,封裝,繼承和多型。
7、
問:python oop中self是用來做什麼的?
答:self表示類的例項本身,相當於java語言中的this,是類定義例項方法中第一個顯式引數,而在類的例項方法呼叫時預設第一個隱式引數。
8、問:python類中__init__,__new__方法的區別是什麼?
答:(1)__new__可以看做是類“真正”的建構函式,__init__是類“友好”的建構函式(或 者叫初始化方法)。
(2) __new__方法接受第一個引數是cls,__init__接受第一個引數是self,其他引數 都相同。
(3) __init__是在類例項建立之後呼叫,而 __new__方法正是建立這個類例項的方 法。
(4) __new__方法返回類的例項物件,__init__方法不返回值。
9.問:設計模式的基本原則是什麼?
答:(1)單一職責原則(SRP):就一個類而言,有且僅有一個引起它變化因素。
(2) 開放封閉原則:對擴充套件時開放的,對修改是封閉的。
(3) 依賴倒置原則:高層模組不應該依賴低層模;抽象不應該依賴具體(細節),具 體(細節)應該依賴抽象。
(4) 介面隔離原則:一個類對另外一個類的依賴性應當是建立在最小的介面上。
(5) Liskov替換原則:子型別必須能夠替換掉它們的父型別。
10.
問:通過過載類__new__方法,實現類的單例模式。
答:程式碼如下:
class Singleton(object):
def __new__(cls):
if not hasattr(cls, 'instance'):
cls.instance = super(Singleton, cls).__new__(cls)
return cls.instance
if __name__=="__main__":
instance1=Singleton()
instance2=Singleton()
print "The same:" , ("yes" if instance1 is instance2 else "no")
11.問:請簡述模組設計的基本原則是什麼?
答:高內聚,低耦合。
12.
問:在python中一個函式如果沒有顯示return返回值,那麼它返回的是什麼?
答:返回一個None物件。
13.
問:python的模組搜尋路徑有哪些?
答:
1)程式所在的目錄;
2) PYTHONPATH中包含的目錄;3) python標準庫目錄;
4) 包含在.pth檔案中的目錄;
以上可通過sys.path查詢得到完整的python模組搜尋目錄;
14.
檔案a.py的內容如下:
common=100
item=["abc","def"]
檔案b.py的內容如下:
from a import common
from a import item
common=200
item[0]="cba"
檔案c.py的內容如下:
import a
import b
print a.common,a.item
請問c.py的輸出是什麼?
答:100,['cba', 'def']
15.
問簡述python中的wmi模組的作用?它有哪些主要的函式?請用該模組簡單實現獲取本地主機的系統資訊。
答:
1)wmi是windows系統管理的核心,它以公共資訊模型為基礎,為指令碼程式和其他MMI提供了一個公共訪問介面,python中的wmi是wmi的python實現。
2) 主要的函式包含:WMI(),Win32_Service(),Win32_OperationSystem(),Win32_Prcoessor(),Win32_DiskDriver()等。3) 使用wmi獲取本地主機系統基本資訊的實現:
import wmi
#連線本地主機
c=wmi.WMI("localhost")
#獲取主機作業系統型別
for os in c.Win32_OperatingSystem():
print os.Caption,
print os.OSArchitecture,
print os.NumberOfProcesses
#獲取主機CPU資訊
for cpu in c.Win32_Processor():
print cpu.Name,
print cpu.NumberOfCores,
print cpu.NumberOfLogicalProcessors
print cpu.LoadPercentage
#獲取記憶體資訊
for mem in c.Win32_PhysicalMemory():
print mem.Name,
print int(mem.Capacity)/1024/1024/1024,"GB"
#獲取磁碟資訊
for disk in c.Win32_LogicalDisk():
print disk.Caption,
print int(disk.FreeSpace)/1024/1024/1024,"GB"
print int(disk.Size)/1024/1024/1024,"GB"
相關文章
- 融合外部知識的常識問答
- Flashback Database特性常見問題的問與答Database
- NETMicroFramework常見問題問答Framework
- 提問與問答技巧
- Android知識問答與分享專案實戰Android
- QTP問與答(轉)QT
- 汽車基礎知識問答
- 美團知識圖譜問答技術實踐與探索
- 防火牆常見問題十問十答(轉)防火牆
- ERP基礎知識問答
- Flashback database基礎知識問答Database
- 本地部署AI問答知識庫AI
- Scrivener for Mac 的問與答Mac
- Excel列印問與答教程Excel
- Mysql中的筆試和麵試---常見面試題問與答MySql筆試面試題
- Python 面試問答 Top 25Python面試
- Python問答環節(2)Python
- Python問答環節(1)Python
- WPS Office Mac登入常見問題問答Mac
- 專案答辯常見問題和技巧
- 有關 Expression Blend 的常見問答薦Express
- 區塊鏈基礎知識問答區塊鏈
- 開心知識問答 V3.0版
- Linux問與答(1)(轉)Linux
- 社群知識庫|常見問答 FAQ 集合第 2 期:Topic 配置、ACK 等問題的解決
- 2018——前端面試常見問答前端面試
- 常見的ARM嵌入式學習問答
- Linux問與答:KDE問題解凝(轉)Linux
- 畢業論文答辯--答辯準備、提綱、技巧、常見問題
- python 入門常識Python
- Python程式設計常見問題與解答Python程式設計
- 使用 OpenCV-Python 識別答題卡判卷OpenCVPython
- 《jQueryMobile入門經典》——2.5 問與答jQuery
- RAW裝置與ORACLE的問答 (zt)Oracle
- 付費語音問答「分答」讓知識更流行—知識新分享,讓溝通更專業
- 中科三方雲解析DNS產品常見問答DNS
- 中科三方DNS雲解析產品常見問答DNS
- 【dotnet跨平臺】VisualStudioCode常見問答