python 类和对象下
类的常用函数
issubclass()
检测一个类是否是另外一个类的子类
格式1:issubclass(被检测类,父类)
返回值:布尔值
格式1:issubclass(被检测类,(父类1,父类2,父类3...))
返回值:布尔值
注意:只要有一个类是当前被检测类的父类,那么最终结果就是True
isinstance()
检测一个对象是否是某个类的对象
格式1:isinstance(对象,类)
返回值:布尔值
格式2:isinstance(对象,(类1,类2,类3...))
返回值:布尔值
注意:只要一个类是当前对象的类,那么最终结果就是True
hasattr()
检测对象/类是否具有某个成员
格式:hasattr(对象/类,'成员名')
返回值:布尔值
getattr()
获取对象/类中的成员值
格式:getattr(对象,'成员名'[,成员不存在时的默认值])
返回值:成员的值
setattr()
设置或者添加对象/类中的成员
格式:setattr(对象,'成员名',值)
返回值:None
delattr()
删除对象/类中的成员
格式: delattr(对象,成员)
返回值:None
dir()
获取对象的成员名称列表
格式:dir(对象)
返回值:列表
property()
用于设置成员属性的修饰符
格式:成员属性 = property(获取的方法,设置的方法,删除的方法)
描述符
python中的描述符是用于描述对象中的属性。主要作用就是对属性操作提供限制,验证,管理等相关权限的操作。
描述符主要有三种操作需要设置:
get      获取属性的操作
set      设置属性的操作
delete   删除属性的操作
描述符方法1
#描述符类
class Description:
    #成员属性
    #name = ''
    #初始化方法
    def __init__(self):
        #为当前类/对象添加一个成员属性(当前类)来接收需要描述的成员属性(要描述的类)此处还没有接收(占位)
        self.name = None
    #get获取属性值的方法
    def __get__(self,obj,cls):# self 用于接收当前描述符类的对象 obj 接收用于管理的成员的对象  cls 用于接收管理成员的类
        print('获取方法被触发')
        self.name = str(self.name)
        return self.name[:4]
    #set设置属性值的方法
    def __set__(self,obj,val): #self 用于接收当前描述符类的对象 obj 接收用于管理的成员的对象 val 设置的值
        print('设置方法被触发')
        #print(self,obj,val)
        #在此处可以添加限制和判断(密码奇数时*2)
        if val %2 == 1:
            val *= 2
        #完成了(email)对象的属性值的设置
        self.name = val
    #delete删除属性值的方法
    def __delete__(self,obj): #self当前描述符类的对象 obj 接收用于管理的成员的对象
        #用户代为删除操作
        del self.name
#声明一个邮箱的类
class Email
    #属性
    #用户名
    account = 'conghao@zhiling.com'
    #密码(为密码设置了描述符 的对象) 这一步相当于吧password的所有传入了Description的对象当中
    password = Description()
描述符方法2:
#邮箱类
class Email:
    #成员属性
    #为username添加描述符
    #username = ''
    #设置邮箱账号最大的长度
    maxlength = 6
    #为描述符添加一个临时变量(在描述符中代替username进行操作)
    tmpusername = None
    password = ''
    #成员方法
    #为username的描述符进行设置(添加方法)
    #获取username的描述符方法
    def getusername(self):
        print('获取操作被触发')
        #返回值之前进行值的修饰,两边添加星星
        if self.tmpusername != None:
            self.tmpusername = '★' + self.tmpusername + '★'
        #设置获取username的时候的值
        return self.tmpusername
    #设置username的描述符方法
    def setusername(self,val):
        print('设置操作被触发')
        #限制,根据Email类的最大账号长度对用户名进行截取之后在设置
        #检测val是否是字符串类型
        if isinstance(val,str):
            val = val[0:self.maxlength]
        self.tmpusername = val
    #删除username的描述符方法
    def delusername(self):
        print('删除操作被触发')
        #删除操作
        del self.tmpusername
    #为username设置描述符
    username = property(getusername,setusername,delusername)
3.属性修饰符
#邮箱类
class Email:
    #用户名
    username = ''
    #密码
    password = ''
    #使用描述符来操作昵称
    #昵称
    petname = '小乖乖'
    #为描述符设置临时变量
    __petname = None
    #成员方法(暂无)
    #描述符设置的三个部分  获取,设置和删除
    #处理petname获取操作
    @property
    def petname(self):
        print('获取操作被触发')
        return self.__petname
    #处理petname的设置操作
    @petname.setter
    def petname(self,val):
        print('设置操作被触发')
        #设置操作
        self.__petname = val
    #处理petname的删除操作
    @petname.deleter
    def petname(self):
        print('删除操作被触发')
        #删除操作
        del self.__petname
