溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python 類的繼承 實(shí)例方法.靜態(tài)方法.類方法的代碼解析

發(fā)布時(shí)間:2020-08-29 11:45:00 來源:腳本之家 閱讀:151 作者:南魚羈荒渡 欄目:開發(fā)技術(shù)

這篇文章主要介紹了python 類的繼承 實(shí)例方法.靜態(tài)方法.類方法的代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

dt={}
class Denglu:
  def register(self,name,psd):
    if name.isalnum() and psd.isalnum():
      if name not in dt.keys():
        dt[name]=psd
        print('注冊(cè)成功')
      else:
        print('已經(jīng)存在該用戶名')
    else:
      print('你輸入的賬戶名稱或密碼不符合規(guī)定')
  def login(self,name,psd):
    if len(dt):
      if name in dt.keys():
        if psd==dt[name]:
          print('登陸成功')
        else:
          print('密碼錯(cuò)誤')
      else:
          print('該用戶未注冊(cè)')
    else:
      print('未曾有人注冊(cè)過')
  def modify(self,name,psd):
    if name in dt.keys() and psd!=' ':
      dt[name]=psd
      print('修改密碼成功')
    else:
      print('該賬戶不存在')
class main(Denglu):
  def show(self):
    opt=input('請(qǐng)輸入選項(xiàng)\n'
              '1——注冊(cè)\n'
              '2——登陸\n'
              '3——修改密碼\n'
              '4——退出系統(tǒng)\n')
    if opt.isdigit():
      opt=int(opt)
      if 1<=opt<=4:
        return opt
      else:
        return 0
    else:
      return 0
  def din(self):
    while True:
      t=self.show()
      if t==1:
        name=input('[注冊(cè)]請(qǐng)輸入用戶名')
        psd=input('[注冊(cè)]請(qǐng)輸入密碼')
        name=name.strip()
        psd=psd.strip()
        self.register(name,psd)
      elif t==2:
        name=input('[登陸]請(qǐng)輸入用戶名')
        psd=input('[登陸]請(qǐng)輸入密碼')
        name=name.strip()
        psd=psd.strip()
        self.login(name,psd)
      elif t==3:
        name=input('[修改]請(qǐng)輸入用戶名')
        psd=input('[修改]請(qǐng)輸入密碼')
        name=name.strip()
        psd=psd.strip()
        self.modify(name,psd)
      elif t==4:
        print('退出系統(tǒng)')
        break
      else:
        print('親 按要求輸入哦!')
temp=main()
temp.din()

對(duì)于面向?qū)ο缶幊?類繼承來說這是一個(gè)很經(jīng)典的例子,原諒我直接上代碼了哈。。然后是關(guān)于靜態(tài)方法。類方法。的調(diào)用

對(duì)于各種方法的解釋不做綴釋。。

class TaSt:
  age = 88 # 類屬性

  def __init__(self, name):
    self.name = name  # 實(shí)例屬性

  def show(self, b):
    print(u'實(shí)例方法', b)

  @staticmethod
  def show2(a):
    print(u'靜態(tài)方法',a)

  @classmethod
  def add(cls, a):  # 第一個(gè)參數(shù)必須是類本身
    print(u'類方法', a)


t1 = TaSt('55') # 實(shí)例化一個(gè)對(duì)象
t1.show('調(diào)用實(shí)例方法') # 調(diào)用實(shí)例方法
TaSt.show(t1, '類調(diào)用實(shí)例方法。傳參是實(shí)例化后對(duì)象') # 類調(diào)用實(shí)例方法。傳參是實(shí)例化后對(duì)象
t1.show2('實(shí)例調(diào)用靜態(tài)方法') # 實(shí)例調(diào)用靜態(tài)方法
TaSt.show2('類調(diào)用靜態(tài)方法') # 類調(diào)用靜態(tài)方法
t1.add('類方法實(shí)例化后調(diào)用') # 類方法實(shí)例化后調(diào)用
TaSt.add('類方法直接使用類名調(diào)用') # 類方法直接使用類名調(diào)用
print(t1.name, '調(diào)用實(shí)例屬性') # 類調(diào)不了
print(t1.age, '調(diào)用lei屬性')
print(TaSt.age, '調(diào)用lei屬性')

輸出結(jié)果::
》》實(shí)例方法 調(diào)用實(shí)例方法
》》實(shí)例方法 類調(diào)用實(shí)例方法。傳參是實(shí)例化后對(duì)象
》》靜態(tài)方法 實(shí)例調(diào)用靜態(tài)方法
》》靜態(tài)方法 類調(diào)用靜態(tài)方法
》》類方法 類方法實(shí)例化后調(diào)用
》》類方法 類方法直接使用類名調(diào)用
》》55 調(diào)用實(shí)例屬性
》》88 調(diào)用lei屬性
》》88 調(diào)用lei屬性

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI