面向对象-self这个特殊的参数
2024-09-30 10:02:01
self:
1.只是一个参数。
2.在对象使用方法的时候,当前对象会作为第一个参数的实参传入
3.self相当于语言中的代词,表示当前对象本身(其他语言中也有使用this)
4.self的作用连接整个对象的所有信息。桥梁的作用!
5.self不是关键字,只是一个参数变量名而已,可以使用其他单词代替(禁止代替)
6.方法的分类(暂时):
方法中具有接受对象的参数(self)这个方法,叫做非绑定类的方法
方法中没有接受对象的参数(self)这个方法,叫做绑定类的方法
self的操作实例
#self的操作实例
#声明一个丛浩的类
class CongHao:
#成员属性---------------------------------
name = '丛浩'
sex = '女'
age = 38
color = 'yellow'
height = '180cm'
weight = '180斤'
house = '' #成员方法-----------------------------
#聊天
def talk(self):
print('对象的方法中打印',self,id(self))
print('我的名字是'+ self.name)#此处需要使用对象的属性来输出名字,性别年龄等
print('我的性别是:'+ self.sex)#此处需要使用对象的属性来输出名字,性别年龄等
print('我的年龄是:' + str(self.age))#此处需要使用对象的属性来输出名字,性别年龄等 #唱歌
def sing(self):
print('你存在于我深深的脑海里~')
#洗澡
def wash(self):
#洗澡的时候唱歌(调用自己的唱歌功能)
self.sing()
print('沐浴露和小香皂,水温干刚好~')
#吃饭
def eat(zhen):#非绑定类的方法
print('我的体重是'+zhen.weight)
print('我最喜欢吃烤羊腿~')
#self设计为接受次数的参数
def cry(self): #绑定类的方法
print('我哭了'+self+'次')
#没有self参数的方法
def smoking():
print('饭后一支烟,赛过活神仙!吸烟有害健康。') #实例化一个对象(做出一个丛浩对象)
ch = CongHao()
print('打印实例化的对象',ch,id(ch))#打印实例化的对象
#输出结果:打印实例化的对象 <__main__.CongHao object at 0x0000022F7CA4C240> 2402977890880 #修改对象信息
ch.name = '丛好'
print(ch.__dict__)
#输出结果:{'name': '丛好'} #使用对象
#调用聊天功能
ch.talk()
'''
输出结果:
对象的方法中打印 <__main__.CongHao object at 0x000001F37E4AC240> 2145307509312
我的名字是丛好
我的性别是:女
我的年龄是:38
''' #再次实例化一个对象(再做一个丛浩对象)
hnr = CongHao()
#调用聊天功能
hnr.talk()
'''
输出结果:
对象的方法中打印 <__main__.CongHao object at 0x000001B1D654B2B0> 1863316714160
我的名字是丛浩
我的性别是:女
我的年龄是:38
''' #实例化对象
ch = CongHao()
#调用洗澡方法
ch.wash()
'''
输出结果:
你存在于我深深的脑海里~
沐浴露和小香皂,水温干刚好~
''' #测试使用其他单词单体self参数
ch = CongHao()
#调用吃饭方法
ch.eat()
'''
输出结果:
我的体重是180斤
我最喜欢吃烤羊腿~
''' #没有self参数的方法的使用
#ch = CongHao()
#ch.smoking()#无法通过对象调用没有接受对象参数的方法
#CongHao.smoking()#通过类可以访问没有接受对象参数的方法
最新文章
- Underscore 整体架构浅析
- sql面试题一 学生成绩
- eclipse常用快捷键,这个只要新学会的常用的会陆续更新的。
- 161019、并发容器ConcurrentHashMap
- northwind数据库介绍
- ajax翻页效果模仿yii框架
- windows主线程等待子线程退出卡死问题
- WPF自定义下拉控件
- HDU1027 Ignatius and the Princess II
- ABP官方文档翻译 7.3 Quartz集成
- Django 分类标签查找
- break、continue以及return的区别
- cocos2d-html5 碰撞检测的几种方法
- 第7章 Linux上配置RAID
- 【PSR规范专题(6)】PSR-7 HTTP消息接口【转】
- 【hihocoder 1628】K-Dimensional Foil(线性代数)
- [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试),长期有效
- WordPress 客户端软件列表
- 监听css3的animation动画和transition事件
- Python书单
热门文章
- Python爬取韩寒所有新浪博客
- FSB总线、HT总线、QPI总线、DMI总线
- PostgreSQL源码解读 基础结构 node
- Linq To Sql进阶系列(六)用object的动态查询与保存log篇
- 网页 H5“线条” 特效实现方式(canvas-nest)
- monitor and move the log content to our big data system
- SHOW PROCESSLIST Syntax
- CLI和CGI的区别
- HDU 5651xiaoxin juju needs help
- import data from excel to sql server