类的内置属性
__dict__
获取当前类/对象成员组成的字典
__doc__
获取当前类/对象的文档,和函数一样使用''' 定义即可
__name__
类.__name__是获取当前类名,如果直接写__name__则是获取模块的名称
__bases__
获取类的继承列表中所有父类组成的元组python 类和对象下的更多相关文章
- [python]类与对象-下
		[实例对象]可以简称为[实例] 一.类与对象的关系 [类]是[对象]的模板. [类]就像工厂的模具,以它为模板,造出来的成千上万的产品,才是被我们消费.购买.使用,真正融入我们生活的东西.这些产品,在 ... 
- Python   类和对象-下
		类的常用函数 #issubclass() 检测一个类是否是另外一个或者一组类中的子类 class Father: pass class Mother: pass class LaoWang: pass ... 
- 一文讲全了Python 类和对象内容
		摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ... 
- python类与对象各个算数运算魔法方法总结
		1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ... 
- python 类和对象的属性
		python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性 ... 
- python类、对象
		python类.对象 学习完本篇,你将会深入掌握 什么是类,对象 了解类和对象之间的关系 能独立创建一个People(人类),属性有姓名.性别.年龄.提供一个有参的构造方法,编写一个show方法,输出 ... 
- python类与对象基本语法
		面向对象编程的2个非常重要的概念:类和对象. 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念--类. 类就相当于制造飞机时的图纸,用它 ... 
- python 类和对象
		类和对象 类 1.类的组成 数据和函数,二者是类的属性 2.两个作用: 实例化 属性引用 属性引用:类名.属性(增删改查) 实例化: 类名加括号就是实例化,会自动出发__init__的运行 ... 
- Python类和对象
		目录 类与对象 其他方法 继承 经典类和新式类 派生 组合 接口.归一化设计与抽象类 继承实现的原理 子类中调用父类的方法 指名道姓 super()方法 多态与多态性 封装 单下划线开头 双下划线开头 ... 
随机推荐
- jvm性能监控(4)–JVM的监控工具Jconsole
			下面主要说一下怎么JConsole远程连接springboot 项目 java \-Djava.rmi.server.hostname=192.131.149.42 \-Dcom.sun.manag ... 
- #3831 TJOI2013单词
			WOJ#3831 TJOI2013单词 题面 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. 输入 第一个一个整数 N ,表示有 ... 
- Q480S-I7 D1 笔记本使用 VS2015 运行性能探查器会导致电脑自动重启?
			漏洞导致 https://www.freebuf.com/vuls/159642.html 使用以下两句 无法修复该问题,建议升级 win10 系统,使用 vs2017 reg add "H ... 
- k8s应用配置详解
			1. 概述 k8s主要通过Object定义各种部署任务(例如:部署应用.部署Ingress路由规则.部署service等等),通过kubectl命令远程操作k8s集群. Object的定义通常以Yam ... 
- Go语言_方法和接口
			方法和接口 本节课包含了方法和接口,可以用这种构造来定义对象及其行为. Go 作者组编写,Go-zh 小组翻译. https://tour.go-zh.org/methods/1 方法 Go 没有类. ... 
- 【JAVA】 01-Java基础知识
			链接: 笔记目录:毕向东Java基础视频教程-笔记 GitHub库:JavaBXD33 测试 01-Java基础知识 一.数据类型 基本类型 包装类型 缓存池 二.String 概览 不可变的好处 S ... 
- eclipse不小心删除文件如何恢复
			转自:https://blog.csdn.net/u012129031/article/details/78791277 1.右键点击java项目工程名,选择restort from history, ... 
- linux下清空文件内容
			在命令行下#cat /dev/null >listener.log 
- JSP和selevt 生命周期详解(JSP的生命周期和select很像,jsp底层就是一个selevt)
			JSP: JSP的生命周期指从创建到销毁的整个过程.分为以下几个阶段: 1:编译阶段:servlet引擎编译servlet源文件,生成servlet类.当浏览器请求JSP页面时,JSP引擎会首先去检查 ... 
- Microsoft REST API指南
			序言 经过3个月的碎片时间的翻译和校验,由长沙.NET技术社区翻译的英文原文文档<Microsoft REST API指南>已经翻译完成,现刊载前十一章如下,欢迎大家点击"查看原 ... 
