python中学习类和对象时遇到的问题
>>> class B(tuple):pass
>>> class B(list):
pass
>>> b = B((1, 2, 3))
>>> b
>>> c = B("sun")
>>> c
['s', 'u', 'n']
向大神求助:请问在给B实例化对象时 b = B ( ) 括号内添加一个值是什么含义?;
还有就是 为什么我在括号内输入的是一个元组 怎么就变成了列表?求大佬告知
其中是如何运作的。谢谢! 给b实例化对象时在括号里添加的是函数的参数。
而列表和元组基本上都是一样的,只是元组不能改变里面的数据。python为了方便改动就把他转换为列表了。
个人是这样理解的,勿喷 class B(list)的意思是创建一个B类,继承于list这个类
也就是说,B此时拥有list的所有方法
B()的括号中填的内容是初始化B这个类的参数
因为B现在有了list类的所有方法,所以B((1,2,3))你可以把它暂时理解成list((1,2,3)) 临时号 发表于 2022-8-23 23:04
class B(list)的意思是创建一个B类,继承于list这个类
也就是说,B此时拥有list的所有方法
是不是将括号内的值作为 list.__init__方法里面的参数 asky533 发表于 2022-8-23 23:01
给b实例化对象时在括号里添加的是函数的参数。
而列表和元组基本上都是一样的,只是元组不能改变里面的数 ...
谢谢你 Archerwan_ 发表于 2022-8-24 09:33
是不是将括号内的值作为 list.__init__方法里面的参数
是 临时号 发表于 2022-8-24 10:01
是
那list.__init__返回的值是什么 这种怎么查看啊 用了help也看不到他的返回值 Archerwan_ 发表于 2022-8-24 10:06
那list.__init__返回的值是什么 这种怎么查看啊 用了help也看不到他的返回值
list.__init__没有返回值 临时号 发表于 2022-8-24 10:08
list.__init__没有返回值
哦哦不好意思 我的意思是他接收了这个参数是用来干什么的 Archerwan_ 发表于 2022-8-24 10:10
哦哦不好意思 我的意思是他接收了这个参数是用来干什么的
你知道list((1,2,3))它接收(1,2,3)这个元组用来干什么你就知道B((1,2,3))接收这个参数是用来干什么的了
当然是将(1,2,3)转化为了 临时号 发表于 2022-8-24 10:21
你知道list((1,2,3))它接收(1,2,3)这个元组用来干什么你就知道B((1,2,3))接收这个参数是用来干什么的了
...
好的,明白了谢谢您
页:
[1]