Python学习(十)

对象

将对象的属性和行为包装起来

对象=属性+方法

类的创建

对象的实例化以及方法的调用

面向对象的特征

封装(封装了属性和方法,成为一个独立性的模块,相当于信息的隐蔽),继承(子类自动共享父类之间数据和方法的机制),多态(不同对象对同一方法响应不同的行动)

类的继承以及子类对象的实例化和方法属性的继承,pass是占位符

self是什么?

self相当于Java中的this,将相当于类的自身。默认self是类中方法的第一个参数。

self在类的内部,相当于类的对象

Python的魔法方法

--init--(self)  方法,相当于类的构造方法,在类的实例化的时候就会被自动调用。

可以在类中重写--init--(self)方法,添加参数和添加方法体。

python的方法参数如果有默认值,那么在调用的时候参数也是可选的(类似于kotlin)

公有和私有

默认的属性和函数都是公有的

在Python中定义私有变量只需要在变量名或者函数名前加上--两个下划线,那么这个函数或变量就变成私有的。私有的属性可以使用方法在内部调用,然后再通过对象调用该方法就可以调用这个私有属性。私有属性加上双下划线其实内部就是将属性名变成了“-类名--属性名”,那么我们就可以使用对象调用这个变量了。方式:对象名.-类名--属性名,所以说python的私有是伪私有。

继承

继承的方式

如果子类中定义与父类同名的方法或者属性,则会自动覆盖父类对应的方法或者属性。

在子类中重写方法时,如果还想要父类的方法,有两种方法。

----调用未绑定的父类方法

调用未绑定的父类方法

----使用super函数

使用super 函数调用想要用的方法,不用传入self参数

当super要调用的参数需要传参时,那么必须传参,相当于普通调用

多重继承

多重继承的形式

组合

把几个没有继承关系,没有直线关系的类放到一起。

组合举例

将几个类在一个类的构造函数里面实例化出来。

Mix-in

类,类对象和实例对象

类,类对象和实例对象的关系

类里面的属性都是静态的,和类对象相互绑定。不会受实例对象的影响。如果属性的名字和方法相同,属性会把方法覆盖掉。

类的实例对象也可以自己创建属性。

一些约定俗成的规定:

1.不要试图在一个类里定义出所有能想到的特性和方法,应该通过继承和组合来进行拓展。

2.用不同的词进行命名,如属性名用名词,方法名用动词。

尽量使用实例对象的属性,少用类对象的属性。

什么是绑定?

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

实例对象在声明创建时已经在内存中有了自己的空间,和类对象是分开的,互不干扰。即使类对象被删除,实例对象还是存在。但是类对象被删除之后,就不能再创建实例对象了。只有在程序退出实例对象才会从内存中销毁。

跟类相关的内置函数(BIF)

issubclass(class,classinfo)

如果第一个参数class是第二个参数class info的子类就返回true。但这种方法是非严格的方法。

1.一个类也会被认为是自身的子类。2.classinfo可以是类对象的组成的元祖,只要class与其中任何一个候选类的子类,则返回True,否则False

isinstance(object,classinfo)

检查object是不是classinfo的实例对象

1.如果第一个参数不是对象,则永远返回false。2.如果第二个参数不是类或者由类对象组成的元组,会抛出TypeError异常。

hasattr(object,name)

判断object对象里面有没有name属性。name要是属性的名字,是字符串类型的。

getattr(object,name[,default])

获取object实例对象的name属性的值,如果name属性不存在,那么就得到default,如果default不存在,那么就会抛出异常。

setattr(object,name,value)

给object实例对象的name属性赋值value,如果属性name不存在,则新建属性name并赋值。

delattr(object,name)

删除object实例对象的name属性。如果属性不存在,则抛出异常。

property(fget=None,fset=None,fdel=None,doc=None)

通过属性来设置属性。第一个参数是获取属性的方法,第二个是设置属性的方法,第三个是删除属性的方法。我们可以根据这个函数操作其他属性的获取,设置,删除。

property方法举例

property方法的好处就是,当我们提供给用户的setSize,getSize方法需要修改时,就会很麻烦。如果我们提供给用户的是x,那么我们就可以随便修改方法,然后修改property的参数就可以,提供给用户的x没有变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,577评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,596评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,864评论 6 13
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,678评论 0 9
  • 还记得我们一起去登的羊台山,我们一家人 爬到一点点时,爸爸和妈妈就爬不动了,我们几个孩子就硬拉着他们上去,说人就要...
    行者dx阅读 162评论 0 0