【Python】類的屬性和方法的引數加不加self的區別
先看一段程式碼
class Test(object):
ID = 1
def __init__(self):
pass
def prtID(self):
print(self.ID)
def classplusOne(self):
Test.ID += 1
def ObjplusOne(self):
self.ID += 1
t1 = Test()
t2 = Test()
t1.classplusOne()
這裡會發現t1對ID進行了修改卻影響了t2的ID, 這就說明ID屬於Test類,而非它的物件,換句話說這個屬性是全體Test例項共用的。這是因為self的意思同c++的this指標,它代表了類當前的例項,所以加了self的屬性就是類例項的屬性,不加就是類的屬性,這同c++中靜態類變數的含義是一樣的。
相關推薦
【Python】類的屬性和方法的引數加不加self的區別
先看一段程式碼 class Test(object): ID = 1 def __init__(self): pass def prtID(self): print(self.ID) def cl
【Python】【元編程】【一】動態屬性和特性
class join write msg pen mut quest pin sys #19.1 使用動態屬性轉換數據"""#栗子19-2 osconfeed.py:下載 osconfeed.jsonfrom urllib.request import urlopenimp
【Python】創建和使用類
自動運行 over 多個實例 引用 bottom color ack 小寫 運行 面向對象編程是最有效的軟件編寫方法之一 創建Dog類 class Dog(): ‘‘‘一次模擬小狗的簡單測試‘‘‘ def __init__(self,name,age
Python 類屬性和方法
import types class Dog(object): __slots__ = ("name", "color", "info") #定義__slots__
Python 進階_OOP 面向物件程式設計_類屬性和方法
目錄 類屬性 在理解類屬性之前要先搞清楚 例項屬性 和 函式屬性 之間的區別: 1. 例項屬性:指的是例項化類物件的屬性,需要在類中使用 self 關鍵字來將其和例項化物件繫結的屬性。 2. 函式屬性:指的是定義在函式體內的屬性,其可以是例項屬
c# 類屬性和方法
value node str 關鍵字 write art 方法 可變參 訪問器 屬性 public 類字段 就相當於c#裏面暴露給外面的屬性 類似nodejs的 module.exports 但是屬性又不同於普通的字段,屬性只是外部包裝字段 沒有自己的任何含量 類似退換
【python】-類的繼承
inf nbsp 參數 類繼承 com 繼承 clas pytho mage 繼承:從父類繼承到子類。 調用時需傳入一個對象作為參數。 【python】-類的繼承
【Python】理解yield和generator(生成器)
Overview 本文整理自: [1] Python yield 使用淺析 —— 廖雪峰 [2] 深入理解yield —— Python中文開發者社群 如何生成斐波那契數列 斐波那契(Fibonacci)數列是一個非常簡單的遞迴數列,除第一個和第二個數外,任意一個數都可由前兩
Python-動態新增屬性和方法
class Person(): Country='CN' def __init__(self,nm) self.nm=nm 動態新增例項屬性及例項方法: p=Person() p.age=18 #直接賦值,動態新增例項屬性 def set_age(self,age) #定義帶se
【python】關於excel和shp的使用在matplotlib
關於excel和shp的使用在matplotlib 使用pandas 對excel進行簡單操作 使用cartopy 讀取shpfile 展示到matplotlib中 利用shpfile檔案中的一些欄位進行一些著色處理 #!/usr/bin/env pyt
【python】詳解isinstance方法
isinstance() 函式來判斷一個物件是否是一個已知的型別,類似 type()。 isinstance() 與 type() 區別: type() 不會認為子類是一種父類型別,不考慮繼承關係。 isinstance() 會認為子類是一種父類型別,考慮繼承
php 定義類屬性和方法的public protected private 修飾詞的區別
這三個詞在定義類的屬性和方法時使用,其最大的區別在與他們作用域不同 public :全域性使用,不僅是本類,其子類,建立的物件都可以使用,甚至子類的子類由於繼承關係,也可以使用. protected:本類和其子類使用,如果後續有繼承的話, private : 僅限本類使用 class ClassA
【python】Pycharm安裝和使用
1. Pycharm安裝 去Pycharm官網或者直接輸入網址:jetbrains.com/pycharm/download,下載安裝包。 把Pycharm安裝包解壓到桌面上(這裡解壓路徑自己決定) cd /home/kiosk/Desktop/pycharm-co
【C#】靜態變數和方法該如何使用?
什麼是靜態變數? 簡單的來說就是:用static修飾的變數,它屬於它所在的類所有,而不是具體的某一個物件。 靜態變數也被稱為全域性變數,就是它在程式執行的時候就被初始化,如果你在它初始化或使用的時候,沒有給它賦值,系統就會給它一個預設值。 靜態方法同理,簡單瞭解一下
【Python】列表去重方法
如題:python中列表去重,使用三種基礎方法。 使用集合 集合中的元素是唯一的,所以利用集合進行去重 list1 = [2, 3, 56, 5, 5, 3 ] def func1(list1): ''''' 使用集合 ''' re
【Python】類與例項
面向物件最重要的概念就是類(Class)和例項(Instance),必須牢記類是抽象的模板,比如Student類,而例項是根據類創建出來的一個個具體的“物件”,每個物件都擁有相同的方法,但各自的資料可能
通過super呼叫父類屬性和方法
class Person{ String name; int age; //父類的構造方法 public Person() { } public String talk() { return "i
【Python】基礎-繼承和派生
面向物件的程式設計帶來的主要好處之一是程式碼的複用,實現這種複用的方法之一是通過繼承機制。 python中解決程式碼複用的方式:繼承和組合。1 什麼是繼承 繼承是一種建立類的方法,在python中,一個類可以繼承來自一個或多個父類。原始類稱為基類或超類。class ParentCla
【python 】資料型別和返回資料型別的函式
字串+字串 →稱為 "拼接" 數字+數字 →稱為"加法運算" 一、資料型別:整型、浮點型、布林型別 1、整型:整數 注意:python2中長整型需要在後面加l,python3中不區分整型和長整
【Python】工廠模式和建造者模式的區別
最近在看《精通Python設計模式(Mastering Python Design patterns)》, 剛剛看完建造者模式,由於和看完工廠模式隔的時間有點久,再加上兩者本來就很像,有點分不清了。 所以,今天又看了看這兩者,區分一下,加強下記憶,以便安心看後邊的設計模式