python之面向对象(四)之类方法的作用

类方法的作用:
实例方法中的self参数的值从哪里来的?
Python中的__init__与__new__的区别:
二者都是python面向对象语言中的函数,__new__很少被用,__init__经常被使用。不同的是__new__在实例创建之前被调用的,用来创建实例然后返回该实例(对象),而__init__在实例创建滞后才使用的,init是用来给对象的实例变量赋值,说明事先存在实例变量,实例变量属于对象,实例变量存在则对象肯定存在

class Farther():
    @classmethod
    def class_method(cls):
        print('this is class method')
    def __init__(self,name):
        self.name = input('请输入我的名字')
        print("这是我的名字",self.name)
class Son(Farther):
    def __init__(self):
        print('I am init')
    def son1(self):
        print(self)
    def __new__(cls, *args, **kwargs):
        print('I am new')
        # 返回给了所有实例方法的第一个参数self
        return super().__new__(cls)
        #如果要改写new函数,在函数的末尾一定要返回类否则会报错
son = Son()
son.son1()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值