通俗易懂的 理解 Python3类和对象

 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。类=属性+方法

通俗的讲:类 :  动物,在你脑子里有个模型,一想到动物就会知道比如有毛啊,四条腿之类的。就是所有动物共有的特征。
                   对象:具体的一只猫。或具体的一只狗,这就是对象。 对象是建立字类的基础上的。有了一个类的模版,我们才能确定某一个具体的对象。

基本语法:

class ClassName:    #注意 第一个字母需要大写
    <statement-1>
    .
    .
    <statement-N>

类的隐藏变量

class Yao:
	__name = "yaopengfei"  #定义一个隐藏属性
	def getName(self):
		return self.__name   
y = Yao() #引用的时候一定后面要跟() ps我TMD忘记查了半天

y.getName()
#结果
#yaopengfei


 

示例:

包含隐藏变量的设定,类的继承。

#定义一个类
class people:
	name = ""  #变量赋值就是类的属性
	age = 0
	__weight = 0  #这部分定义一个私有属性,外部不能访问,且不能输出。格式为两个下划线
    #定义构造方法
	def __init__(self,n,a,w): #使用def定义一个方法,但是与函数定义不同,必须包含self参数,并且作                    
                              #为一个参数,self代表的类的实例。
		self.name = n
		self.age = a
		self._weight = w
	def speak(self):           #定义一个使用方法
		print('%s 说:%d 岁。' %(self.name,self.age))
# 实例化类
p = people('runoob',10,30)
p.speak()
#定义一个子类
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):    #重新定义父类的构造
        people.__init__(self,n,a,w) #调用父类的
        self.grade = g
    def speak(self):               #重新定义父类的方法
        print(111)
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))

s = student('ken',10,89,3)
s.speak()

类 ,类对象和类实例区分

class X:       #表示定义一个类
    count = 0  #类对象的属性

a = X() #赋值
b = X()
c = X()
a.count #成为实例对象
0
b.count
0
c.count
0
c.count += 10 # 实例属性赋值后,会将类的属性覆盖掉
c.count
10
a.count
0
b.count
0
X.count += 100 #使用类属性赋值后,其他未被定义过的实例属性保持与类属性一致。
a.count
100
b.count
100
c.count   # 赋值的c.count 还会保持原来赋值后的属性。
10

如果赋值的变量名和类的名称一致。将无法调用类的属性。

所有不要试图在一个类定义所有的能想到属性和方法,可以继承和组合的机制扩展,类的方法尽量用动词,类的属性用名词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值