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的变态一面相关推荐

  1. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  2. 沐阳Python扫盲01类的概念与实例

    沐阳Python扫盲01类的概念与实例 文章目录 沐阳Python扫盲01类的概念与实例 前言 一.面向过程编程的实现 二.面向对象编程的实现 总结 前言 让我们从一个实际的游戏人物例子出发,学习理解 ...

  3. python的基本概念_Python的基本概念

    1. 几个概念 • 表达式 • 语句 • 程序(program) • 函数(function) 2.标识符 • 关键字 • 标识符概念 3.基本数据类型 • 整数和小数 • 布尔值和空值 • 4.字符 ...

  4. python中元组的概念_python元组的概念与基本操作

    元组与列表类似,关于元组同样需要做如下三点: A.概念 1.元组通过英文状态下的圆括号构成"()".其存放元素与列表一样,可以是不通的数值类型,也可以是不通的数据结构. 2.元组仍 ...

  5. python 类 对象 魔法方法概念+习题

    类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...

  6. ES基础概念和集群概念

    前言 思考一个问题:当系统数据量上了10亿.100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题: 用什么数据库好?(mysql.sybase.oracle.达梦.神通.mongodb. ...

  7. java语言保留结构和联合_Java 语言中取消了联合概念,保留了结构概念。( )_学小易找答案...

    [单选题]Graves病最严重的临床表现是 [判断题]Java 语言中取消了联合概念,保留了结构概念.( ) [单选题]下列关于子类继承父类的成员的描述中,错误的是 . [多选题]冯.诺依曼机确立计算 ...

  8. Glade CheckButton(CheckBox)控件的使用与Python的事件绑定

    附件文件 gtkCheckBox.glade gtkCheckBox.py 试验目的 Glade CheckButton(CheckBox)控件的使用与Python的事件绑定 试验过程 打开 Glad ...

  9. lucene和elasticsearch的前世今生、elasticsearch的核心概念、elasticsearch核心概念 vs. 数据库核心概念(来自学习资料)

    1.Lucene和elasticsearch的前世今生 lucene,最先进.功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java代码),需要深入理 ...

  10. IntelliJ IDEA下project概念和module的概念解释

    本文转自: http://note.youdao.com/share/?id=3a1502591870fc1fa9f492056bd95337&type=note ,所有权力归原作者所有. 本 ...

最新文章

  1. python 排序算法 简书_Python---简析八大排序算法
  2. SQL数据定义、查询、更新+空值的处理 实践学习报告
  3. 数据中心机房环境温度与微模块机柜有什么关系?
  4. 寻找mysql的data文件夹得方式
  5. 支持 vulkan android,Vulkan 使用入门
  6. 【转载】数据仓库的基本架构
  7. vs2019键盘钩子_江门网站建设:针对Web开发人员的12个最佳Visual Studio代码扩展
  8. 连点4次android版本,连点器极速版下载-连点器快速版v4.0.8 安卓版 - 极光下载站...
  9. 【代码片段分享】获取公历日期阴历日期二十四节气干支纪年传统节日Java版
  10. 微信连WiFi已OUT?
  11. np.arange函数的使用
  12. Android性能:内存篇之内存回收
  13. ConcurrentHashMap线程安全的原因
  14. 如何有效实现软件的需求管理 - 7
  15. Python3.7.4入门-4模块
  16. HTML_给文本加下划线
  17. 高职计算机考试试题与答案,2009高职高考计算机试题
  18. java 删除文件失败_java中File的delete()方法删除文件失败的原因
  19. CISP管理部分-3、信息安全管理
  20. RFID,RC522教程

热门文章

  1. 如何调用npm已经安装在全局位置的模块
  2. 移动端小总结(1)---meta、input和单行多行文字溢出省略号
  3. HDU - 1286 找新朋友(欧拉函数)解题
  4. acm康复训练记4-world final 2017
  5. 新建Scrapy项目
  6. [转] 面试70问经典回答
  7. 死磕 java同步系列之JMM(Java Memory Model)
  8. mybatis-plus 从2.x到3.x升级指南
  9. 苹果pns推送和唤醒
  10. Erlang中的record与宏