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 OpenCV学习笔记之直方图均衡化
Feb 08 Python
python多维数组切片方法
Apr 13 Python
python多线程之事件Event的使用详解
Apr 27 Python
python获取url的返回信息方法
Dec 17 Python
对Python正则匹配IP、Url、Mail的方法详解
Dec 25 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
正则给header的冒号两边参数添加单引号(Python请求用)
Aug 09 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
python中adb有什么功能
Jun 07 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
python中的None与NULL用法说明
May 25 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
python绘图库Matplotlib的安装
2014/07/03 Python
python中尾递归用法实例详解
2015/04/28 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
英文简历中的自我评价用语
2013/12/09 职场文书
组织关系转移介绍信
2014/01/16 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
基层党员对照检查材料
2014/09/24 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
公司表扬稿范文
2015/05/05 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
新郎新娘致辞
2015/07/31 职场文书
Python 内置函数速查表一览
2021/06/02 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python