转:python中__init__()函数的用法

本文介绍了Python作为动态语言可给对象动态添加属性和方法,着重讲解了__init__()方法,它相当于Java的构造函数,可用于传递参数。通过创建Cat类和对象wangheng的示例,展示了属性传递和修改的操作,还提到class Cat:与class Cat()表达结果相同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考了不同的文章,写的都蛮不错的     

  附上源链接:https://blog.youkuaiyun.com/u012193416/article/details/78112710

        python是一门动态语言,也就是说可以给对象动态添加属性和方法,python中的__init__()方法相当于java中的构造函数,在创建一个类对象之后一定会调用的方法。如果用过java这种面向对象的语言的话,我们一般使用使用构造函数来传参,在python中也是,我们可以使用__init__()方法来传递参数,比如赋值给对象属性等。

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
class Cat:
    def __init__(self,color):
        self.color=color
        
    def eat(self):
        print("--chi--")
        
    def printinfo(self):
        print(self.color)
        
wangheng = Cat("白")
wangheng.eat()
wangheng.color="黑"      #(注释掉即为不修改wangheng的color属性)
wangheng.printinfo()        
          上面创建一个Cat类,并生成一个wangheng这个对象,可以给对象传color这个属性,否则在后面调用printinfo()函数时,会出现无法使用color这个属性的异常,第一个打印白是没有修改wangheng的属性,这时候self代指的就是wangheng这个对象本身,而修改了wangheng的color属性之后,再去打印就变成黑了。

----------------------------------------------------------

拓展:

class Cat:也可以写为class Cat():   

对结果没有影响,应该是一种表达方式的问题。

 

另附一篇:https://blog.youkuaiyun.com/geerniya/article/details/77487941

就不粘贴过来了,先学习学习

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值