定义在类中,构造函数和类函数中的变量有什么不同

定义在类中,构造函数和类函数中的变量有什么不同

相关截图:https://img1.sycdn.imooc.com//climg/619f9ee50902b8ad07040447.jpg

问题描述:

哪样的变量放在类中作为类属性定义?哪种变量适合传入构造函数作为参数,哪种变量适合在类函数def中传入

就比如3-5作业吧。def中传入的变量date,abstract,abstract能在构造函数中传入么

就比如3-5作业吧


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!

1、类属性属于类所有,所有实例对象共享一个属性,通过类名将类属性改变后,所有的实例对象的类属性也会改变,即类属性在所有实例化对象中是作为公用资源存在的,需要作为所有实例对象公共属性的变量可以作为类属性;

2、实例属性定义,可以在创建实例时传入构造函数,其特点为可以使用实例对象访问调用,如:在类中使用self.变量名(self为类的本身)调用,类实例化后使用实例对象名.变量名调用,需要在实例对象中多次调用的变量,可以定为实例属性,如下图:self.name可以使用实例对象.变量名调用

https://img1.sycdn.imooc.com//climg/61a0449809f7c5c505780624.jpg

3、传入类函数中的参数,如:def deal_money(self, date, abstract, balance),三个参数在不定义为实例属性的情况下作用范围只在deal_money( )函数内,可以作为普通参数使用,只需要在类中某个函数内使用的变量,可以直接在调用函数时传入,如下图:

https://img1.sycdn.imooc.com//climg/61a048f20962ed1a05170560.jpg

祝学习愉快~

  • 慕九州7272337 提问者 #1

    回复【传入类函数中的参数,如:def deal_money(self, date, abstract, balance),三个参数在不定义为实例属性的情况下作用范围只在deal_money( )函数内,可以作为普通参数使用

    老师,谢谢您以上的答复。追问:如果这三个参数不传入类函数中,也是可以定义为实例属性的是么

    2021-11-29 14:43:16
  • 好帮手慕美 回复 提问者 慕九州7272337 #2

    同学,你好!可以的。祝学习愉快!

    2021-11-29 14:59:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师