Python 3.6 定义类中的方法和属性

#Python3 中类的封装,构造方法的定义,实例化属性,和共有属性

#把具有相同特征的一类东西抽象成一个类

#1,类的定义   关键字:Class

#类和方法的命名都是驼峰命名规则,但是类的首字母大写,方法的首字母小写
class  Animal(object):    #这里定义了一个Animal类,继承了object基类
    pass


#注意,任何类都会继承object基类,所以定义类的时候可以 object可写可不写

# 使用类的时候需要先实例化



an=Animal() #实例化类  现在an这个对象就得到了Animal的所有方法和属性


#2,类中构造方法的学习

class  Animal1(object):    #这里定义了一个Animal类,继承了object基类
    def __init__(self):   #这是构造方法,构造方法中必须加参数self
        print('对象只要被实例化,我就会被调用,可以把我理解成初始化方法')


a=Animal1()  #实例化Animal1类,自动输出构造方法

#实例化构造对象的时候必调用构造方法,构造方法的写法 只能是 __init__

#如果声名类的时候没有定义构造方法,那就会默认调用父类的构造方法

# __init__(self) 中的self这个参数意思是实例化对象自己

'''
#实例化对象调用类中方法的时候一定会默认传一个参数,这个默认参数就是把自己传进去
#所以说只有在类中有(self)参数的方法,才能被实例调用,
#如果类中的方法没有self参数,
#那么这个方法只能被类调用,不能被类的实例化调用
'''


#属性,实例化属性,和类属性
#类属性又叫共有属性
class Animal2(): #定义一个Animal2()类,虽然没写object 但是它默认继承
    def __init__(self,name):  #定义构造方法
        self.name=name        #这个叫实例化属性 在方法中定义的叫实例化属性

    def getName(self):
        print(self.name)     #问 为什么我getName中没有定义name属性,我可以输出
                             #因为,类在实例化的时候得到了自己的name属性,我们把self对象穿进去就有了name属性
#类属性

class Animal3(): #定义一个Animal3()类
    age=2          #这个age是共有属性
    def __init__(self,name):  #定义构造方法
        self.name=name        #这个叫实例化属性 在方法中定义的叫实例化属性

    def getName(self):
        print(self.name)  

'''
当共用属性被实例化调用的时候,共用属性会变成实例化属性,切记

'''






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值