国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編程之屬性和方法實例詳解

2020-02-23 01:17:39
字體:
供稿:網(wǎng)友

本文實例講述了Python編程中屬性和方法使用技巧。分享給大家供大家參考。具體分析如下:

一、屬性

在python中,屬性分為公有屬性和私有屬性,公有屬性可以在類的外部調(diào)用,私有屬性不能在類的外部調(diào)用。公有屬性可以是任意變量,私有屬性是以雙下劃線開頭的變量。

下面我們定義一個People類,它有一個公有屬性name,和一個私有屬性__age。

class People():def __init(self):self.name='張珊'self.__age=24

我們創(chuàng)建一個People類的實例,P1,當(dāng)我們調(diào)用它的私有屬性__age時發(fā)現(xiàn)有如下錯誤。

>>> p1.__age
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    p1.__age
AttributeError: 'People' object has no attribute '__age'

這就說明了私有屬性不可以在類的外部使用。那么我們要想調(diào)用私有屬性的值,就可以在類的內(nèi)部通過定義一個方法來調(diào)用。

>>> class People():def __init__(self):  self.name='jack'  self.__age=23def showinfo(self):  print(self.__age)>>> p2=People()>>> p2.showinfo()23

可能有人會問,為什么加上雙下劃線的屬性,我們就不可以在類的外部調(diào)用了呢?那么下面我們就探討下python面向?qū)ο蟮乃接袡C制。

Python中以雙下劃線開頭的屬性和方法,在被實例化后會自動在其名字前加_classname.因為名字被改變了,所以自然無法通過雙下滑線開頭的名字來訪問,從而達到不可進入的目的。

我們可以通過實例名.__dict__來查看對象的屬性集合。

Python中不同于其他面向?qū)ο蟮木幊陶Z言,python的設(shè)計哲學(xué)就是簡單至上,因此如果你真的想要調(diào)用私有屬性的話還是可以調(diào)用的。

二、方法

在python中方法分為公有方法、私有方法、類方法和靜態(tài)方法。

下面我們看一個比較完整的例子

#!/usr/bin/python#coding:utf-8__author__ = 'MXi4oyu'class People():  def __init__(self):    self.name='張珊'    self.__age=23  def fun1(self):    #共有方法可以在類的外部進行調(diào)用    #可以通過對象名.方法名來調(diào)用    print("共有方法")  def __fun2(self):    #私有方法不能在類的外部進行調(diào)用    #可以在類的其他方法中調(diào)用私有方法    print("私有方法")  def funcshow(self):    self.__fun2()  @classmethod  #類方法要加上@classmethod修飾器,類方法可以通過類名.方法名進行調(diào)用  def fun3(self):    print("類方法")  @staticmethod  #靜態(tài)方法需要加上@staticmethod修飾器,靜態(tài)方法不需要加self,  #同樣可以通過類名.方法名調(diào)用  def fun4():    print("靜態(tài)方法")if __name__=='__main__':  p1=People()  p1.fun1()  p1.funcshow()  People.fun3()  People.fun4()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆德县| 乐山市| 招远市| 安陆市| 无极县| 自治县| 漯河市| 东光县| 台北市| 漳平市| 太仓市| 含山县| 达州市| 平阴县| 滨州市| 衢州市| 壶关县| 黔江区| 都安| 台山市| 广饶县| 淳化县| 盐津县| 九台市| 沙坪坝区| 汽车| 江源县| 慈溪市| 柘荣县| 平和县| 古田县| 吴江市| 华宁县| 应城市| 宁河县| 曲阜市| 达州市| 博罗县| 纳雍县| 买车| 华坪县|