python3面向对象(1)

1.定义类,实例化对象:

class Nanny(object):    #class 定义一个类名Nanny,这个类继承了object
    def __init__(self,name,age):    #__init__初始化方法,在创建对象的时候自动调用,第一个参数是必须有的self指的是创建的对象,
        self.name = name
        self.age = age

    def cook(self):   #在类中的普通函数叫做方法;都有一个self参数;可以被创建的对象调用
        print("这是一个做饭的过程")

obj1 = Nanny("小红",22)   #创建一个obj1对象,传入参数;这个参数被传入__init__初始化方法中
print(obj1.name)
print(obj1.age)
obj1.cook()  #调用类中的方法

 2类中的方法(普通方法(实例化方法),类方法,静态方法)和 类属性

class Nanny(object):
    Nanny_name = "this is Nanny name"   #这是一个类属性,可以通过类型.调用
    def __init__(self,name,age):
        self.name = name
        self.age = age

    @classmethod #这是一个类方法;通过@classmethod 
    def cook1(cls):  #方法的参数是cls 代表的这个类
        print("我是一个类方法")

    @staticmethod   #这是一个静态方法,通过@staticmethod
    def cook2():  #方法里面可以没有参数
        print("我是一个静态方法:这是我的使用说明")

    def cook(self):
        print("这是一个做饭的过程")


obj1 = Nanny("小红",22)
print(obj1.name)
print(obj1.age)
#方法的调用,实例化的对象可以调用类中的所有方法 obj1.cook() obj1.cook1() obj1.cook2() #但是类名只能调用静态方法和类方法 Nanny.cook1() Nanny.cook2()

猜你喜欢

转载自www.cnblogs.com/yan-peng/p/9957644.html