人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python中關于面向?qū)ο蟾拍畹脑敿氈v解

發(fā)布日期:2021-12-27 22:36 | 文章來源:源碼中國

面向?qū)ο缶幊痰?個非常重要的概念:
類和對象

對象是面向?qū)ο缶幊痰暮诵模谑褂脤ο蟮倪^程中,為了將具有共同特征和行為的一組對象抽象定義,提出了另外一個新的概念——類。

類用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

類是由三部分構(gòu)成:

類的名稱
類的屬性
類的方法

格式如下:

# 類名
class Func(object):
 # 類的屬性
 i=123
 # 類的方法
 def f(self):
  print('6666')
# 實例化類
a=Func()
# 訪問類的屬性
print(a.i)
# 調(diào)用類的方法
a.f()

object 是Python 里所有類的最頂級父類;
類名 的命名規(guī)則按照"大駝峰命名法";
f 是一個實例方法,第一個參數(shù)一般是self,表示實例對象本身,當然了可以將self換為其它的名字,其作用是一個變量 這個變量指向了實例對象

魔法方法

1.init

Python 的類里提供的,兩個下劃線開始,兩個下劃線結(jié)束的方法,就是魔法方法,init()就是一個魔法方法,通常用來做屬性初始化 或 賦值 操作(作用)。
如果類面沒有寫__init__方法,Python會自動創(chuàng)建,但是不執(zhí)行任何操作
如果為了能夠在完成自己想要的功能,可以自己定義__init__方法
所以一個類里無論自己是否編寫__init__方法 一定有__init__方法

案例:

# 類名
class Func(object):
 def __init__(self,name,age):
  self.name=name
  self.age=age
 # 類的屬性
 i=123
 # 類的方法
 def f(self):
  print('我的名字叫%s,今年%d歲了'%(self.name,self.age))
# 實例化類
a=Func('大飛',24)
# 訪問類的屬性
print(a.i)
# 調(diào)用類的方法
a.f()

init(self)中,默認有1個參數(shù)名字為self,如果在創(chuàng)建對象時傳遞了2個實參,那么__init__(self)中出了self作為第一個形參外還需要2個形參,例如__init__(self,x,y)

注意:
1). 在類內(nèi)部獲取 屬性 和 實例方法,通過self獲??;
2). 在類外部獲取 屬性 和 實例方法,通過對象名獲取。
3). 如果一個類有多個對象,每個對象的屬性是各自保存的,都有各自獨立的地址;
4). 但是實例方法是所有對象共享的,只占用一份內(nèi)存空間。類會通過self來判斷是哪個對象調(diào)用了實例方法。

2.str

str 如果一個類中定義了__str__方法,在打印對象時,默認輸出該方法的返回值,沒有定義會返回對象的地址

class Func(object):
 def __init__(self,name,age):
  self.name=name
  self.age=age
a=Func('大飛',24)
print(a)

調(diào)用__str__方法,輸出結(jié)果是該方法的返回值

class Func(object):
 def __init__(self,name,age):
  self.name=name
  self.age=age
 def __str__(self):
  return '我的名字叫%s,今年%d歲了'%(self.name,self.age)
a=Func('大飛',24)
print(a)


總結(jié):實例化對象時會調(diào)用__str__()方法,如果沒有定義__str__()方法會打印一個對象的地址,如果定義__str__()并且有返回值,就會打印其中的返回值

3.del

當刪除對象時,python解釋器會默認調(diào)用一個方法,這個方法為__del__()方法

class Dog(object):
 def __init__(self,name):
  self.name =name
  print("__init__方法被調(diào)用")
 def __del__(self):
  print("__del__方法被調(diào)用")
  print("python解釋器開始回收%s對象了" % self.name)
p = Dog('Bob')
del p

到此這篇關于Python中關于面向?qū)ο蟾拍畹脑敿氈v解的文章就介紹到這了,更多相關Python 面向?qū)ο?內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部