国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法

這篇具有很好參考價值的文章主要介紹了【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

1.with關(guān)鍵字?

2.上下文管理器?

3.總結(jié)

?4.with torch.no_grad()的用法


在Python中,with是一個關(guān)鍵字,用于處理上下文管理器(context manager)。上下文管理器是一種對象,它定義了在進(jìn)入和離開某個上下文時應(yīng)該執(zhí)行的操作。with?語句使代碼更清晰、更具可讀性, 它簡化了文件流等公共資源的管理。

1.with關(guān)鍵字?

Python 中的?with?語句用于異常處理,封裝了?try…except…finally?編碼范式,提高了易用性。

菜鳥教程的例子就很生動:?

Python with 關(guān)鍵字 | 菜鳥教程 (runoob.com)

【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法,python基礎(chǔ),python,開發(fā)語言

【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法,python基礎(chǔ),python,開發(fā)語言?

2.上下文管理器?

這部分內(nèi)容參考:【Python】with關(guān)鍵字詳解_python with關(guān)鍵字_InceptionZ的博客-CSDN博客

拿文件操作舉例,打開文件就相當(dāng)于上文,操作文件就相當(dāng)于文中,關(guān)閉文件就相當(dāng)于下文。

上下文管理器:上下文管理器本質(zhì)就是能夠支持with操作的類或?qū)ο蟆H魏螌?shí)現(xiàn)了__ enter __ ()和__ exit __()方法的類對象對可以稱之為上下文管理器。上下文管理器對象可以使用with關(guān)鍵字對上下文管理,顯然,文件(file對象)也實(shí)現(xiàn)了上下文管理協(xié)議(上面的兩個方法)

自定義上下文管理器:

class MyFile():
	# 1. __init__()  初始化方法
	def __init__(self,file_name,file_mode):
		self.file_name = file_name
		self.file_mode = file_mode
		
	# 2. __enter__() 上文方法
	def __enter__(self):
		print("進(jìn)入上文")
		self.file = open(self.file_name,self.file_mode)
		return self.file
	
	# 3. __exit__() 下文方法
	def __exit__():
		print("進(jìn)入下文")
		self.file.close()

# hello.txt為自己定義的文件
# file 并不是MyFile的一個對象,而是上文__enter__函數(shù)返回的內(nèi)容,是一種資源

with MyFile('hello.txt','r') as file:
	file_data = file.read()
	print(file_data)

# result

進(jìn)入上文
這里是你文件里的內(nèi)容
進(jìn)入下文
			

3.總結(jié)

with 語句實(shí)現(xiàn)原理建立在上下文管理器之上。上下文管理器是一個實(shí)現(xiàn)?__enter__?和?__exit__?方法的類。使用 with 語句確保在嵌套塊的末尾調(diào)用 __exit__ 方法。這個概念類似于 try...finally 塊的使用。

總結(jié)with工作原理:
(1)緊跟with后面的語句被求值后,返回對象的“–enter–()”方法被調(diào)用,這個方法的返回值將被賦值給as后面的變量;
(2)當(dāng)with后面的代碼塊全部被執(zhí)行完之后,將調(diào)用前面返回對象的“–exit–()”方法。

?如果覺得上面的總結(jié)抽象,再看如下實(shí)例就能理解了:

【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法,python基礎(chǔ),python,開發(fā)語言

?4.with torch.no_grad()的用法

按如下順序閱讀即可:

(1條消息) 【pytorch系列】 with torch.no_grad():用法詳解_大黑山修道的博客-CSDN博客

(6條消息) 什么時候該用with torch.no_grad()?什么時候該用.requires_grad ==False?_no_grad grad_zero_Y. F. Zhang的博客-CSDN博客?最后在看一下這個:

pytorch autograd backward函數(shù)中 retain_graph參數(shù)的作用,簡單例子分析,以及create_graph參數(shù)的作用 - yangyuwen_yang - 博客園 (cnblogs.com)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-560534.html

?

?

