python概念-各类绑定的概念和property的变态一面
1 # 编辑者:闫龙 2 # 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性 3 #在类中定义的(self)方法都是绑定到对象的方法 4 #定义 5 class a: 6 def b(self):#绑定到对象的方法 7 pass 8 #调用: 9 c = a() 10 c.b()#调用a类中绑定到对象c的b(self)方法 11 #既然是绑定到对象的方法,当然是给实例化之后的对象使用了 12 #当对象调用方法时,对象会将自己当做第一个参数传递给方法 13 14 # 2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性 15 #静态方法和类方法都是绑定到类的方法 16 #静态方法定义: 17 class ClassStaticFunc: 18 @staticmethod#定义一个静态方法需要调用的装饰器staticmethod 19 def StaticFunc():#被staticmethod修饰过的StaticFunc方法就是一个静态方法 20 pass 21 #调用: 22 ClassStaticFunc.StaticFunc()#无需实例化直接类名打点儿调用类中的静态方法 23 #静态方法是让类去调用的方法 24 #需实例化直接类名打点儿调用类中的静态方法,静态方法可以被实例化的对象调用,但是一般不这么使用 25 #类方法定义: 26 class ClassFunc: 27 @classmethod#定义一个类方法需要调用的装饰器classmethod 28 def ClassMethod(cls):#被classmethod修饰过的ClassMethod方法就是一个类方法 29 pass 30 #调用: 31 ClassFunc.ClassMethod()#无需实例化直接类名打点儿调用类方法 32 #类方法顾名思义是与类绑定的方法,一定是给类调用的方法 33 #当类调用类方法时,会将当前调用方法的类当做第一个参数传递到方法中 34 # 3.什么是解除绑定的函数,如何定义,如何调用,给谁用?有什么特性 35 #定义在类的内部,并且被staticmethod修饰过的方法 36 #定义: 37 class NoBandFunc: 38 @staticmethod 39 def NoBang(a,b,c): 40 pass 41 #调用: 42 nbf = NoBandFunc.NoBang(1,2,3) 43 #or: 44 nbfs = NoBandFunc() 45 nbf1 = nbfs.NoBang(1,2,3) 46 #解除绑定方法不在自动传值 47 48 # 4.什么是property,如何定义,如何使用,给谁用,什么情况下应该将一个属性定义成property,有什么好处? 49 #是一个将方法隐藏变更调用方法的方式,让用户看起来是在调用属性而不是方法,property修饰过的方法,会产生该方法的setter,del方法用来修改和删除属性 50 #定义 51 class PropertyClass: 52 def __init__(self,name): 53 self.__Name = name 54 @property 55 def PropertyFunc(self): 56 print(self.__Name) 57 @PropertyFunc.setter 58 def PropertyFunc(self,name): 59 self.__Name = name 60 print(self.__Name) 61 @PropertyFunc.deleter 62 def PropertyFunc(self): 63 del self.__Name 64 #调用: 65 pc = PropertyClass("egon") 66 pc.PropertyFunc 67 pc.PropertyFunc("egon_SomeBody") 68 del pc.PropertyFunc 69 #一般在__属性的情况下使用property,这样可以有效的隐藏,展示,控制__属性对用户的影响
转载于:https://www.cnblogs.com/DragonFire/p/6748067.html
python概念-各类绑定的概念和property的变态一面相关推荐
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- 沐阳Python扫盲01类的概念与实例
沐阳Python扫盲01类的概念与实例 文章目录 沐阳Python扫盲01类的概念与实例 前言 一.面向过程编程的实现 二.面向对象编程的实现 总结 前言 让我们从一个实际的游戏人物例子出发,学习理解 ...
- python的基本概念_Python的基本概念
1. 几个概念 • 表达式 • 语句 • 程序(program) • 函数(function) 2.标识符 • 关键字 • 标识符概念 3.基本数据类型 • 整数和小数 • 布尔值和空值 • 4.字符 ...
- python中元组的概念_python元组的概念与基本操作
元组与列表类似,关于元组同样需要做如下三点: A.概念 1.元组通过英文状态下的圆括号构成"()".其存放元素与列表一样,可以是不通的数值类型,也可以是不通的数据结构. 2.元组仍 ...
- python 类 对象 魔法方法概念+习题
类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...
- ES基础概念和集群概念
前言 思考一个问题:当系统数据量上了10亿.100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 用什么数据库好?(mysql.sybase.oracle.达梦.神通.mongodb. ...
- java语言保留结构和联合_Java 语言中取消了联合概念,保留了结构概念。( )_学小易找答案...
[单选题]Graves病最严重的临床表现是 [判断题]Java 语言中取消了联合概念,保留了结构概念.( ) [单选题]下列关于子类继承父类的成员的描述中,错误的是 . [多选题]冯.诺依曼机确立计算 ...
- Glade CheckButton(CheckBox)控件的使用与Python的事件绑定
附件文件 gtkCheckBox.glade gtkCheckBox.py 试验目的 Glade CheckButton(CheckBox)控件的使用与Python的事件绑定 试验过程 打开 Glad ...
- lucene和elasticsearch的前世今生、elasticsearch的核心概念、elasticsearch核心概念 vs. 数据库核心概念(来自学习资料)
1.Lucene和elasticsearch的前世今生 lucene,最先进.功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java代码),需要深入理 ...
- IntelliJ IDEA下project概念和module的概念解释
本文转自: http://note.youdao.com/share/?id=3a1502591870fc1fa9f492056bd95337&type=note ,所有权力归原作者所有. 本 ...
最新文章
- python 排序算法 简书_Python---简析八大排序算法
- SQL数据定义、查询、更新+空值的处理 实践学习报告
- 数据中心机房环境温度与微模块机柜有什么关系?
- 寻找mysql的data文件夹得方式
- 支持 vulkan android,Vulkan 使用入门
- 【转载】数据仓库的基本架构
- vs2019键盘钩子_江门网站建设:针对Web开发人员的12个最佳Visual Studio代码扩展
- 连点4次android版本,连点器极速版下载-连点器快速版v4.0.8 安卓版 - 极光下载站...
- 【代码片段分享】获取公历日期阴历日期二十四节气干支纪年传统节日Java版
- 微信连WiFi已OUT?
- np.arange函数的使用
- Android性能:内存篇之内存回收
- ConcurrentHashMap线程安全的原因
- 如何有效实现软件的需求管理 - 7
- Python3.7.4入门-4模块
- HTML_给文本加下划线
- 高职计算机考试试题与答案,2009高职高考计算机试题
- java 删除文件失败_java中File的delete()方法删除文件失败的原因
- CISP管理部分-3、信息安全管理
- RFID,RC522教程