下列关于python的描述错误的是,python对于函数的定义错误的是

  下列关于python的描述错误的是,python对于函数的定义错误的是

  直接上代码类公司:def __init__(self,name,staff=[]):self。name=name self。staff=staff def add(self,staff _ name):self。工作人员。追加(staff _ name)def删除(self,staff _ name):self。工作人员。remove(staff _ name)if _ _ name _ _= _ _ main _ _ :com1=Company( com1 ,[bobby1 , bobby 2 ])com1。添加( bobby 3 )com1。删除( bobby 1 )print(com1。staff)#[ com 1__init__ .__defaults__) # ([bobby4 , bobby5],)为什么com2最后和com3出来是一样的了呢?通过print(com2.staffs是com3.staffs) # True这一行的执行结果可以看出com2和com3的全体职员指向的是同一个内存对象

  也就是说公司的__init__中的staffs=[]参数,在多个对象之间是共享的。

  默认参数可以通过下面方法取得:

  公司. init__ ._ _默认值_ _ com 2。员工和com3.staffs指向的都是公司. init__ .__默认值_ _这个对象。

  转载于:https://www。cn博客。com/Byron 0918/p/10575191。超文本标记语言

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: