类方法实例方法和静态方法

Posted eric818

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类方法实例方法和静态方法相关的知识,希望对你有一定的参考价值。

类方法、实例方法和静态方法,实质是内存空间不一样,三种方法的创建和调用需要注意,同样的,类属性和实例属性,类对象和实例对象都需要理解,公有属性可以设置为类属性,特有属性可以设置为实例属性,类方法、实例方法和静态方法都放在类对象中,实例对象可直接调用。

 1 # coding:utf-8
 2 
 3 class Province(object):
 4     country = "中国" # 类属性
 5     
 6     def __init__(self,name):
 7         self.name = name
 8         
 9     # 实例方法
10     def print_message(self):
11         print("实例方法")
12         
13     # 类方法
14     @classmethod
15     def print_msg(cls):
16         print("类方法")
17         
18     # 静态方法
19     @staticmethod
20     def print_staticmethod():
21         print("静态方法")
22         
23 
24 p = Province("湖南省") # 创建一个实例对象,首先调用__new__方法开辟内存空间,之后调用__init__方法进行初始化
25 p.print_message()
26 p.print_msg()
27 p.print_staticmethod() 
28 
29 Province.print_msg()
30 Province.print_staticmethod() # 从以上可以看出,实例对象可以调用三种方法,而类对象只能调用类方法和静态方法
31 
32 print(p.__class__.country)
33 print(Province.country) # 从以上可以看出,实例对象和类对象都可以调用类属性,只是在所区别而已
34 
35     

 

以上是关于类方法实例方法和静态方法的主要内容,如果未能解决你的问题,请参考以下文章

python 实例方法,类方法和静态方法

python中的实例方法静态方法和类方法

在java中,为啥类实例也能访问静态域?

面向对象的成员: 实例变量 类变量 实例方法 类方法 静态方法 属性 私有

Python中的实例方法类方法静态方法和普通方法

JAVA 静态方法不能访问直接