Python子类方法的调用(类方法)

class S(object):    def Test(self):        print("TEST")    @classmethod    def Test02(cls):        print("class")    @staticmethod    def Test03():        print("Test03")class Test2(S):    @classmethod    def Test02(cls):        print(cls)        print("Test02 Method")a=S()a.Test()#第一种调用方法S.Test(a)#第二种调用方法,必须传入实例的引用print("类方法调用")a.Test02()#第一种调用方法S.Test02()#类方法不需要传递实例的引用print("静态方法")a.Test03()#不需要传入实例S.Test03()#使用静态方法调用print("子类方法调用")c=Test2()c.Test02()#第一种实例用Test2.Test02()#第二种类调用化调
时间: 2024-10-12 23:31:04

Python子类方法的调用(类方法)的相关文章

Python的方法及调用

首先放一张网上的图: 在类中定义的函数,有的称为普通函数,有的称之为方法,Python中有3中方法:实例方法.静态方法.类方法. 实例方法:函数必须有一个self参数 类方法:需要有@ classmethod 修饰符,修饰符下面的函数就称之为类方法,并且有个隐藏参数 cls. 静态方法:需要有@staticmethod修饰符,修饰符下面的函数就静态方法. 通过上图可以总结方法的调用关系: 1.实例可以调用所有方法,但是不能调用类里面的普通函数. 2.类可以访问普通函数,可以调用所有方法,调用实例

Python 魔术方法及调用方式

魔术方法 调用方式 解释 __new__(cls [,...]) instance = MyClass(arg1, arg2) __new__ 在创建实例的时候被调用 __init__(self [,...]) instance = MyClass(arg1, arg2) __init__ 在创建实例的时候被调用 __cmp__(self, other) self == other, self > other, 等. 在比较的时候调用 __pos__(self) +self 一元加运算符 __n

oc-14-对象方法调用类方法

Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { @public int _age; float _weight; // 运动1次,就去吃饭. } // 让人运动 - (void)sport; // 让人吃 - (void)eat; // 让人运动 + (void)sport; // 让人吃 + (void)eat; //对象方法 - (void)study; //类方法 + (void)stud

python子类调用父类的方法

python子类调用父类的方法 python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法.如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找. 继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的. 子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题 如果子类和父类都有构造函数,子类其实是重写了父类的构造函数

第52天学习python 子类调用父类方法

#子类中调用父类#初步程序# class Vehicle:#定义交通工具# Country="China"# def __init__(self,name,speed,load):# self.name=name# self.spedd=speed# self.load=load## def run(self):# print("开动了")## class Subway(Vehicle):#定义个地铁# def __init__(self,name,speed,lo

在C++中子类继承和调用父类的构造函数方法

构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法. 如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建. 构造原则如下: 1. 如果子类没有定义构造方法,则调用父类的无参数的构造方法. 2. 如果子类定义了构造方法,不论是无参数还是带参数,在创建子类的对象的时候,

父类对象对子类对象方法的调用

1 import copy 2 class Dog: 3 def Eat(self): 4 print("Dog Eating...") 5 class Son: 6 def __init__(self): 7 self.height=100 8 def Eat(self): 9 print("Son Eating...") 10 class Father: 11 def LetSonEat(self,m): 12 if(isinstance(m,Son)): 13

python——实例方法、静态方法、类方法、类变量和实例变量浅析

概述: 实例方法就是类的实例能够使用的方法. 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可调用静态方法. 类方法是将类本身作为对象进行操作的方法.类方法使用@classmethod装饰器定义,其第一个参数是类,约定写为cls.类对象和实例都可以调用类方法. super用来执行父类中的函数. 类变量定义在类的定义之后,实例变量则是以为self.开头. 如何调用父类的构造函数:子类(派生类)并不会自

python类的静态方法和类方法区别

# python类的静态方法和类方法区别 ## 先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法. 本文由黄哥python培训黄哥所写. # coding:utf-8 class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def