日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python:为什么必须在方法定义和调用中明确使用'self'?

發(fā)布時間:2025/3/15 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python:为什么必须在方法定义和调用中明确使用'self'? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

面向?qū)ο蟮恼Z言有對象。對象是狀態(tài)和行為的組合。對象需要訪問自己的狀態(tài)。這樣做基本上有兩個主要選擇。要么你明確地說你何時訪問一個對象的狀態(tài)(通過self,this或者其他類似的東西),或者語言會為你找出。

讓我先討論后一種情況。存在名稱沖突的問題。例如,如果對象的數(shù)據(jù)成員與方法參數(shù)的名稱匹配,或者如果聲明與數(shù)據(jù)成員的名稱匹配的局部變量,會發(fā)生什么。您要么不允許這種情況,要么具有某種解決機(jī)制。Smalltalk是一個像這樣工作的語言的例子,但我不記得語言是如何處理碰撞問題的。

在大多數(shù)OOP語言,當(dāng)你從它的一個方法中引用一個對象的狀態(tài)(或其他方式),你明確地說,就是你用做什么自我,或者這個,或者別的什么東西。這種功能的語言有兩種形式。他們要么隱式地這樣做 - 這意味著你不必聲明鏈接實(shí)體(就像C ++那樣)或者你明確地聲明它(比如Python)。

請記住,在Python 中調(diào)用此鏈接實(shí)體self純粹是一種約定; 所有程序員都應(yīng)該遵循的有用約定,但仍然只是一個約定。你可以稱之為,或州或我或任何東西,但這將是愚蠢的。該語言的作用是將調(diào)用對象顯式傳遞給每個方法作為第一個參數(shù),該參數(shù)用于訪問狀態(tài)和其他方法。

最后,Python使用self的方式是一種有利于(如Tony Flury所說)明確的設(shè)計決策。我相信很多人都有關(guān)于這是一個好的決定還是其他方面的想法。我的意見是,這是一個很好的。

總結(jié)

以上是生活随笔為你收集整理的Python:为什么必须在方法定义和调用中明确使用'self'?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。