亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

深入解析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

佛学| 双辽市| 新乡市| 清远市| 新巴尔虎左旗| 鄯善县| 万载县| 福海县| 东兴市| 三穗县| 固安县| 铜陵市| 凤阳县| 临颍县| 樟树市| 慈溪市| 灌南县| 宁安市| 张家口市| 佛坪县| 耒阳市| 嘉定区| 晋州市| 株洲市| 琼中| 伊春市| 仁寿县| 宿迁市| 安宁市| 乌拉特前旗| 什邡市| 五台县| 栾川县| 禄丰县| 崇文区| 福安市| 梅州市| 隆昌县| 弥勒县| 玉林市| 米易县|