python中cls关键字
Python 关键字 CLS
2023-09-14 09:11:21 时间
1.python中cls用法
https://www.zhihu.com/question/49660420
class A(object): a = 'a' @staticmethod def foo1(name): print('hello', name) def foo2(self, name): print ('hello', name) @classmethod def foo3(cls, name): print ('hello', name) A.foo1('hhh') A.foo3('clssss') #输出: hello hhh hello clssss
简单来说,就是cls用在@classmethod方法中,使得该方法仅通过类名就可以访问,无需建立对象;csl就相当于普通类函数中的self参数,通过它就可以防止硬编码,而访问类中的属性和函数
class A(object): a = 'a' def __init__(self,a,b): print(a,b) @classmethod def foo3(cls, name): print ('hello', name) a,b=1,2 cls(a,b) A.foo3('clssss') #输出: hello clssss 1 2
就可以直接调用了__init__函数,初始化了。当然如果存在类继承,就会是这个样子,会运行B的初始化函数,我也是惊呆了。
class A(object): a = 'a' def __init__(self,a,b): print(a,b) @classmethod def foo3(cls, name): print ('hello', name) a,b=1,2 cls(a)#在这里调用了b的初始化函数 class B(A): def __init__(self,a): print('B',a) B.foo3('clssss') #输出: hello clssss B 1
再稍微照着bert修改一下:
class A(object): a = 'a' def __init__(self,a,b): print(a,b) @classmethod def foo3(cls, name): print ('hello', name) a,b=1,2 model=cls(a) return model #可以返回一个B的对象 class B(A): def __init__(self,a): self.b=a print('B',a) b=B.foo3('clssss')#这里通过B来调用类函数~~~其实也就和A没啥关系了,只不过实现放在了A中而已 #输出: hello clssss B 1 >>> b.b 1
相关文章
- pycharm版本区别_怎么看pycharm的python版本
- python win32api messagebox_如何在Python中使用Win32 API?
- python十进制转换_Python 进制转换
- python读取、写入txt文本内容
- unboundlocalerror python_Python问题:UnboundLocalError: local variable ‘xxx’ referenced before assignme
- 手机python 3.8解释器_Python 3.8 解释器安装教程
- 【说站】python关键字实参的使用
- 【说站】python三种导入模块的方式
- 【说站】python如何遍历文件夹
- Python解析参数的三种方法
- python读取pkl_Python读取文件的一段内容
- python isalpha函数用法_isalpha函数「建议收藏」
- python 图像处理库_Python图像处理库
- python程序化交易实例-用 Python 实现你的量化交易策略「建议收藏」
- python换行符号怎么用_python中回车用什么表示
- Python基础-6 模块和包
- API接口测试-使用python发送HTTP请求(Requests)
- 10 个杀手级的 Python 自动化脚本
- 【测试开发】python系列教程:Python数据类型转换
- python-Python与SQLite数据库-使用Python执行SQLite查询(一)
- Java2023算法面试题java,python,go
- 为什么Python发展得如此之快详解编程语言
- 一步一步学会在Linux上运行Python程序(linux运行python程序)
- 使用Python执行Linux命令的方法(python调用linux命令)
- python-函数作用域详解编程语言
- Python驱动Oracle数据库(python操作oracle)
- MSSQL与Python:高效数据处理利器(mssqlpython)
- 如何在Linux中安装Python?(linux安装python)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)
- Python中的jqueryPyQuery库使用小结