python进阶(1)

1.继承    2.重写    3.类方法    4.静态方法    5.多态    6.类属性 与 实力属性    7.__new__方法    8.try异常捕捉    9.raise抛出自定义异常    10.模块    11.模块的制作与上传

上面的是我写的内容的一些简介,下面后详细的讲到的^_^*

1. 继承:

多继承的时候,子类后面的父类名应该在括号中用,隔开

父类中的初始化带参数,所以子类即使没有初始化,选择继承父类之后也要带上对应的参数。

1.继承:

多继承的时候,子类后面的父类名应该在括号中用,隔开

父类中的初始化带参数,所以子类即使没有初始化,选择继承父类之后也要带上对应的参数


__mro__的方法是:写出顺序  (类名.__mro__)

2.重写:

当子类的方法名与父类的方法名相同时,就是对父类对应方法的重写

有三种方法:

(1)父类名.__init__(self.name)

括号中的方法名前面必须有self:         Cat.__init__(self.name)

(2) super(子类名,self).__init__(name)     super(子类名,self).子类的方法名(  )

(3) super().__init__(name)      super().父类名(父类属性)           super中不用self


3. 类方法

(1.)def方法名( cls )  每一个类方法上面必须有@classmethod,这是类方法的一个标志

在一个类中,使用cls.类属性名可以直接修改在文件中的类属性,而实例化的方法都不能直接修改类的属性

(2.)当实例化对象修改类属性时,只有本人的被修改了,其他的不变


  (3.)   删除对象的指定属性:del  people01.  guoji    del对象名.方法名

4.静态方法:

定义函数函数名():不可以传入self或者是cls等参数,但是可以传入其他的参数:

调用时一般要用类名,否则容易出错

既不需要访问实例属性或者调用实例方法

也不需要访问类属性或者调用类方法

 静态方法不能调用非静态的方法


5.多态

面向对象的三大特点是:封装,继承,多态

多态:可以增加代码的灵活度,不影响到类的内部设计


6.类属性 与 实例属性:

总结:

如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。

实例对象能调用实例方法、静态方法、类方法和类属性,实例属性。

而类除了不能调用实例属性,其他的方法和属性都能调用。

7.__new__方法:

(*1.) __new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供

(*2.)__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例

(*3.)__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值

(*4.)我们可以将类比作制造商,__new__方法就是前期的原材料购买环节,__init__方法就是在有原材料的基础上,加工,初始化商品环节

如果return返回了__new__(cls),就相当于从父类的方法中调用了__new__的方法,也就是我们在创建这个类的操作(我们创建类的时候不也是在内存中开辟了一块地方吗,其实object或者是 父类里面也有__new__这个方法,就是当我们创建一个类的时候就会自动的调用的),所以要直接调用实现这个实例化,让它再下来。   <<<<<<<<<自己理解的


在后面的单例模式中会用到:向上面说的一样,在你多次创建对象时,他还是只会保留第一次创建的。

8.异常捕捉:


Except后面可以跟你要捕捉的错误类型 如:IOError,TypeError,等等都可以,但是,一旦你不知道你要捕捉的错误是什么,要怎么办呢,所以有一个Exception的存在,它代表了所有的错误。如下图:


捕捉异常try的嵌套:


Try的志向循序: 从上到下执行,如果发生错误了try出了错误,后面的语句后面的语句就不会执行了,走到了错误输出的地方。

try不影响后面的语句,finally后面的语句不管是否try出错误都会执行。当你执行ctrl+c退出时依然会try出异常

9.raise抛出自定义异常:

你可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类


异常处理中抛出异常:


10.模块:

导入模块,例如import os, import sys,

模块的导入方式:1.import模块名  2.from ...import ...

Import导入的时候如果下面要使用时 需要用 模块名.函数名

而from ...import ...导入使用后,只需要调用函数名即可。自己写的模块导入时,一般要用from ...import ...这一种方式导入的受路径的限制小一点,当你的文件移动时,依然可以执行。


11.模块的制作和上传:

1.

2.

3.

4.

模块的安装和使用:


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