python屬性和方法的區別是什麼
物件的建立
建立物件的過程稱之為例項化;當一個物件被建立後,包含三個方面的特性:物件控制程式碼、屬性和方法。
控制程式碼用於區分不同的物件
物件的屬性和方法與類中的成員變數和成員函式對應
obj=MyClass() //建立類的一個例項(物件)透過物件來呼叫方法和屬性
類的屬性
類的屬性按使用範圍:公有屬性和私有屬性,
類的屬性範圍取決於屬性的名稱。
公有屬性:在類中和類外都能呼叫屬性。
私有屬性:不能在類外及被類意外的函式呼叫。
定義方式:以“_”雙下劃線開始的成員變數就是私有屬性
私有屬性,可以透過instance._classname_attribute方式訪問。
內建屬性:有系統在定義類的時候預設新增的,由前後雙下劃線構成,dict,module.
#!/usr/bin/env python #-*-coding:utf-8-*- #@Time : 2018/1/11 15:48 #!@Auther:bestsky #!@File :demon1-class attributes.py class People(object): color = "yellow" __age = 30 #私有屬性 def think(self): self.color = "black" print ("I am a %s" %self.color) # print self.__age ren = People() print ren print ren.color ren.think()
print ren._People__age #私有屬性呼叫方法,建議:僅程式測試使用
類的方法
方法的定義和函式一樣,但是需要self作為第一個引數
類的方法為:
公有方法
公有方法:在類中和類外都能呼叫的方法
私有方法
私有方法:不能被類外部呼叫,在方法前面加上“__“雙下劃線就是私有方法;
類方法
類方法:被classmethod()函式處理過的函式,能被類所呼叫,也能被物件所呼叫(是繼承的關係)
靜態方法
靜態方法:相當於“全域性函式”,可以被類直接呼叫,可以被所有例項化物件共享,透過staticmethod()定義, 靜態方法沒有“self”引數。
self引數
用於區分函式和類的方法(必須有一個self),self參數列示執行物件本身。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4662/viewspace-2835501/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python類屬性和例項屬性分別是什麼?Python
- python is和==的區別是什麼?Python
- python中類方法的區別是什麼Python
- getElementById和querySelector方法的區別是什麼?
- Java和Python是什麼?有什麼區別?JavaPython
- opencv和Python的區別是什麼?Python開發!OpenCVPython
- python的dir()和__dict__屬性的區別Python
- python和c語言的區別是什麼PythonC語言
- pycharm和python區別(關係)是什麼PyCharmPython
- Python和C語言區別是什麼?PythonC語言
- 初學Python過程中,例項方法和類方法的區別是什麼?Python
- 什麼是Python直譯器?和Python IDE有什麼區別?PythonIDE
- cython和python分別是什麼?區別有哪些?Python
- Python和GO語言之間的區別是什麼?PythonGo
- 字典和json的區別是什麼?Python學習JSONPython
- 海外HTTP代理中全域性代理和區域性代理是什麼?有什麼區別?HTTP
- anaconda和pycharm區別是什麼?Python學習!PyCharmPython
- Python中類方法和例項方法有什麼區別?Python
- Python和Java的主要功能區別是什麼?PythonJava
- python32位和64位的區別是什麼Python
- Python和GO語言之間的區別是什麼?Python培訓PythonGo
- disabled和readonly屬性區別
- Python和Go是什麼?它們之間有什麼區別?PythonGo
- Rust 屬性是什麼?Rust
- ArrayList和LinkedList的區別是什麼
- cat和vim的區別是什麼?
- reactjs和vuejs的區別是什麼ReactJSVue
- 127.0.0.1和0.0.0.0的區別是什麼?127.0.0.1
- 什麼是python?與PHP有什麼區別?PythonPHP
- jupyter和pycharm區別是什麼?Python學習班PyCharmPython
- 什麼是PCB?什麼是PCBA?PCB和PCBA的區別?
- Python語言中/與//的區別是什麼?Python
- 什麼是 cookie 的 httponly 屬性CookieHTTP
- font-style的屬性有Italic和oblique,兩者有什麼區別呢
- Mssql和Mongodb區別是什麼SQLMongoDB
- powershell和cmd區別是什麼
- python和nodejs有什麼區別PythonNodeJS
- cookie是什麼?和session有什麼區別?CookieSession