cls 的用法

来源:5-4 实现可切片的对象

weixin_慕虎4147510

2022-01-21

Bobby 老师,
图片描述
我不是很明白为什么需要把type(self) 赋值给 cls这样一个变量。如果把cls 换成另外一个随机的变量名bobby可行么?
比如改成:
bobby = type(self),
下面也用bobby object来返回:
return bobby(group_name=self.group_name, …)

我理解的cls一般是用来特指类变量,就像self一样,虽然好像cls 和self都不是关键词,但是如果直接用cls指代一个type(这里具体是一个Group object) 还是有点难以理解。还是这里有什么特殊的目的必须要用cls来命名这个group object?

写回答

1回答

bobby

2022-01-23

可以啊, cls只是一个名字可以让你知道你这里的变量是一个类,而不是一个普通变量,代码可读性强而已

0
2
bobby
回复
weixin_慕虎4147510
cls只是一个参数名, 至于为什么使用cls和self,主要是想通过参数名告知你这里的类型,因为python是动态语言没有类型申明,所以这里就通过参数名来做一个简单的告知, 所以如果你本来是cls传进来的参数,你在里面定义一个cls肯定要出错,你把类型都给别人变了
2022-01-24
共2条回复

Python3高级核心技术97讲,高级进阶的必学课程

socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO

2121 学习 · 551 问题

查看课程