python类对象实例对象_Python-类对象方法和类实例对象方法

自己总结python类中类对象方法和类实例对象方法,其判断的方法是:

(1)首先看方法定义是否引用了self,带了self,肯定为实例对象方法。

(2)其次,看是否带参数,如果不带参数,肯定是类对象方法。

(3)除了以上两条外,至少带一个参数的方法定义,且没有classmethod标识的,肯定为实例对象方法(第一个参数实际上是类实例对象self,比较隐含),其他类对象方法。

关于类对象方法怎么使用,大家可以参考我写的类对象方法一篇博文:https://blog..net/weixin_42039090/article/details/80580012,。

请大家分析如下代码:

# -*- coding: utf-8 -*-class Person(object):

Count=0;

_income=0;

__Tel="13088888888"

def __init__(self,name,number):

self.name=name              #实例对象可以引用的两个成员:name和number,且公有的。

self.number=number

def __scolia__(self):   #这是实例对象方法,因为引用了self变量,当然,其他也可以哦。

print("scola")

return "scola"

def think(a):

#这里用a,可以代替self。不加特别说明,这里默认think方法是实例方法。

#判断根据是:要不没参数,要不加装饰器@classmethod,或者classmethod标识。

print("name:",a.__class__.__name__)

print("I am thinking")

def Work():         #类方法,不是实例对象方法。

print(Person.__Tel)

#      print(Person.number)  类对象方法不能直接访问类实例对象的成员,即使是公有的,也不行。

Person.__Tel="13562334563"

print(" I am working!")

print(Person.__Tel)

def _Eat():              #保护类对象方法,也不是实例对象方法,在类继承中要注意。

print("I am Eating")

def __Sleep():           #私有类对象方法,不是类实例对象方法。

print('I am Sleeping')

#--------------类对象------------------------

print(Person.Count)

Person.Count+=1

print(Person.Count)

Person._income+=1000

print(Person._income)

#Person.__Tel #只能在类定义中引用,外部不能引用

Person.Work()

Person._Eat()

#Person.__Sleep() 只能在类定义中引用,外部不能引用

#---------------类实例化对象-------------------

a=Person()

Person.Count+=1 #类成员,实例一般不要轻易修改值。实例不改动类的属性值。a.Count没意义。

print(Person.Count)

a.think()       #定义时必须带参数。

a.__scolia__()  #定义时必须带参数。

#a.__Sleep()#更不能用。

大家,加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值