with 魔術方法

2021-08-25 19:42:17 字數 1076 閱讀 5759

# with open('demo1.py') as fp:

# print(fp.read())

# __enter__(self)

# __exit__

#__enter__魔術方法

"""使用with語句的時候,會呼叫這個魔術方法 ,這個方法的返回值可以作為as***x的值

""""""

__exit__(self, exc_type, exc_val, exc_tb)魔術方法

1.執行完這個with語句中的**模組或者是這個**塊中的**發生了異常,就會執行這個方法。

可以做一些清理工作,比如關閉檔案

2.如果在with語句中發生了異常,那麼 exc_type, exc_val將會儲存這個異常,沒有異常他們的值為none

3.with 語句發生了異常,將會執行__exit__

如果不想讓這個異常丟擲,那麼可以返回true,就不會把異常丟擲到外面了

"""class fileopener():

def __init__(self,filename,model):

self.filename=filename

self.model=model

def __enter__(self):

self.fp=open(self.filename,self.model)

print('enter')

return self.fp

def __exit__(self, exc_type, exc_val, exc_tb):

self.fp.close()

#不想異常丟擲,不想產生異常返回true

print(exc_tb)

print(exc_type)

print(exc_val)

print('__exit__')

#不丟擲異常

return true

with fileopener('demo5.py','w') as fp:

fp.write('hellowprld')

print('write')

a=1c=a/0

php魔術常量,魔術方法

魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...

invoke 魔術 PHP 魔術方法

php 魔術方法 構造方法 construct 析構方法 destruct get 與 set unset call 和 callstatic sleep 和 wakeup clone tostring invoke set state debuginfo construct 這個方法應該是最常用的...

PHP魔術方法和魔術常量

具體的解釋如下 1。construct 例項化物件時被呼叫,當 construct和以類名為函式名的函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 當刪除乙個物件或物件操作終止時被呼叫。3。call 物件呼叫某個方法,若方法存在,則直接呼叫 若不存在,則會去呼叫 c...