【Python第七章-面向对象】教程文章相关的互联网学习教程文章

python面向对象的继承

没什么可说的,继承主要就是继承父类的一些方法,代码中很详细#!/usr/bin/env python #coding:utf-8class Father(object):#新式类def __init__(self):self.name='Liu'self.FamilyName='Yan'def Lee(self):print '我是父类函数Lee'def Allen(self):print "我是父类函数Allen"class Son(Father):def __init__(self):#Father.__init__(self) #经典类执行父类构造函数super(Son,self).__init__() #新式类执行父类构造函数self.name...

Python面向对象编程指南(第9章)序列化和保存-JSON、YAML,PickleCSV和XML【代码】

把这本压箱底的书拿出来看了下,感觉还不错,就给自己记录一下。JSON,YAML,Pickle,XML和CSV比较适合用于数据交换,主要应用于单一对象而非多个对象的场景。Shelve支持多个对象的持久化为了存储Python中的对象,必须先将其转换为字节,然后再将字节写入文件,这个过程成为序列化,又要数据转化,压缩,编码。这是一本好书,超级烂的翻译,很多文字描述语句都读不通。9.3定义用于持久化的类。书中定义了类,通过jinja2来渲染实例。代...

Python---面向对象---案例【代码】

a = 5print(5/10)# 地板除(功能类似于数学模块当中floor()向下取整操作)print(5//10)print(a%10)b = 25print(b/10)print(b//10)print(b%10)-----------------------------------import randomimport math‘‘‘输入一个三位数与程序随机数比较大小如果大于程序随机数,则输出这个三位数的个位\十位\百位如果等于程序随机数,则提示中奖,记100分如果小于程序随机数,则将120个字符输入到文本文件中(规则是每一条字符串的长度为1...

Python - 面向对象编程 - __del__() 析构方法【代码】

del 语句Python 提供了 del 语句用于删除不再使用的变量 语法del 表达式 删除变量的栗子var = "hello"del var print(var)# 输出结果print(var) NameError: name ‘var‘isnot defined变量已经被删除了,所以无法访问变量 类的析构方法Python 提供了一种机制使得对象被删除前能够得到通知对象被删除时,如果该对象拥有名为 __del__ 的方法,该方法在删除前被调用,该方法又被称为析构方法 语法class 类:def__del__(self):self.属性...

Python面向对象高级编程-@property【代码】

使用@property在绑定属性时,如果直接把属性暴露出去,虽然写起来简单,但是没法检查参数,导致可以把成绩随便改:>>> class Student(object):pass>>> s =Student() >>> s.score=999 >>> s.score 999这显然不符合逻辑,为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法里,就可以检查参数:>>> class Student(object):def get_score(self):return self.sco...

简明python教程七----面向对象的编程(下)【代码】

继承:类之间的类型和子类型关系代码重用:SchoolMember类被称为 基本类或超类,而Teacher和Student类被称为导出类或者子类#!/usr/bin/python #Filename:Inherit.pyclass SchoolMember:‘Represents any school member.‘def __init__(self,name,age):self.name = nameself.age = ageprint ‘(Initialized SchoolMember:%s)‘ %self.namedef tell(self):‘Tell my details.‘print ‘Name:"%s" Age:"%s"‘%(self.name,self.age)cla...

Python自动化开发课堂笔记【Day08】 - Python进阶(面向对象的高级用法,网络编程)【代码】

面向对象的高级用法1. __str__只要执行打印对象的操作,就会触发该对象类中的__str__方法(也就是对象的绑定方法)它是一种默认的方法,默认的打印输出为<__main__.Foo object at 0x003EE350>,但是如果将该绑定方法在类中重写的话,要求必须有以字符串类型的返回值,返回形式可以自己设定。class Foo:def__init__(self,name,age):self.name = nameself.age = agedef__str__(self):return‘name:%s age:%d‘ % (self.name,self.age...

Python 基础第十六---十九天(面向对象初识)【代码】

面向对象初识类的概念:具有相同属性和技能的一类事物对象的概念:对一个类的具体描述 使用面向对象的好处:1.使得代码之间的角色关系更加明确2.增强了代码的可扩展性3.规范了对象的属性和性能面向对象的特点:结局的不确定性 类的内部各个部分说明和结构:class 类名(首字母大写):  #引用静态变量     #1.类名.__dict__[‘静态变量名‘] #可以查看,但是不能删改     #2.类名.静态变量名 #直接就可以访问,可以删改    ...

python-面向对象入门【代码】

一、面向对象介绍介绍面向对象之前,先来回顾一下以前学的面向过程的编程思想面向过程编程:  核心是过程二字,过程指的是解决问题的步骤,即先干什么,再干什么后干什么,基于该思想编程就好比是在设计一条流水线,是一种机械化的思维方式  优点:复杂的问题流程化,进而简单化  缺点:可扩展性差现在轮到面向对象的编程思想了!  面向对象编程,核心是对象二字,对象是特征与技能的结合体,基于该思想编写程序(脑子里始...

python面向对象(进阶篇)【代码】【图】

本篇将详细介绍Python 类的成员、成员修饰符、类的特殊成员。类的成员:类的成员可以分为三大类:字段(变量)、方法、属性。注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段。而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份。一、字段字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同:普通字...

Python学习之面向对象编程

class参考文档:http://woodpecker.org.cn/abyteofpython_cn/chinese/ch11.html#s01本文出自 “Linux SA John” 博客,请务必保留此出处http://john88wang.blog.51cto.com/2165294/1623408原文:http://john88wang.blog.51cto.com/2165294/1623408

Python如何设计面向对象的类(上)【代码】

Python是一门高级语言,支持面向对象设计,如何设计一个符合Python风格的面向对象的类,是一个比较复杂的问题,本文提供一个参考,表达一种思路,探究一层原理。 目标 期望实现的类具有以下基本行为:__repr__ 为repr()提供支持,返回便于开发者理解的对象字符串表示形式。__str__ 为str()提供支持,返回便于用户理解的对象字符串表示形式。__bytes__ 为bytes()提供支持,返回对象的二进制表示形式。__format__ 为format()和str.fo...

【Python面向对象】(13)系统异常以及自定义异常【代码】

一、系统异常 """ 捕获异常 """def test_div(num1, num2):"""除法:param num1::param num2:"""return num1/num2if__name__ == ‘__main__‘:# except后面无异常类型,则默认捕获Exception,则是捕获所有的异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisionError: division by zeroexcept:print("报错啦") # 输出:报错啦,除数不能为0# 捕获指定异常try:rest1 = test_div(5, 0)print(rest1) # 报错:ZeroDivisi...

十二. python面向对象主动调用其他类【代码】

一 .python面向对象主动调用其他类成员 (看代码) 主动调用 其他类的成员# 没有继承 的主动调用class Grad(object):bar=555555def__init__(self,num):self.num=numdef aa(self):print("相当的99999999999999999S") class Son():def aa(self):Grad.aa(self)print("相当的6666666666666666666")b=Son() b.aa() # 相当的99999999999999999S # 相当的6666666666666666666print("*****************************************************...

python面向对象之三大特性【代码】

三大特性继承多态封装 类的组合用法面向对象的用法一个对象的属性值是另外一个类的对象,就是组合 # 定义了一个Dog类,有名字,攻击力,血量,种类,并且有咬的技能(方法)class Dog:def__init__(self,name,aggr,hp,kind):self.name = nameself.aggr = aggrself.hp = hpself.kind = kinddef bite(self,person):person.hp -= self.aggr# 定义了一个人的类,有名字,攻击力,血量,性别,金钱,有攻击技能,有获取武器的技能class ...