python类定义的讲解


Posted in Python onNovember 01, 2013

一、类定义:

class <类名>:
 <语句>

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

__private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs
类的方法

在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
私有的类方法

__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用slef.__private_methods

类的专有方法:
__init__  构造函数,在生成对象时调用
__del__   析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用

__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方

#类定义  
    class people:  
        #定义基本属性  
        name = ''  
        age = 0  
        #定义私有属性,私有属性在类外部无法直接进行访问  
        __weight = 0  
        #定义构造方法  
        def __init__(self,n,a,w):  
            self.name = n  
            self.age = a  
            self.__weight = w  
        def speak(self):  
            print("%s is speaking: I am %d years old" %(self.name,self.age))        
    p = people('tom',10,30)  
    p.speak()

二、继承类定义:
1.单继承
class <类名>(父类名)
   <语句>

class childbook(book)
    age = 10

#单继承示例  
    class student(people):  
        grade = ''  
        def __init__(self,n,a,w,g):  
            #调用父类的构函  
            people.__init__(self,n,a,w)  
            self.grade = g  
        #覆写父类的方法  
        def speak(self):  
            print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))           s = student('ken',20,60,3)  
    s.speak()

2.类的多重继承
class 类名(父类1,父类2,....,父类n)
     <语句1>

需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含方法
#另一个类,多重继承之前的准备  
class speaker():  
    topic = ''  
    name = ''  
    def __init__(self,n,t):  
        self.name = n  
        self.topic = t  
    def speak(self):  
        print("I am %s,I am a speaker!My topic is %s"%(self.name,self.topic))  #多重继承  
class sample(speaker,student):  
    a =''  
    def __init__(self,n,a,w,g,t):  
        student.__init__(self,n,a,w,g)  
        speaker.__init__(self,n,t)  
test = sample("Tim",25,80,4,"Python")  
test.speak()#方法名同,默认调用的是在括号中排前地父类的方法
Python 相关文章推荐
使用PYTHON创建XML文档
Mar 01 Python
python实现统计代码行数的方法
May 22 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
Python3 queue队列模块详细介绍
Jan 05 Python
Django migrations 默认目录修改的方法教程
Sep 28 Python
python并发和异步编程实例
Nov 15 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
python实现静态web服务器
Sep 03 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
python 实现批量图片识别并翻译
Nov 02 Python
用实例说明python的*args和**kwargs用法
Nov 01 #Python
python操作MongoDB基础知识
Nov 01 #Python
python操作MySQL数据库具体方法
Oct 28 #Python
Python sys.path详细介绍
Oct 17 #Python
python开发的小球完全弹性碰撞游戏代码
Oct 15 #Python
python中 ? : 三元表达式的使用介绍
Oct 09 #Python
Python 文件和输入输出小结
Oct 09 #Python
You might like
如何使用PHP获取网络上文件
2006/10/09 PHP
PHP生成便于打印的网页
2006/10/09 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
详解php的socket通信
2015/08/11 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
vue-router定义元信息meta操作
2020/12/07 Vue.js
python脚本监控docker容器
2016/04/27 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
小学数学教学反思
2014/02/02 职场文书
《春天来了》教学反思
2014/04/07 职场文书
食品销售计划书
2014/04/26 职场文书
入党综合考察材料
2014/06/02 职场文书
群众路线表态发言材料
2014/10/17 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书