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

面向对象-self这个特殊的参数的更多相关文章

  1. 附录A培训实习生-面向对象基础构造方法和带参数的构造方法(2)

    构造方法,又叫构造函数,其实就是对类进行实例化.构造方法与类同名,无返回值,也不需要void,在new时候调用.也就是说,就是调用构造方法的时候. 所有类都有构造方法,如果你不编码则系统默认生成空的的 ...

  2. Java面向对象_增强for可变参数与代码块

    1.foreach循环 for(类型 变量名称:数组或集合){ //输出操作 } 2.可变参数:根据需要自动传入任意个数的参数,就是可变参数. 语法:返回值类型 方法名称(数据类型...参数名称){ ...

  3. python_day7【模块configparser、XML、requests、shutil、系统命令-面向对象】之篇

    python内置模块补充 一.configparser configparser:用户处理特定格式的文件,其本质是利用open打开文件 # 节点 [section1] #键值对k1 = v1 k2:v ...

  4. python 面向对象简单理解

    面向对象: 是一种程序设计范型 作用: 提高软件的重用性和灵活性,扩展性 世界万物一切皆为对象,对象即是指由特定状态,特征,行为的实体   知识点一: 代码的重用 举个栗子 比如小月月有了一个女朋友1 ...

  5. 第七章:Python基础のXML操作和面向对象(一)

    本課主題 XML介绍与操作实战 shutil 模块介绍与操作实战 subprocess 模块介绍与操作实战 初探面向对象与操作实战 本周作业 XML介绍和操作实战 對於浏览器返回的字符串有以下幾種: ...

  6. 面向对象:三大特性、类成员、property

    一.类的基础知识 python 一切皆为对象. 我们以前的str,list,int 都是对象. 1.1 类的定义 与 调用 class 关键字用来定义类,注意类名首字母大写. 类的调用,先实例化一个类 ...

  7. Flask开发技巧之参数校验

    Flask开发技巧之参数校验 目录 Flask开发技巧之参数校验 1.请求参数分类 2.解决方案使用到的库 3.针对url查询参数与一般json格式 4.针对复杂json格式数据 本人平时开发中使用的 ...

  8. JavaSE中级篇1 — 核心思想:面向对象 — 更新完毕

    1.面向对象编程思想(重点中的重点) 题外话: 其他都还可以是技术,但这里是走自己的路--面向对象编程,即:OOP,养成的思想就是:万物皆对象,懂得把东西抽离出来 这一部分记的理论知识很多,而且需要自 ...

  9. Java 相关注意事项小结

    程序是一系列有序指令的集合: Java主要用于开发两类程序: 1)桌面应用程序2)Internet应用程序1,Java程序:三步走,编写--编译--运行:2,使用记事本开发:1)以.java为后缀名保 ...

随机推荐

  1. Java学习之String StringBuffer StringBuilder区别

    1.String:对象长度是不可变的,是线程安全. 2.StringBuffer:对象长度是可变的,是线程安全. 3.StringBuilder:对象长度是可变,不是线程安全.

  2. C#语言 数组

  3. 在线API

    JExcelApi http://jexcelapi.sourceforge.net/resources/javadocs/index.html Poi http://poi.apache.org/a ...

  4. 【Java架构学习】Model1和Model2讨论

    在Java的学习中.这两个词的频率出现的非常高.那就是Model1和Model2.那么到底什么是Model1,什么是Model2呢?我们是不是又非常自然接受这两个概念.可是不知道其所以然呢?今天我们就 ...

  5. 备忘录模式-Memento

    备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可以将该对象恢复到原先保存的状态. 备忘录模式结构图: 何时使用备忘录模式: Memento模式比适合 ...

  6. MySQL基本语句优化10个原则

    在数据库应用中,程序员们通过不断的实践总结了很多经验,这些经验是一些普遍适用的规则.每一个程序员都应该了解并记住它们,在构造SQL语句时,养成良好的习惯.以下10条比较重要的原则供大家参考. 原则1: ...

  7. mini_magick

    https://github.com/minimagick/minimagick class  https://www.rubydoc.info/github/minimagick/minimagic ...

  8. ruby hash排序

    参考文章:http://blog.csdn.net/ppp8300885/article/details/49933305 a={a:1,b:20,c:3,d:0,e:7}逆序 a.sort{|k,v ...

  9. Hive两种访问方式:HiveServer2 和 Hive Client

        老版HiveClient:  要求比较多,需要Hive和Hadoop的jar包,各配置环境.       HiveServer2:   使得与YARN和HDFS的连接从Client中独立出来, ...

  10. 贞鱼传教&&贞鱼传教(数据加强版)

    http://acm.buaa.edu.cn/problem/1381/ 贞鱼传教[问题描述] 新的一年到来了,贞鱼哥决定到世界各地传授“贞教”,他想让“贞教”在2016年成为世界第四大宗教.说干就干 ...