zoukankan      html  css  js  c++  java
  • 类的方法

    类的方法有以下几种:

    (1) 公有方法:在类中和类外都能调用的方法称为公有方法
    (2) 私有方法:只能在类中调用,不能被类的外部调用的方法称为私有方法,必须以双下划线开始来定义私有方法,如 __talk(),__think() 等
    (3) 类方法:能够被类所调用,也能够被对象所调用的方法称为类方法,需要通过装饰器 classmethod 进行处理才能成为类方法
    (4) 静态方法:相当于“全局函数”,跟类没什么关系了。可以被类直接调用,也可以被所有实例化的对象所调用,需要通过装饰器 staticmethod 进行处理才能成为静态方法,注意静态方法没有 self 参数

    PS:类的方法必须接收一个参数 self,用来区分函数和类的方法,self 表示执行的对象本身

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    class People(object):
        def __init__(self):
            self.name = 'Tom'
            self.age = 23
    
        def commonFunc(self):       # 定义公有方法
            pass
    
        def __privateFunc(self):    # 定义私有方法
            pass
    
        @classmethod                # 定义类方法
        def classFunc(self):        
            pass
    
        @staticmethod               # 定义静态方法,注意没有self参数
        def staticFunc():
            pass
    
        def test(self):
            self.commonFunc()       # 可以在类的内部调用公有方法
            self.__privateFunc()    # 可以在类的内部调用私有方法
            self.classFunc()        # 可以在类的内部调用类方法
            self.staticFunc()       # 可以在类的内部调用静态方法
    
    if __name__ == '__main__':
        obj = People()
        obj.commonFunc()       # 可以通过对象在类的外部调用公有方法
        obj.__privateFunc()    # 不可以通过对象在类的外部调用私有方法,这里会报错
        obj.classFunc()        # 可以通过对象在类的外部调用类方法
        obj.staticFunc()       # 可以通过对象在类的外部调用静态方法

        

  • 相关阅读:
    Elasticsearch 客户端TransportClient vs RestClient
    MySQL(三)——MySQL45题
    MySQL(二)——其他基础功能
    MySQL(一)——CRUD语句
    JVM(十)——类的加载与加载器
    JVM(九)——字节码指令集
    每日总结
    《构建之法》读后感(三)
    《构建之法》读后感(二)
    《构建之法》读后感(一)
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10278181.html
Copyright © 2011-2022 走看看