python中self、init以及调用内部函数方法

1.self用法

        无论是构造方法还是实例方法,最少要包含一个参数,我们通常默认第一个参数实例化对象的名称叫做self,在调用方法时,self就等于你输入的值或者是实际调用该方法的对象。

        也就是说如果把类比作造房子的图纸,那么类实例化后的对象是真正可以住的房子。根据一张图纸(类),我们可以设计出成千上万的房子(类对象),每个房子长相都是类似的(都有相同的类变量和类方法),但它们都有各自的主人,通过 self 参数来对他们进行区分,它就相当于每个房子的门钥匙,可以保证每个房子的主人仅能进入自己的房子(每个类对象只能调用自己的类变量和类方法)。

2.__init__用法

         python中的_ _init_ _()叫做对象的初始化方法,在创建一个对象后会自动被调用,_ _init_ _()方法的作用是用来添加对象的属性、传递参数等。__init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化操作上。

3.内部函数调用

(1)在class内,方法之间调用

class dog():
    def __init__(self,age):
        dog.age = age

    def show_color(self):
        print('狗的颜色是白色')
    def show_age(self):
        self.show_color()
        print('狗两岁了')

a = dog(2)
a.show_age()

类方法中调用类属性,需要使用self.属命名的方式

2.类外,def之间

def show_a(a):
    print(a)

def show_b(a):
    if a>6:
          show_a(a)
show_b(8)

只需要函数名就可以互相调用

3.类外函数,调用类里

创建该类的实例对象,再通过实例调用方法,最后运行函数即可

4.不同类之间彼此调用

class dog():
    def __init__(self, age1):
        self.age1 = age1

    def show_age(self):
        print("狗的年龄是" + str(self.age1))


class bird():
    def __init__(self, age2):
        self.age2 = age2

    def show_dog_age(self):
        Ragdoll = dog(3)
        Ragdoll.show_age()


Husky = bird(2)
Husky.show_dog_age()

需要将对象作为参数放入类里面

你可能感兴趣的:(pycharm,python)