欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python类属性学习深入讲解

时间:2021-12-19 10:50:28|栏目:Python代码|点击:
class MyClass():
  # 直接将属性定义在类中,这种属性称为 类属性
  # 类属性可以通过实列对象和类对象访问,但是只能通过类对象修改
  # 类属性都是用来保存一些公共的数据
  a = 10

  def __init__(self):
    # 可以直接将属性添加到实列对象中,此时这个属性称为实例属性
    # 实例属性只能被实例访问和修改,无法被类访问和修改
    # 一般情况下定义的都是实例属性
    self.b = 'hello'

  # 在类中直接定义的方法,称为实例方法
  # 实例方法,可以通过实例对象和类对象调用
  #  但是注意:通过类对象调用时,不会自动传递self
  def fn(self):
    print('我是fn方法')


  # 在方法前添加classmethod,则该方法自动变成类方法
  #  类方法的第一个参数默认是cls表示当前的类对象
  #  并且类方法既可以通过实例对象调用也可以通过类对象调用
  @classmethod
  def fn2(cls):
    print('我是fn2方法', cls)

  # 添加staticmethod装饰器的方法是 静态方法
  # 静态方法可以通过类和实例调用,并且没有任何默认参数
  # 静态方法是和对象无关的方法,一般静态方法都是一些工具方法
  #  觉得没有地方放了,就放到一个类中
  @staticmethod
  def fn3():
    print('我是fn3方法')

mc = MyClass()
# mc.a = 50
MyClass.a = 30
print(mc.b)
print(MyClass.a)

MyClass.fn(mc)
MyClass.fn2()
mc.fn2()

MyClass.fn3()
mc.fn3()

在这里插入图片描述

上一篇:关于Django外键赋值问题详解

栏    目:Python代码

下一篇:我用Python做个AI出牌器斗地主把把赢

本文标题:python类属性学习深入讲解

本文地址:http://www.codeinn.net/misctech/187379.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有