到了這里,關(guān)于【python基礎(chǔ)】python中的with關(guān)鍵字及其相關(guān)用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python批量替換Excel和Word中的關(guān)鍵字

    有時,我們手頭上有多個Excel或者Word文件,但是領(lǐng)導(dǎo)突然要求對某幾個術(shù)語進(jìn)行批量的修改,你是不是有要崩潰的感覺。因?yàn)檫@么多文件,要一個一個地打開文件,再進(jìn)行批量替換修改,幾個文件還好,如果是成百上千的文件,我想你一會兒就感覺自己被搞暈了,不僅搞不清

    2024年02月12日
    瀏覽(156)
  • 【Go 基礎(chǔ)篇】Go語言中的defer關(guān)鍵字:延遲執(zhí)行與資源管理

    【Go 基礎(chǔ)篇】Go語言中的defer關(guān)鍵字:延遲執(zhí)行與資源管理

    在Go語言中, defer 是一種用于延遲執(zhí)行函數(shù)調(diào)用的。它提供了一種簡潔而強(qiáng)大的方式,用于在函數(shù)返回之前執(zhí)行一些必要的清理操作或者釋放資源。 defer 的靈活性和易用性使得它在Go語言中廣泛應(yīng)用于資源管理、錯誤處理和代碼結(jié)構(gòu)優(yōu)化等方面。?????? 本篇博客將詳

    2024年02月11日
    瀏覽(28)
  • chatgpt相關(guān)關(guān)鍵字

    chatgpt相關(guān)關(guān)鍵字

    聽了一堂chatgpt的課程,真假參半,但積累了一些。不知道這些會在什么時候起到作用,先記錄下來作為靈感積累 1 自然進(jìn)化的過程,是人選擇工具,也是工具選擇人 2 Copliot-自動編程,感覺適用于獨(dú)立新增模塊 3 深藍(lán)學(xué)院:openAI-chatgpt 4 圖像修復(fù)算法:DALL-E-2 5

    2023年04月21日
    瀏覽(19)
  • 常用的 SQL Server 關(guān)鍵字及其含義

    SQL Server 是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),提供了用于管理和操作數(shù)據(jù)庫的各種。 以下是一些常用的 SQL Server 及其含義: SELECT: 用于從數(shù)據(jù)庫中檢索數(shù)據(jù)。 INSERT: 用于將新記錄插入到數(shù)據(jù)庫表中。 UPDATE: 用于更新數(shù)據(jù)庫表中的記錄。 DELETE: 用于從數(shù)據(jù)庫表

    2024年02月08日
    瀏覽(91)
  • Final關(guān)鍵字的使用技巧及其性能優(yōu)勢

    Final關(guān)鍵字的使用技巧及其性能優(yōu)勢

    Java中的final用于修飾變量、方法和類,可以讓它們在定義后不可更改,從而提高程序的穩(wěn)定性和可靠性。此外,final還有一些使用技巧和性能優(yōu)勢,本文將詳細(xì)介紹它們。 在Java中,final用于修飾變量、方法和類,其基本用法如下: 修飾變量 當(dāng)我們使用f

    2024年02月03日
    瀏覽(439)
  • unity的C#學(xué)習(xí)——標(biāo)識符號、關(guān)鍵字與數(shù)據(jù)類型及其轉(zhuǎn)換方式

    標(biāo)識符是用來識別 類、變量、函數(shù) 或任何其它用戶定義的 項(xiàng)目 。在 C# 中,類的命名必須遵循如下基本規(guī)則: 標(biāo)識符必須以 字母、下劃線或 @ 開頭,后面可以跟一系列的字母、數(shù)字( 0 - 9 )、下劃線( _ )、@。 標(biāo)識符中的第一個字符不能是數(shù)字。 標(biāo)識符必須不包含任何

    2024年02月01日
    瀏覽(40)
  • linux 查詢 日志 相關(guān)操作 及 vim 翻頁,檢索關(guān)鍵字

    前言:linux 常見操作還是要熟練使用,這里記錄一下查詢 項(xiàng)目 日志的操作 實(shí)時查看打印的日志: tail -f 文件名稱 可以實(shí)時的查看 日志信息 如果查看其他的日志信息,可以使用vim編輯器 檢索 vim 文件名稱 進(jìn)入 vim 模式 shift + :wq可以退出 vim翻頁 1.翻整頁 Ctrl + f 鍵 (f 的英文全拼

    2024年02月12日
    瀏覽(23)
  • 帝國cms內(nèi)容頁根據(jù)關(guān)鍵字調(diào)用相關(guān)內(nèi)容的方法

    我們使用帝國cms的時候,需要調(diào)用當(dāng)前文章的其他相關(guān)的文章,根據(jù)相關(guān)的方式,這樣內(nèi)頁關(guān)聯(lián)比較好,對于seo與用戶體驗(yàn)來說都是非常好的 代碼如下 =$or[title]? =$newstime? }}else{ $mesql2=$empire-query(\\\"select * from {$dbtbpre}ecms_news where id\\\".$navinfor[\\\'id\\\'].\\\" order by rand() desc limit 10\\\");w

    2024年02月03日
    瀏覽(89)
  • Rust中的關(guān)鍵字

    嚴(yán)格 as - 強(qiáng)制類型轉(zhuǎn)換,消除特定包含項(xiàng)的 trait 的歧義,或者對 use 和 extern crate 語句中的項(xiàng)重命名 async - 返回一個 Future 而不是阻塞當(dāng)前線程( 2018版新增) await - 暫停執(zhí)行直到 Future 的結(jié)果就緒( 2018版新增) break - 立刻退出循環(huán) const - 定義常量或不變裸指針(constant raw

    2024年02月07日
    瀏覽(28)
  • mysql中的關(guān)鍵字

    MySQL是一種流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),包含許多,這些在MySQL中具有特殊的含義,用于執(zhí)行各種數(shù)據(jù)庫操作。以下是MySQL中的一些及其用法: ADD:用于向現(xiàn)有表添加一列或多列。 ALTER:用于修改表的結(jié)構(gòu),例如更改列名、更改列的數(shù)據(jù)類型、修改索

    2024年02月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包