91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

深入解析python中的實例方法、類方法和靜態方法

發布時間:2020-10-26 05:49:11 來源:腳本之家 閱讀:144 作者:李嘉豪554 欄目:開發技術

1、實例方法/對象方法

實例方法或者叫對象方法,指的是我們在類中定義的普通方法。
只有實例化對象之后才可以使用的方法,該方法的第一個形參接收的一定是對象本身

深入解析python中的實例方法、類方法和靜態方法

2、靜態方法

(1).格式:在方法上面添加 @staticmethod
(2).參數:靜態方法可以有參數也可以無參數
(3).應用場景:一般用于和類對象以及實例對象無關的代碼。
(4).使用方式: 類名.類方法名(或者對象名.類方法名)。

定義一個靜態方法

class Game:

  @staticmethod
  def menu():
    print('------')
    print('開始[1]')
    print('暫停[2]')
    print('退出[3]')


Game.menu()

3、類方法

無需實例化,可以通過類直接調用的方法,但是方法的第一個參數接收的一定是類本身
(1).在方法上面添加@classmethod
(2).方法的參數為 cls 也可以是其他名稱,但是一般默認為cls
(3).cls 指向 類對象
(5).應用場景:當一個方法中只涉及到靜態屬性的時候可以使用類方法(類方法用來修改類屬性)。
(5).使用 可以是 對象名.類方法名。或者是 類名.類方法名

class Person:
  type = '人類'

  @classmethod
  def test(cls):
    print(cls.type)


Person.test()

舉例:使用類方法對商品進行統一打折

class Goods:
  __discount = 1

  def __init__(self, name, price):
    self.name = name
    self.price = price

  @classmethod
  def change_discount(cls, new_discount):
    cls.__discount = new_discount

  @property
  def finally_price(self):
    return self.price * self.__discount


banana = Goods('香蕉', 10)
apple = Goods('蘋果', 16)
Goods.change_discount(0.8)
print(banana.finally_price)
print(apple.finally_price)

Goods.change_discount(0.5)
print(banana.finally_price)
print(apple.finally_price)

輸出為:

8.0
12.8
5.0
8.0

以上所述是小編給大家介紹的python中的實例方法、類方法和靜態方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中西区| 德化县| 横峰县| 阳高县| 梁河县| 江油市| 威远县| 东兰县| 钟祥市| 行唐县| 高州市| 句容市| 南投市| 台湾省| 揭西县| 成安县| 晋宁县| 宁化县| 喜德县| 静乐县| 萨嘎县| 五家渠市| 陆良县| 巴里| 皋兰县| 章丘市| 方城县| 张家口市| 齐齐哈尔市| 于都县| 岳池县| 峨边| 和田市| 芷江| 惠安县| 张北县| 兴城市| 鹿邑县| 司法| 澄江县| 江门市|