类与对象

对象的本质也就是一个名称空间而已,用于存放自己独有的属性,而类中存放的是对象共有的属性。

__init__会在调用类时自动触发

调用类时发生两件事:

1.创建一个空对象stu1

2.自动触发__init__功能,将stu1以及括号内的参数一同传入

属性查找

先从对象自己的名称空间找,没有则去类中找

绑定方法

类中定义的函数是共享给对象的,而且是绑定给对象使用的

绑定的效果:绑定给谁,谁就来调用,谁调用就将谁当第一个参数

补充:类中定义的函数,类确实可以使用,但大多数是给对象用的,所以需要自带一个参数self

类即类型

python中一切皆为对象,且python3中类与类型是一个概念,类型就是类

#类型dict就是类dict

>>> list
<class 'list'> #实例化的到3个对象l1,l2,l3
>>> l1=list()
>>> l2=list()
>>> l3=list() #三个对象都有绑定方法append,是相同的功能,但内存地址不同,ID相同
>>> l1.append
<built-in method append of list object at 0x10b482b48>
>>> l2.append
<built-in method append of list object at 0x10b482b88>
>>> l3.append
<built-in method append of list object at 0x10b482bc8> #操作绑定方法l1.append(3),就是在往l1添加3,绝对不会将3添加到l2或l3
>>> l1.append(3)
>>> l1
[3]
>>> l2
[]
>>> l3
[]
#调用类list.append(l3,111)等同于l3.append(111)
>>> list.append(l3,111) #l3.append(111)
>>> l3
[111]

对象是高度整合的产物,整合数据与专门操作该数据的方法(绑定方法)

继承与派生

派生就是子类中新定义的属性,子类使用中以自己的为准

1.什么是继承

继承是一种新建类的方式,新建的类为子类,被继承的为父类

特征:子类会遗传父类的属性,继承是类与类之间的关系

2.为何要继承

减少代码的冗余

3.如何使用继承

支持一个类同时继承多个父类  class Foo(Parent): Parent即为父类

python3中,若没有继承任何的类,默认继承object类,2中不会默认继承

新式类:但凡继承了object的类及该类的子类,都是新式类

python3中的类都是新式类

经典类:没有继承object的类

python基础之类与对象,继承与派生的更多相关文章

  1. python基础之面对对象

    Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...

  2. Python(面向对象编程——2 继承、派生、组合、抽象类)

    继承与派生 ''' 继承:属于 组合:包含 一. 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称 ...

  3. Python入门之面向对象之类继承与派生

    本章内容 一.继承 二.抽象类 三.继承的实现原理 ======================================================= 一.继承 1. 继承的定义 继承是一 ...

  4. python基础之Event对象、队列和多进程基础

    Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程 ...

  5. Python基础—12-面向对象(02)

    面向对象 面向对象三大特点 封装:既可对数据结构进行封装,又可对处理数据的方法进行封装 继承:强调的父子类的关系 多态:不同对象调用相同的方法,会有不同的响应 类的继承 相关概念 继承:父类的属性和方 ...

  6. Python类,域,方法,对象,继承

    类和对象: 是面向对象编程的两个主要方面,类创建一个新类型,而对象这个类的实例.. 域: 属于一个对象或类的变量被称为域.域有两种类型: 属于每个实例(类的对象)或属于类本身.它们分别被称为实例变量和 ...

  7. python基础--异常,对象和迭代器

    异常处理 面向对象 迭代器和生成器 python异常处理 下面代码触发了一个FileNotFoundError >>> open("notexist.txt") ...

  8. Python基础之面对对象进阶

    阅读目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ __del__ item系列 __geti ...

  9. python基础之类和对象、对象之间的交互、类名称空间与对象/实例名称空间

    一 面向对象初识 Python要么是面向过程要么是面向对象. 概念及优缺点: 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东 ...

随机推荐

  1. .Net MVC4 上传大文件,并保存表单

    1. 前台 cshtml </pre><pre name="code" class="csharp">@model BLL.BLL.Pr ...

  2. 通过JDBC连接HiveServer2

    如果通过JDBC连接HiveServer2时提示:User: hive is not allowed to impersonate hive,需要在core-site.xml中新增如下配置: hado ...

  3. Msfvenom学习总结-MSF反弹webshell

    1.    –p (- -payload-options) 添加载荷payload. 载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填 ...

  4. python中requests库中文乱码问题

    当使用这个库的时候经常会出现各种乱码的情况. 首先要知道: text返回的是处理过的unicode的数据. content返回的是bytes的原始数据 也就是说r.content比r.text更加节省 ...

  5. php各个版本的区别

    一. PHP 5.2.5.3.5.4.5.5.5.6 版本区别对比以及新功能详解 PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5. ...

  6. jquery中的jsonp和js中的jsonp还有配合php实现的jsonp。

    最近在做一个自己的网站,才知道一个前端需要学习的东西到底有多少. 来吧~步入正题,我的网站空间很小.所以在资源上,就有点吼不住了.跨域拿数据肯定是不可避免的了. 一.原生js: 我们知道他的原理,就是 ...

  7. jquery键盘常见事件

    一.在看jquery的时候有几个常见的键盘事件,我写在这里: 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来 ...

  8. 如何使用 Java 对 List 中每个对象元素按时间顺序进行排序

    如何使用 Java 对 List 中每个对象元素按时间顺序进行排序 Java 实现 import java.text.SimpleDateFormat; import java.util.ArrayL ...

  9. LOJ #6280. 数列分块入门 4-分块(区间加法、区间求和)

    #6280. 数列分块入门 4 内存限制:256 MiB时间限制:500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论   题目描述 给出一个 ...

  10. NestedScrollView

    参考文章: Android滑动到顶部悬停 NestedScrollView的使用 效果图: 实现步骤: 将需要悬浮的layout放到CollapsingToolbarLayout之外,AppBarLa ...