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()#通过类可以访问没有接受对象参数的方法