面向对象-self这个特殊的参数

self:
1.只是一个参数。
2.在对象使用方法的时候,当前对象会作为第一个参数的实参传入
3.self相当于语言中的代词,表示当前对象本身(其他语言中也有使用this)
4.self的作用连接整个对象的所有信息。桥梁的作用!
5.self不是关键字,只是一个参数变量名而已,可以使用其他单词代替(禁止代替)
6.方法的分类(暂时):
方法中具有接受对象的参数(self)这个方法,叫做非绑定类的方法
方法中没有接受对象的参数(self)这个方法,叫做绑定类的方法

 

self的操作实例
 1 #self的操作实例
 2 #声明一个丛浩的类
 3 class CongHao:
 4     #成员属性---------------------------------
 5     name = '丛浩'
 6     sex = ''
 7     age = 38
 8     color = 'yellow'
 9     height = '180cm'
10     weight = '180斤'
11     house = '180'
12 
13     #成员方法-----------------------------
14     #聊天
15     def talk(self):
16         print('对象的方法中打印',self,id(self))
17         print('我的名字是'+ self.name)#此处需要使用对象的属性来输出名字,性别年龄等
18         print('我的性别是:'+ self.sex)#此处需要使用对象的属性来输出名字,性别年龄等
19         print('我的年龄是:' + str(self.age))#此处需要使用对象的属性来输出名字,性别年龄等
20 
21     #唱歌
22     def sing(self):
23         print('你存在于我深深的脑海里~')
24     #洗澡
25     def wash(self):
26         #洗澡的时候唱歌(调用自己的唱歌功能)
27         self.sing()
28         print('沐浴露和小香皂,水温干刚好~')
29     #吃饭
30     def eat(zhen):#非绑定类的方法
31         print('我的体重是'+zhen.weight)
32         print('我最喜欢吃烤羊腿~')
33     #self设计为接受次数的参数
34     def cry(self): #绑定类的方法
35         print('我哭了'+self+'')
36     #没有self参数的方法
37     def smoking():
38         print('饭后一支烟,赛过活神仙!吸烟有害健康。')
39 
40 #实例化一个对象(做出一个丛浩对象)
41 ch = CongHao()
42 print('打印实例化的对象',ch,id(ch))#打印实例化的对象
43 #输出结果:打印实例化的对象 <__main__.CongHao object at 0x0000022F7CA4C240> 2402977890880
44 
45 #修改对象信息
46 ch.name = '丛好'
47 print(ch.__dict__)
48 #输出结果:{'name': '丛好'}
49 
50 #使用对象
51 #调用聊天功能
52 ch.talk()
53 '''
54 输出结果:
55 对象的方法中打印 <__main__.CongHao object at 0x000001F37E4AC240> 2145307509312
56 我的名字是丛好
57 我的性别是:女
58 我的年龄是:38
59 '''
60 
61 #再次实例化一个对象(再做一个丛浩对象)
62 hnr = CongHao()
63 #调用聊天功能
64 hnr.talk()
65 '''
66 输出结果:
67 对象的方法中打印 <__main__.CongHao object at 0x000001B1D654B2B0> 1863316714160
68 我的名字是丛浩
69 我的性别是:女
70 我的年龄是:38
71 '''
72 
73 #实例化对象
74 ch = CongHao()
75 #调用洗澡方法
76 ch.wash()
77 '''
78 输出结果:
79 你存在于我深深的脑海里~
80 沐浴露和小香皂,水温干刚好~
81 '''
82 
83 
84 #测试使用其他单词单体self参数
85 ch = CongHao()
86 #调用吃饭方法
87 ch.eat()
88 '''
89 输出结果:
90 我的体重是180斤
91 我最喜欢吃烤羊腿~
92 '''
93 
94 #没有self参数的方法的使用
95 #ch = CongHao()
96 #ch.smoking()#无法通过对象调用没有接受对象参数的方法
97 #CongHao.smoking()#通过类可以访问没有接受对象参数的方法

 

posted @ 2019-05-12 10:56  双伟科技  阅读(473)  评论(0编辑  收藏  举报