14.7类的成员:字段,方法

类的成员:字段和方法br/>在Python中,字段和方法都叫成员
类成员:
字段:
1.普通字段,保存在对象中,执行只能通过对象访问。
2.静态字段,保存在类中,执行可以通过类或者对象访问,内存中只保留一份。
方法:
1.普通方法保存在类中,由对象调用,self指对象。
2.静态方法,@staticmethod,保存在类中,self颜色变黑,不用必须写self参数,用类直接调用,相当去直接写一个函数。
3.类方法,@classmethod,保存在类中,潜规则,参数写成cls(class),cls指类,用类直接调用。

应用场景
1.希望在对象保存一些值,而调用方法需要用一些值----普通方法。
2.不需要任何对象中的值----静态方法。

# -*-coding:utf-8 -*-
__author__ = 'xiaojiaxin'
__file_name__ = '面向对象实例练习'

class Foo():
    #静态变量,属于类,在内存中只保存一份
    country="中国"

    def __init__(self,n):
        #普通字段
        self.name=n
    #普通方法
    def show(self):
        print(self.name)

obj1=Foo("wang")
obj1.show()
# wang
print(Foo.country)    #静态字段可以通过访问类直接访问,它就存在类中
# 中国
# print(Foo.name)     #报错,普通字段不能通过类直接访问
# AttributeError: type object 'Foo' has no attribute 'name'

print(obj1.country)   #静态字段还可以通过对象直接访问
# 中国
class fun():

def bar(self):
print("123")

@staticmethod    #加装饰器变成静态方法
def staticmd():
print("ok")

@classmethod    #类方法
def classmd(cls):
print(cls)
print("ok2")

fun.bar("obj2")  #与下面两行等价
123
obj2=fun()
obj2.bar()
123

fun.staticmd()    #静态方法可以用类直接调用
ok

fun.classmd()
<class '__main__.fun'>
ok2

转载于:https://blog.51cto.com/10777193/2102938

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值