當前位置:首頁 » 編程語言 » pythonself調用

pythonself調用

發布時間: 2022-07-02 08:41:58

1. python函數調用參數需要加self嗎

不用,例如我自定義一個類裡麵包括一個函數 def test(self,url):...,調用的時候初始化類,直接用
test(url)就可以了,不用加self

2. python類中self的問題

原因都出在第4行這句: test3.count += 1 #!!!注意此處不是self.count
你每運行一次 init() 函數 count 就會累加一
注意 你累加的是 test3.count 而不是 self.count
所以 運行了三次 init() 函數 的輸出是 1 2 3
如果 你累加的是 self.count 就會輸出三次 1 1 1
***首先要理解上面所說的 再繼續看下面的***
既然如此 print(cc3.count,cc4.count) #返回2,2 就是正確的
cc3.count 指向的 test3().count 輸出的是 2 沒異議是吧
cc4.count 指向的也是 test3().count 為什麼不是 2 都是同一個東西
print(cc3.count,cc4.count) #返回3,6
前面第一個3 就不用多說了
後面的第二個6 是因為你 cc4.count=6 這句指定了他是6
比如 a = 6 輸出a會是什麼? 當然是6啊

3. Python中的self有啥用 self.name=name這句話有啥作用

self是對「對象」自身的引用。相當於c++中的this。python中self在類的方法中必須以傳入參數寫在函數的參數列表中。它實際上是指向類的對象的一個類似於C++中指針的私有變數。

python規定:訪問類成員時,需要在前面加上this。這里,this.name = name表示為Person類添加了屬性name。

如果變數前不加this,則視為局部變數。這個變數會在方法運行結束後失效。而屬性在整個類的范圍內都是有效的。

self是只有在類中才會有的。self在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。

(3)pythonself調用擴展閱讀:

1、if 語句

1)基本用法:

if 要判斷的條件:條件成立的時候,要做的事情

else:條件不成立的時候,要做的事情

if和else語句以及各自的縮進部分都是一個完整的代碼塊

2、if 邏輯運算

and:

# 條件1 and 條件2

# 兩個條件同時滿足,就返回True

# 兩個條件都不滿足,返回False

4. python中self是什麼

python中的self就相當於C++中的this指針
也就是指向對象本身的指針
self.name = name 就是當前對象的成員變數name賦值為name。

5. 如何理解並正確使用python中的self

類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱,但是在調用這個方法的時候你不為這個參數賦值,Python會提供這個值。這個特別的變數指對象本身,按照慣例它的名稱是self。 雖然你可以給這個參數任何名稱,但是 強烈建議 你使用self這個名稱——其他名稱都是不贊成你使用的。使用一個標準的名稱有很多優點——你的程序讀者可以迅速識別它,如果使用self的話,還有些IDE(集成開發環境)也可以幫助你。 =======================================================給C++/java/C#程序員的注釋 Python中的self等價於C++中的self指針和Java、C#中的this參考。 =======================================================你一定很奇怪Python如何給self賦值以及為何你不需要給它賦值。舉一個例子會使此變得清晰。假如你有一個類稱為MyClass和這個類的一個實例MyObject。當你調用這個對象的方法MyObject.method(arg1, arg2)的時候,這會由Python自動轉為MyClass.method(MyObject, arg1, arg2)——這就是self的原理了。 這也意味著如果你有一個不需要參數的方法,你還是得給這個方法定義一個self參數。 我這里補充一下幾個實常式序以加深理解: class Person: def sayHi(self): print 'Hello,how are you?'p=Person() p.sayHi()結果顯示為: Hello,how are you?

6. 用python定義類的時候用self定義,但是調用的時候他顯示沒有我定義的參數,求各位大佬解答

你init裡面試pos=t,但是你沒有傳進去t啊,改成self.pos=pos

7. 為什麼Python必須在方法定義和調用中顯式使用「self」

為什麼Python必須在方法定義和調用中顯示使用「self」?

這個想法借鑒了 Mola-3 語言。出於多種原因它被證明是非常有用的。

首先,更明顯的顯示出,使用的是方法或實例屬性而不是局部變數。

閱讀self.x或self.meth()可以清楚地表明,即使您不知道類的定義,也會使用實例變數或方法。

在 C++ 中,可以通過缺少局部變數聲明來判斷(假設全局變數很少見或容易識別) —— 但是在 Python 中沒有局部變數聲明,所以必須查找類定義才能確定。

一些 C++ 和 Java 編碼標准要求實例屬性具有m_前綴,因此這種顯式性在這些語言中仍然有用。

其次,這意味著如果要顯式引用或從特定類調用該方法,不需要特殊語法。

在 C++ 中,如果你想使用在派生類中重寫基類中的方法,你必須使用::運算符 -- 在 Python 中你可以編寫baseclass.methodname(self, <argumentlist>)。

這對於__init__()方法非常有用,特別是在派生類方法想要擴展同名的基類方法,而必須以某種方式調用基類方法時。

最後,它解決了變數賦值的語法問題:

為了 Python 中的局部變數(根據定義!)在函數體中賦值的那些變數(並且沒有明確聲明為全局)賦值,就必須以某種方式告訴解釋器一個賦值是為了分配一個實例變數而不是一個局部變數,它最好是通過語法實現的(出於效率原因)。

C++ 通過聲明來做到這一點,但是 Python 沒有聲明,僅僅為了這個目的而引入它們會很可惜。

使用顯式的self.var很好地解決了這個問題。類似地,對於使用實例變數,必須編寫self.var意味著對方法內部的非限定名稱的引用不必搜索實例的目錄。

換句話說,局部變數和實例變數存在於兩個不同的命名空間中,您需要告訴 Python 使用哪個命名空間。

更多Python問答知識,請關注Python視頻教程!!

8. Python中self的使用

如果你學過C++或者java的話,self就同this指針,表示當前正在被調用的這個對象

9. 關於Python中的self

python中的self就相當於c++中的this指針
也就是指向對象本身的指針
self.name
=
name
就是當前對象的成員變數name賦值為name。

10. Python的self

self.name是一個函數調用語句,意思就是調用self這個函數里name這個變數,而這句語句是把name賦給函數中這個變數,您刪掉它後再print,程序會認為沒有定義,當然無法列印

熱點內容
sql倒序查詢 發布:2025-02-04 06:49:18 瀏覽:192
r7000p2021買哪個配置 發布:2025-02-04 06:40:17 瀏覽:965
如何消除微信小程序緩存 發布:2025-02-04 06:34:24 瀏覽:633
python27mysqldb 發布:2025-02-04 06:28:44 瀏覽:769
svn文件夾許可權 發布:2025-02-04 06:23:47 瀏覽:902
師編程 發布:2025-02-04 06:22:51 瀏覽:170
加密類型wpa 發布:2025-02-04 06:21:27 瀏覽:178
互聯網與雲伺服器 發布:2025-02-04 06:15:56 瀏覽:254
硬碟挖礦源碼 發布:2025-02-04 06:15:45 瀏覽:76
寶馬3系哪個配置合適 發布:2025-02-04 06:03:10 瀏覽:328