Python隨心記 反射 動態匯入模組

2022-06-23 03:03:14 字數 1638 閱讀 5721

hasatttr(object,name)   #檢測物件中是否存在name屬性

getattr(object,name,delault = null)

setattr(object,x,true)

delattr(object,x) #刪除屬性

class

blackmedium:

feture = '

ugly

'def

__init__

(self,name,addr):

self.name =name

self.addr =addr

defsell_hourse(self):

print('

[%s] 正在賣房

' %self.name)

blackmedium = blackmedium('

青年公寓

','南山')

print(hasattr(blackmedium,'

name

')) #

存在返回true

print(getattr(blackmedium,'

name

','meiyouzhi

')) #

存在返回值

setattr(blackmedium,'

white

',true) #

設定屬性

setattr(blackmedium,'

func

',lambda x:x+1) #

加函式print(blackmedium.func(12))

#反射使用場景

1 實現可插拔機制

2 動態匯入模組

class

ftpclient:

def__init__

(self,addr):

self.addr =addr

print('

正在連線ip:%s伺服器

' %self.addr)

defput(self):

print('

正在上傳檔案')

from module import ftpclient #

模擬ftpclient在module模組下

ftpclien = ftpclient('

192.168.0.1')

if hasattr(ftpclien,'

put'

): func_get = getattr(ftpclien,'

put'

) func_get()

else

:

print('

方法不存在

')

動態匯入模組
module_t = __import__('

m.t') #

傳出字串,類似於文明的名稱

module_t.t.test() #

呼叫t下的test方法

import

imaplib

imaplib.import_module(

'm.t

') #

以字串模式匯入

Python隨心記 鎖

同步鎖 死鎖 遞迴鎖 訊號量和同步evrnt物件 了解即可 佇列 生產者消費者模型 程序併發並行與同步非同步的概念 併發 系統具有處理多個任務 動作 的能力 並行 系統具有同時處理多個任務 動作 的能力 並行時併發的乙個子集 同步 當程序執行到乙個io 等外部的資料 的時候,等 就是同步 不等 直到...

Python隨心記 練習

l1 11,22,33 l2 22,33,44 for item in l1 if item not inl2 print item 統計123455678組合兩位數且不能重複 num 0 for item in range 1,9 for vtem in range 1,9 if item vte...

Python隨心記 程序 執行緒

程序 執行緒 程序最小的資源單位 執行緒屬於最小的執行單元 程序可以理解為執行緒的容器 不能獨立存在,建立在程序的基礎之上 乙個程式至少有乙個程序,乙個程序至少有乙個執行緒 開啟執行緒例項import threading import time defhi num print hello d num...