staticmethod的用途和cls()函数的含义
问题1:
将函数设置为静态方法就只能访问到类的数据属性,不能获取实例的数据属性,和普通函数无异。
我这么理解不知道对不对,“规范化”,“工整”,把这个功能相关的函数都汇总到一起,更容易去管理,更规范一些,和类没有多大关系
问题2:
视频中所说cls(name),大概明白这个的用意,就相当于实例化类
类名(给构造传递的参数)
但是老师说的一笔带过,我想在百度在进入了解一下,可是百度没搜索到cls()全是cls,请问cls()这个函数叫什么,用什么关键字搜索
这节讲的太绕了,老师说的不是很清晰,看得我一愣一愣的,靠百度在学明白,希望可以重新录一下,对0基础编程学习非常不友好。
第一段老师讲的就很不错
这节虽然视频没怎么看明白,但是百度研究会后才看懂老师的讲课思路,这和课程难易程度没关系
正在回答
同学你好:
将函数设置为静态方法确实和普通函数没有太大区别,只是静态方法必须通过类调用而不能通过实例对象调用。因为从本质上来讲@staticmethod只是一个装饰器,是为类或函数添加额外的功能和方法的,并没有深入的改变这个函数。如果我们有一个类中的函数用来存放逻辑性的代码,不会涉及到类中的方法和属性的操作,我们就可以将这个函数定义为静态方法,这样可以节省静态资源,而且便于使用和维护。
return cls(name)就等于cat = Cat(name) return cat,如下图:
其中cls只是类方法中的一个参数,指代当前类,不一定非叫cls这个名字,可以改成别的参数名,默认类方法中第一个参数指代当前类,如下图,所以在百度中搜索cls()搜索不出来。这个就是用类名(参数)实例化类,如果想深入学习可以搜索python类方法。
这节课的内容不难,就是有些抽象,理解起来不太容易,同学有什么不懂的可以在提问区进行提问。
如果解决了你的疑惑,请采纳,祝学习愉快~
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星