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遍历numpy数组的实例
Apr 04 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
Python如何用filter函数筛选数据
Mar 05 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
在Keras中利用np.random.shuffle()打乱数据集实例
Jun 15 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
最新pycharm安装教程
Nov 18 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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
PHP的引用详解
2015/02/22 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
英文求职信结束语大全
2013/10/26 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
家庭经济困难证明
2015/06/23 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
python实现简单倒计时功能
2021/04/21 Python