class person:#属性age = 20name = "guojawee"#方法def show(self):   #函数的第一个参数必须是selfprint("年龄 = %d"  %self.age)  #属性前必须加selfprint("名字 = %s"  %self.name)p = person()  #定义一个对象
p.show()注解:self相当于C++中的this指针----------------------------------------------对象 = 属性+方法封装
继承
多态:不同对象对同一方法,响应不同的行动----------------------------------------------

name mangling 名字改变,名字重整

在Python中定义私有变量只需要在变量名或函数名前加上两个下划线__,
那么变量或函数就会成为私有的了。__变量名  改编成   _类名__变量名

继承

class 子类(父类):... ...
调用未绑定的方法
使用super游戏:鲨鱼吃鱼小鱼:金鱼Goldfish,鲤鱼Carp,三文鱼Salmon,
鲨鱼:Sharkimport random as rclass fish:def __init__(self):self.x = r.randint(0,10)  #生成坐标self.y = r.randint(0,10)def move(self):self.x -= 1print("位置:" , self.x , self.y)class Goldfish(fish):passclass Carp(fish):passclass Salmon(fish):passclass Shark(fish):def __init__(self):#fish.__init__(self)    #fish.__init__(Shark)  #非绑定的继承super().__init__()   #绑定的继承self.hungry = Truedef eat(self):if self.hungry:print("我饿了,我要吃东西...")else:print("撑死了,吃不下了...")

组合

    一个水池类,里边有乌龟和各种鱼
class Turtle:def __init__(self,x):self.num = xclass Fish:def __init__(self,y):self.num = yclass pool:def __init__(self,num1,num2):  #利用组合self.Turtle = Turtle(num1)self.Fish   = Fish(num2)def print_num(self):print("水池中,有乌龟%d只,鱼%d条"  %(self.Turtle.num,self.Fish.num))p = pool(1,2)
p.print_num()    #水池中,有乌龟1只,鱼2条[说明]组合的使用规则:假设B类想组合A类,那么在B类的构造函数中,直接实例化A类的对象即可。

绑 定

    Python严格要求方法需要有实力才能被调用,这种限制其实
就是Python所谓的绑定。


一些相关的BIF

issubclass(class,classinfo)
isinstance(object,classinfo)hasattr(object,name)  测试一个对象object中是否有name属性
getattr(object,name[,default])  获得对象object指定属性name的值
setattr(object,name,value)   没有就新建一个属性name,并设值为value
delattr(object,name)property(fget=None,fset=None,fdel=None,doc=None)属性设置属性  

类和对象:给大家介绍对象相关推荐

  1. 逆战班---对象的基本介绍和操作

    对象的基本介绍 对象 - 也是数据的集合 对象与数组的区别 数组是 索引值 -> 数据 对象是 键值对形式 键名 -> 数据 键名 = 数值 的形式 对象的 属性/键名 功能 就类似于 数 ...

  2. JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配

    文章目录 前言 零.排序规范 1.happens-before原则 2.找文档位置 一.一线互联网企业关于对象面试题: (后面回答的就是这几个问题) 二.对象创建过程 三.对象在内存中的存储布局 1. ...

  3. python入门——P36类和对象:给大家介绍对象

    介绍对象 下面展示一些python3创建类,类的属性.方法,以及调用的代码,这里还用到了多态,对象fighter和defender都调用了相同名字的方法,但却实现的是不同的功能 tips:类的定义首字 ...

  4. 课时36:类与对象:给大家介绍对象

    目录: 一.对象=属性+方法 二.课时36课后习题及答案 大家之前已经听说过封装的概念,把乱七八糟的数据扔进列表里面,这是一种封装,是数据层面的封装:把常用的代码段打包成一个函数,这也是一种封装,是语 ...

  5. python里面的类和对象_Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  6. python线程创建对象_Python线程下thread对象的用法介绍(附实例)

    本篇文章给大家带来的内容是关于Python线程下thread对象的用法介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Thread对象 Thread类用于表示单独的控制 ...

  7. 关于jQuery对象(类数组对象)以及DOM对象相互转化问题——[object Object]和[object HTMLInputElement]

    之前在某官网课程上看有关jQuery和bootstrap的相关教程,有一节课是教我们如何制作价格菜单的按钮以及总价问题 选中按钮,按钮样式会发生变化,右上角价格会自动运算 6个菜单的html结构差不多 ...

  8. java中对象类型转换_Java中的对象的类型转换介绍(附代码)

    本篇文章给大家带来的内容是关于Java中的对象的类型转换介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 向上转型:子类对象转为父类,父类可以是接口.公式:Father ...

  9. java vo转map_javabean实体类对象转为Map类型对象的方法(转发)

    //将javabean实体类转为map类型,然后返回一个map类型的值 public static Map beanToMap(Object obj) { Map params = new HashM ...

  10. JavaWeb --MYSql(MySql基础,MySql高级,JDBC,从类路径下加载输入流对象)

    SQL分类 DDL(Data Definition Language)数据库定义语言,用来定义数据库对象:数据库,表,列等(操作数据库,表等) DML(Data Manipulation Langua ...

最新文章

  1. window对象提供的功能之窗口最大化
  2. 多年后的同学聚会,程序员混得最差?
  3. 最近のWebSocket事情についてまとめとく
  4. Dart Hello World 示例程序【Dart专题1】
  5. android lua sd卡,记Android层执行Lua脚本的一次实践
  6. python中词云图是用来描述_python中实现词云图
  7. Python 元组(Tuple)操作详解
  8. Java讲课笔记06:选择结构与条件循环
  9. 一加7T Pro曝光:10月10日发布
  10. AWS服务器可以设置虚拟ip吗,《AWS云计算实战》3.使用虚拟服务器:EC2
  11. 学生网页设计作业源码 HTML+CSS 网上书店网站设计与实现
  12. mt4双线macd_实用MACD“三板斧”,你值得拥有(建议收藏)
  13. python微控制器编程pdf_Python高性能编程 中文高清pdf完整版[17MB]
  14. 还原/修改XP任务栏
  15. Dreamweaver cs 6无法添加浏览器 亲测有效!!!
  16. 2018最新苹果APP上架App Store流程(超详细)
  17. 信息隐藏——第四章 图像信息隐藏数
  18. A Weakly Supervised Convolutional Network for Change Segmentation and Classification
  19. python根据文本生成词云图
  20. PowerDesigner常见错误

热门文章

  1. python 模块(Module)和包
  2. [特征工程系列二]显性特征的基本处理方法
  3. android 8.0 移除静态注册广播
  4. idea设置默认maven配置, 避免每次设置maven
  5. Node.js Web 模块
  6. [搜索]一种分词的实现(2)
  7. Spring Cloud Alibaba - 02 SpringCloud 、 SpringCloud Alibaba 、SpringBoot的生产版本选择
  8. jvm性能调优实战 -33每日百亿数据量的实时分析引擎,如何定位和解决频繁Full GC问题
  9. 高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug
  10. 实战SSM_O2O商铺_18【商铺编辑】Service层开发