码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-12-31 13:06:50      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:pre   init   实例   country   内存   静态方法   理解   method   一个   

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

 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     

 

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

标签:pre   init   实例   country   内存   静态方法   理解   method   一个   

原文地址:https://www.cnblogs.com/eric818/p/10201708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!