博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类方法和静态方法
阅读量:4995 次
发布时间:2019-06-12

本文共 942 字,大约阅读时间需要 3 分钟。

类方法

    定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);

    调用:实例对象和类对象都可以调用。

 类方法应用场景:

1,类中有些方法不需要对象参与【不要对象的一切东西】 2,对类中的静态变量进行改变时要用类方法 3,继承中,父类得到子类的类空间

静态方法

    定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

    调用:实例对象和类对象都可以调用。

 作用:

1,代码块清晰 2,代码复用性
#类方法# class A:#     def func(self): #普通方法#         print(self)##     @classmethod#     def func1(cls): #类方法#         print(cls)## a1 = A()# # a1.func()# # A.func(a1)## A.func1()# # 类方法:通过类名调用的方法,类方法中第一个参数是cls,python自动将类名(类空间)自动传给cls# a1.func1()#对象调用类方法,得到的是类本身## #类方法应用场景# #1,类中有些方法不需要对象参与【不要对象的一切东西】# #2,对类中的静态变量进行改变时要用类方法# #3,继承中,父类得到子类的类空间## class B(A):#     pass## B.func1()#静态方法:#不需要传默认参数class A:    @staticmethod    def login(username,password):        if username == 'alex' and password == '123':            print('登录成功')        else:            print('登录失败')A.login('alex','123')#1,代码块清晰#2,代码复用性

 

转载于:https://www.cnblogs.com/tanxu05/p/10039628.html

你可能感兴趣的文章
Python Day04
查看>>
Android新增API之AudioEffect中文API与应用实例
查看>>
颜色空间RGB与HSV(HSL)的转换
查看>>
swift 用协议实现代理传值功能
查看>>
深入懂得android view 生命周期
查看>>
android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
查看>>
Android 中 更新视图的函数ondraw() 和dispatchdraw()的区别
查看>>
《Java源码解析》之NIO的Selector机制(Part1:Selector.open())
查看>>
webpack安装问题
查看>>
Qt学习记录--Qt::CaseSensitive
查看>>
你的灯还亮着吗阅读笔记之一
查看>>
python介绍
查看>>
Unity-Editor按钮和菜单显示
查看>>
SharePoint InfoPath 保存无法发布问题
查看>>
word2vec:主要概念和流程
查看>>
Java - MyBites 逆向工程
查看>>
104. Maximum Depth of Binary Tree
查看>>
Python--变量作用域
查看>>
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
查看>>
!!和??
查看>>