首页 > 编程 > Python > 正文

python 类的继承 实例方法.静态方法.类方法的代码解析

2019-11-25 11:53:19
字体:
来源:转载
供稿:网友

这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

dt={}class Denglu:  def register(self,name,psd):    if name.isalnum() and psd.isalnum():      if name not in dt.keys():        dt[name]=psd        print('注册成功')      else:        print('已经存在该用户名')    else:      print('你输入的账户名称或密码不符合规定')  def login(self,name,psd):    if len(dt):      if name in dt.keys():        if psd==dt[name]:          print('登陆成功')        else:          print('密码错误')      else:          print('该用户未注册')    else:      print('未曾有人注册过')  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('请输入选项/n'              '1――注册/n'              '2――登陆/n'              '3――修改密码/n'              '4――退出系统/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('[注册]请输入用户名')        psd=input('[注册]请输入密码')        name=name.strip()        psd=psd.strip()        self.register(name,psd)      elif t==2:        name=input('[登陆]请输入用户名')        psd=input('[登陆]请输入密码')        name=name.strip()        psd=psd.strip()        self.login(name,psd)      elif t==3:        name=input('[修改]请输入用户名')        psd=input('[修改]请输入密码')        name=name.strip()        psd=psd.strip()        self.modify(name,psd)      elif t==4:        print('退出系统')        break      else:        print('亲 按要求输入哦!')temp=main()temp.din()

对于面向对象编程 类继承来说这是一个很经典的例子,原谅我直接上代码了哈。。然后是关于静态方法。类方法。的调用

对于各种方法的解释不做缀释。。

class TaSt:  age = 88 # 类属性  def __init__(self, name):    self.name = name  # 实例属性  def show(self, b):    print(u'实例方法', b)  @staticmethod  def show2(a):    print(u'静态方法',a)  @classmethod  def add(cls, a):  # 第一个参数必须是类本身    print(u'类方法', a)t1 = TaSt('55') # 实例化一个对象t1.show('调用实例方法') # 调用实例方法TaSt.show(t1, '类调用实例方法。传参是实例化后对象') # 类调用实例方法。传参是实例化后对象t1.show2('实例调用静态方法') # 实例调用静态方法TaSt.show2('类调用静态方法') # 类调用静态方法t1.add('类方法实例化后调用') # 类方法实例化后调用TaSt.add('类方法直接使用类名调用') # 类方法直接使用类名调用print(t1.name, '调用实例属性') # 类调不了print(t1.age, '调用lei属性')print(TaSt.age, '调用lei属性')输出结果::》》实例方法 调用实例方法》》实例方法 类调用实例方法。传参是实例化后对象》》静态方法 实例调用静态方法》》静态方法 类调用静态方法》》类方法 类方法实例化后调用》》类方法 类方法直接使用类名调用》》55 调用实例属性》》88 调用lei属性》》88 调用lei属性

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表