本文目錄一覽:
- 1、python類的定義與使用是什麼?
- 2、Python中靜態方法和類方法的區別
- 3、python定義的類怎麼用
- 4、什麼時候使用python類cls方法
- 5、python 什麼時候用類方法
- 6、python 如何調用類的方法
python類的定義與使用是什麼?
類Class:用來描述具體相同的屬性和方法的對象的集合。定義了該集合中每個對象所共有的屬性和方法。對象是類的示例。
類定義完成時(正常退出),就創建了一個 類對象。基本上它是對類定義創建的命名空間進行了一個包裝;我們在下一節進一步學習類對象的知識。原始的局部作用域(類定義引入之前生效的那個)得到恢復,類對象在這裡綁定到類定義頭部的類名(例子中是 ClassName )。
基本語法
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。它不像其他的靜態語言如C、Pascal那樣需要重複書寫聲明語句,也不像它們的語法那樣經常有特殊情況和意外。
以上內容參考:百度百科-Python
Python中靜態方法和類方法的區別
靜態方法是調用時跟具體實例沒有關聯的方法,不需要使用self和cls參數。
類方法是調用的時候,要使用類的相關成員的方法,需要使用cls參數,但不用self參數。
參考:劉江的Python教程
python定義的類怎麼用
python定義的類使用方法:
使用「obj=類名()」語句將類實例化,然後用「obj.函數名」就可以調用類裡面定義的各種函數了
示例如下:
將Bili類實例化,然後就可以使用類里的函數
更多Python知識,請關註:Python自學網!!
什麼時候使用python類cls方法
cls是class的縮寫。
class A:
member = “this is a test.”
def __init__(self):
pass
@classmethod
def Print1(cls):
#榪欎釜鏄被鏂規硶
print “print 1: “, cls.member
def Print2(self):
print “print 2: “, self.member
@classmethod
def Print3(paraTest):
print “print 3: “, paraTest.member
a = A()
A.Print1() #相當於Print1(A)
a.Print2() #相當於Print2(a), 請注意@classmethod
A.Print3()
可以看出來,python在通過「.」調用成員函數的時候,會將「.」前面的東西當作函數的第一個參數調用。
而且pyhon並不關心我們把類的成員函數的第一個參數的名稱是什麼,我們可以用任意的名稱,可以看Print3的定義就知道了。
python 什麼時候用類方法
用class來聲明一個類,也就是創建了一個類。使用class關鍵字,後面接類的名稱,然後一個冒號
還有兩種寫法,他們都是等價的。
聲明類以後,我們使用__init__函數來重載構造函數,如圖所示,在類中都有一個self參數,他是任何類都有的,代表實例本身,假如我們想要給實例設置一個name屬性,那麼我們用下面的方法來設置。__init__後面的參數都可以在創建實例的時候使用。
當然我們可以任意設置__init__方法的參數個數
通常我們使用__del__函數來重載析構函數,不過如果你沒有在類的聲明中寫這個方法,它也會默認加上去的。所以,通常都不寫。。。
你還可以在類中聲明一個方法,然後在創建實例以後,我們再調用方法。聲明方法如下:
創建實例
創建實例我們用賦值的方式,我們可以直接將參數輸入到類中。然後用p.name來調用類的屬性。
python 如何調用類的方法
使用方法:
class A(object):
def foo(self,x):
#類實例方法
print “executing foo(%s,%s)”%(self,x)
@classmethod
def class_foo(cls,x):
#類方法
print “executing class_foo(%s,%s)”%(cls,x)
@staticmethod
def static_foo(x):
#靜態方法
print “executing static_foo(%s)”%x
調用方法:
a = A()
a.foo(1) //print : executing foo(__main__.A object at 0xb77d67ec,1)
a.class_foo(1) //executing class_foo(class ‘__main__.A’,1)
A.class_foo(1) //executing class_foo(class ‘__main__.A’,1)
a.static_foo(1) //executing static_foo(1)
A.static_foo(1) //executing static_foo(1)
類方法和靜態方法都可以被類和類實例調用,類實例方法僅可以被類實例調用。
類方法的隱含調用參數是類,而類實例方法的隱含調用參數是類的實例,靜態方法沒有隱含調用參數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254916.html