zoukankan      html  css  js  c++  java
  • 类方法和静态方法

    类方法

        定义:使用装饰器@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,代码复用性
    
  • 相关阅读:
    windows 服务中托管asp.net core
    asp.net core自定义端口
    asp.net core 2.1 部署IIS(win10/win7)
    Centos7 安装Tomcat并运行程序
    centos7 安装java运行环境
    linux(centos7) 常用命令和快捷键 持续验证更新中...
    CentOS7 设置yum源
    dotnet core 入门命令
    二项式系数学习笔记
    [容斥原理][莫比乌斯反演] Codeforces 803F Coprime Subsequences
  • 原文地址:https://www.cnblogs.com/tanxu05/p/10039628.html
Copyright © 2011-2022 走看看