首页 > 其他 > 详细

面向对象-内置成员

时间:2019-05-16 14:25:23      阅读:133      评论:0      收藏:0      [点我收藏+]

#内置成员
__dict__:获取类/对象的所属成员组成的集合
__doc__:获取类的文档信息
__name__:获取类名称的字符串
__module__:获取当前类所在的文件的名称,当前文件显示为__main__
__bases__:获取当前类的父类列表

 1 #内置成员调试实例
 2 #声明一个类
 3 class Animal:
 4     pass
 5 #声明一个类
 6 class Action:
 7     pass
 8 #声明一个类
 9 class Human(Animal,Action):
10     ‘‘‘
11     这是类的文档
12     成员    信息
13     成员    信息
14     成员    信息~
15     成员    信息
16     ‘‘‘
17     #成员属性
18     sex = 1
19     age = 18
20     color = yellow
21     #成员方法
22     def smile(self):
23         print(哈哈哈哈哈)
24     def cry(self):
25         print(呜呜呜呜~~)
26 #实例化对象
27 ren = Human()
28 
29 #__dict__:获取类/对象的所属成员组成的集合
30 #print(Human.__dict__)
31 #输出结果:{‘__module__‘: ‘__main__‘, ‘__doc__‘: ‘\n    这是类的文档\n    成员    信息\n    成员    信息\n    成员    信息~\n    成员    信息\n    ‘, ‘sex‘: 1, ‘age‘: 18, ‘color‘: ‘yellow‘, ‘smile‘: <function Human.smile at 0x000001FF1985D7B8>, ‘cry‘: <function Human.cry at 0x000001FF1985D840>}
32 #print(ren.__dict__)
33 #输出结果:{}
34 
35 #__doc__:获取类的文档信息
36 #print(Human.__doc__)
37 ‘‘‘
38 输出结果:
39     这是类的文档
40     成员    信息
41     成员    信息
42     成员    信息~
43     成员    信息
44 ‘‘‘
45 
46 #__name__:获取类名称的字符串
47 #print(Human.__name__)
48 #输出结果:Human
49 
50 #__module__:获取当前类所在的文件的名称,当前文件显示为__main__
51 #print(Human.__module__)
52 #输出结果:__main__
53 
54 #__bases__:获取当前类的父类列表
55 #print(Human.__bases__)
56 #输出结果:(<class ‘__main__.Animal‘>, <class ‘__main__.Action‘>)

 


方法的分类
1.对象方法:该方法中会直接传入当前对象
调用方式:对象.成员方法()
特征:会将当前对象传入方法中

2.类方法:在方法中会直接传入当前类
调用方式:类.成员方法()
特征:会将当前类传入方法中

3.绑定类的方法:在方法中不会传入类或者对象的方法
调用方式:类.成员方法()
特征:不会传入类或者对象

4.静态方法:与类喝对象无关,但是存在于类结构中的方法
调用方式:类.成员方法() 或者对象.成员方法()
特征:类或者对象都可以调用

 1 #声明一个类
 2 class Human:
 3     #成员方法
 4     #吃方法  ->对象方法
 5     def eat(self):
 6         print(self)
 7         print(这是一个对象方法)
 8     #喝方法  ->类方法
 9     @classmethod
10     def drink(cls):
11         print(cls)
12         print(这是一个类方法)
13     #玩方法 -> 绑定类的方法
14     def play():
15         print(绑定类的方法)
16     #乐方法 - > 静态方法
17     @staticmethod
18     def happy():
19         print(这是一个静态方法)
20 
21 #实例化对象 调用方法
22 ren = Human()
23 #调用对象方法
24 #ren.eat()
25 ‘‘‘
26 输出结果:
27 <__main__.Human object at 0x000001B9DFD32F28>
28 这是一个对象方法
29 ‘‘‘
30 
31 #调用类方法
32 #Human.drink()
33 ‘‘‘
34 输出结果:
35 <class ‘__main__.Human‘>
36 这是一个类方法
37 ‘‘‘
38 
39 #调用绑定类的方法
40 #Human.play()
41 #输出结果:绑定类的方法
42 
43 #调用类的静态方法1
44 #Human.happy()
45 #输出结果:这是一个静态方法
46 
47 #调用对象的静态方法
48 #ren.happy()
49 #输出结果:这是一个静态方法

 

面向对象-内置成员

原文:https://www.cnblogs.com/lws865/p/10875346.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!