刚毕业的小牛马记录学习日常(__init__函数和self)

#   __init__,python自带初始化方法

今天学到类函数中__init__(self)是初始化方法,实例化对象时自动调用,完成一些初始化设置。例如:

class People:
    def __init__(self):
        """
        实例属性的声明
        :return:
        """
        self.xm = "小明"
        pass
    def eat(self):
        self.name = "小钱"
        print("吃榴莲")
        pass
    pass

xl=People()

print(xl.xm)可以输出"小明"

而print(xl.name)就会报错,必须先利用xl.eat()调用函数后才可以调用函数内的self.name,过程如下:

xl.eat()
print(xl.name)

且创建的实例属性可以通过”实例名.实例属性=新值“的方式修改该实例内的属性,不影响之前且不改变类内声明的实例属性

创建的类属性可以通过“类名.类属性=新值”的方式修改类内的类属性,所有实例的该属性都会改变,不会影响之前的

xl = People()
xl.eat()
print(xl.xm)
print(xl.name)
xl.xm = "xiaoming"
print(xl.xm)
xw = People()
print(xw.xm)

# self代表实例本身,具体说是该实例的内存地址

上述示例中self.xm="小明"实例化成xl后(即xl=People()后)其实就是xl.xm="小明"

例如:

class Animal(object):
    # 创建一个初始化方法
    def __init__(self, name, colour):
        self.name = name
        self.colour = colour
        pass
    pass

xl = Animal("小白", "white")
print(xl.name)

输出结果为小白

class Animal(object):
    # 创建一个初始化方法
    def __init__(self, name, colour):
        self.name = name
        self.colour = colour
        pass
    def eat(self, food):
        print(self.name+"喜欢吃"+food)
    pass

xl = Animal("小白", "white")
print(xl.name)
xl.eat("草莓")

输出结果小白喜欢吃草莓

实例属性中的self的作用:可以通过self调用类的属性
实例方法中可以调用其他实例方法、实例属性,类方法

self、__init__、实例属性方法及类属性方法的互相调用详见:https://blog.csdn.net/weixin_45548112/article/details/121891904

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值