当前位置:   article > 正文

Python的实例方法,类方法,静态方法浅理解_python实例化只会指向第一个值吗

python实例化只会指向第一个值吗
  1. 实例方法
    1. 定义:第一个参数必须是实例对象,该参数一般约定为"self",通过它来传递实例的参数和方法.(也可以传递"类"的属性和方法.)
    2. 调用:只能由实例对象调用
    3. 实例化方法需要将类实例化后调用
    4. 类的实例化:
      class Student():
          #特征:成员变量
          name = ""
          age = ""
          hobby =""
          def introduce(self,name, age, hobby):
              print("大家好,我是%s,今年%d岁,爱好是%s"%(name,age, hobby))
    5. 构造函数:使用上面的方式可以创建对象,但是,很多类都倾向于将对象创建为有初始化状态.因此类可能定义一个名为__init__()的特殊方法(构造方法).
      构造方法也叫做构造器,是指当实例化一个对象(创建一个对象)的时候,第一个被自动调用的方法.
      1. class Person():
            name = ""
            age = 0
            #构造方法
            def __init__(self):
                print("构造函数被执行了")
           
            #创建对象的过程中构造函数被自动调用
            #得出结论:创建对象的过程中调用了构造函数
            #当未手动添加构造函数时,系统会默认提供一个无参的构造函数
        p1 = Person
    6. 析构函数:当对象被销毁时,自动调用. 程序运行结束时,主动销毁.
      1. class Person():
            def run(self):
                print("run")
           
            def eat(self, food):
                print("eat "+food)
           
            def __init__(self, name, age, height, weight):
                self.name = name
                self.age = age
                self.height = height
                self.weight = weight
               
             def __del__(self):
                print("这里是析构函数")

        per = Person("hanmeimei", 20, 170, 55)
        #释放对象
        del per
        #注意:对象释放后就不能再进行访问了
  2. 实例方法解释
    1. 语法:
      class A1:
            def  A2(self,*args)
                    self.args = args
                    语句
    2. 作用:用于描述一个对象的行为,该对象的全部行为都
  3. 类方法
    1. 定义:装饰器:@classmethod. 第一个参数必须是当前类对象,该参数名一般约定为"cls",通过它来传递"类"的属性和方法(不能传递实例的属性和方法).
    2. 类方法不是绑定在对象上,而是绑定在类上的方法.
    3. 调用:实例对象和类对象都可以调用
    4. class Test:
          x=1
          @classmethod
          def test(cls):
              print(cls,cls.x)
      Test.test()
  4. 静态方法
    1. 定义:@statemethod.参数随意,没有"self"和"cls",但方法体重不能使用类或实体的任何属性和方法.
    2. 静态方法是一类特殊的方法,有时候你可能需要写一个属于这个类的方法,但这些代码完全不会使用到实例对象本身.
      静态方法是一种普通函数,位于类定义的命名空间中,不会对任何实例类型进行操作,Python为我们内置了函数@staticmethod,来把类中的函数定义成静态方法.
    3. class Student():
          @staticmethod
          def say(self):
              print("**********")
             
           @staticmethod
          def spam(x,y,z): #类中的一个函数,千万不要懵逼,self和x啥的没有不同都是参数名
              print(x,y,z)
             
       Student.say()
       Student.spam(1,23,3)
    4. 调用:实例对象和类对象都可以调用.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/903621
推荐阅读
相关标签
  

闽ICP备14008679号