zoukankan      html  css  js  c++  java
  • Python-类变量,成员变量,静态变量,类方法,静态方法,实例方法,普通函数

    属性分为实例属性与类属性

    方法分为普通方法,类方法,静态方法

    一:属性:

      尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。

      1:实例属性:

        最好在__init__(self,...)中初始化

        内部调用时都需要加上self.

        外部调用时用instancename.propertyname

      2:类属性:

        在__init__()外初始化

        在内部用classname.类属性名调用

        外部既可以用classname.类属性名又可以用instancename.类属性名来调用

      3:私有属性:

        1):单下划线_开头:只是告诉别人这是私有属性,外部依然可以访问更改

        2):双下划线__开头:外部不可通过instancename.propertyname来访问或者更改

          实际将其转化为了_classname__propertyname

    二:方法

      1:普通类方法:

        def fun_name(self,...):

          pass

        外部用实例调用

      2:静态方法:@staticmethod            

          不能访问实例属性!!!   参数不能传入self!!!

          与类相关但是不依赖类与实例的方法!!

      3:类方法:@classmethod

          不能访问实例属性!!!   参数必须传入cls!!!

          必须传入cls参数(即代表了此类对象-----区别------self代表实例对象),并且用此来调用类属性:cls.类属性名

      *静态方法与类方法都可以通过类或者实例来调用。其两个的特点都是不能够调用实例属性

  • 相关阅读:
    JAVA常用知识总结(十一)——数据库(一)
    JAVA常用知识总结(十)——Maven
    JAVA常用知识总结(九)——线程
    JAVA常用知识总结(八)——计算机网络
    JAVA常用知识总结(七)——Spring
    Spring Cloud Alibaba教程:Nacos
    OpenCV入门(2)- Java第一个程序
    OpenCV入门(1)- 简介
    Elastic Job入门(1)
    Elastic Job入门(3)
  • 原文地址:https://www.cnblogs.com/ranjiewen/p/9213704.html
Copyright © 2011-2022 走看看