qq_60451745 2021-08-07 01:12 采纳率: 62.5%
浏览 86
已结题

关于class和init的疑惑

class rectangle:
def init(self,a,b):
self.a=a
self.b=b
def getperi(self):
return(self.a+self.b)^2
def getarea(self):
return self.a^self.b

rect=rectangle(3,4)
print(rect.getperi())
14
问题一:init是干什么用的,为什么他函数里面的变量可以被调出来用到后面的定义中去?
问题二:self作用是什么?为什么括号里要加?连设置变量也要加?当我将self.a改成a时,后面一切正常运行,但到最后一步print报错,说a没被定义?

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-08-07 01:23
    关注

    1.init方法是初始化类属性的
    2. 在python的类中self代表实例本身,具体来说,是该实例的内存地址。
    在调用实例的方法时,Python解释器会自己把实例!!变量!!传给类的函数中的self。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月15日
  • 已采纳回答 8月7日
  • 修改了问题 8月7日
  • 修改了问题 8月7日
  • 展开全部

悬赏问题

  • ¥15 千牛PC端客服工作台的Js调用成品或定制
  • ¥20 在同一个包中,无法引用自己创建的类,换台电脑又可以
  • ¥15 各位帮我看看为什么我写的代码按钮按了没有反应,deveco studio,
  • ¥20 云南省制造业对经济增长的影响目录应该怎么罗列,就是现状那部分
  • ¥15 求一套完整的纵横四海程序。
  • ¥20 AD7606采集到电压乱飘,怎么解决呢
  • ¥60 有没有人查监控方面厉害的呢
  • ¥15 绑住完成C语言的任务
  • ¥20 vue项目打包Android apk,实现小说文本朗读功能
  • ¥15 搜索快速上排名SEO