# 编辑者:闫龙
# 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性
#在类中定义的(self)方法都是绑定到对象的方法
#定义
class a:
def b(self):#绑定到对象的方法
pass
#调用:
c = a()
c.b()#调用a类中绑定到对象c的b(self)方法
#既然是绑定到对象的方法,当然是给实例化之后的对象使用了
#当对象调用方法时,对象会将自己当做第一个参数传递给方法 # 2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性
#静态方法和类方法都是绑定到类的方法
#静态方法定义:
class ClassStaticFunc:
@staticmethod#定义一个静态方法需要调用的装饰器staticmethod
def StaticFunc():#被staticmethod修饰过的StaticFunc方法就是一个静态方法
pass
#调用:
ClassStaticFunc.StaticFunc()#无需实例化直接类名打点儿调用类中的静态方法
#静态方法是让类去调用的方法
#需实例化直接类名打点儿调用类中的静态方法,静态方法可以被实例化的对象调用,但是一般不这么使用
#类方法定义:
class ClassFunc:
@classmethod#定义一个类方法需要调用的装饰器classmethod
def ClassMethod(cls):#被classmethod修饰过的ClassMethod方法就是一个类方法
pass
#调用:
ClassFunc.ClassMethod()#无需实例化直接类名打点儿调用类方法
#类方法顾名思义是与类绑定的方法,一定是给类调用的方法
#当类调用类方法时,会将当前调用方法的类当做第一个参数传递到方法中
# 3.什么是解除绑定的函数,如何定义,如何调用,给谁用?有什么特性
#定义在类的内部,并且被staticmethod修饰过的方法
#定义:
class NoBandFunc:
@staticmethod
def NoBang(a,b,c):
pass
#调用:
nbf = NoBandFunc.NoBang(1,2,3)
#or:
nbfs = NoBandFunc()
nbf1 = nbfs.NoBang(1,2,3)
#解除绑定方法不在自动传值 # 4.什么是property,如何定义,如何使用,给谁用,什么情况下应该将一个属性定义成property,有什么好处?
#是一个将方法隐藏变更调用方法的方式,让用户看起来是在调用属性而不是方法,property修饰过的方法,会产生该方法的setter,del方法用来修改和删除属性
#定义
class PropertyClass:
def __init__(self,name):
self.__Name = name
@property
def PropertyFunc(self):
print(self.__Name)
@PropertyFunc.setter
def PropertyFunc(self,name):
self.__Name = name
print(self.__Name)
@PropertyFunc.deleter
def PropertyFunc(self):
del self.__Name
#调用:
pc = PropertyClass("egon")
pc.PropertyFunc
pc.PropertyFunc("egon_SomeBody")
del pc.PropertyFunc
#一般在__属性的情况下使用property,这样可以有效的隐藏,展示,控制__属性对用户的影响

最新文章

  1. Oracle工程建设行业解决方案
  2. 关于playmaker play animation出现警告 The AnimationClip 'xxx' used by the Animati ...
  3. C# 发邮件类可发送附件
  4. IMDb Search
  5. webstorm添加vue模板支持
  6. 解决windows10搜索不到内容的问题
  7. pentaho cde 自定义复选下拉框 checkbox select
  8. 【Matlab编程】生日快乐歌(显示歌词)—matlab版
  9. 【Spark篇】--Spark中的宽窄依赖和Stage的划分
  10. 如何使用idea给系统平台添加子应用和应用的模块
  11. Confluence 6 如何配置快速导航的同时查找数量
  12. 素数筛选-hdu1262
  13. 【java】对象赋值给另一个对象
  14. L1-022 奇偶分家
  15. 实验吧web天网管理系统
  16. JavaScript裸体识别技术
  17. JS object(对象)的学习汇总
  18. mysql默认字符编码设置教程:my.ini设置字符编码
  19. 深入理解python多进程编程
  20. SQL语句笔记/好记性不如烂笔头/持续更新

热门文章

  1. ACM数论之旅9---中国剩余定理(CRT)(壮哉我大中华╰(*°▽°*)╯)
  2. 初识Linq to Entity
  3. BZOJ1853_幸运数字
  4. 对synchronized的一点理解
  5. hdu 3307 简单的指数循环节
  6. 【BZOJ2830/洛谷3830】随机树(动态规划)
  7. 51nod 1206 Picture 矩形周长求并 | 线段树 扫描线
  8. 【Learning】辛普森积分
  9. apache.commons.io.FileUtils的常用操作
  10. STS导入Gradle项目出现 Could not create task of type 'DependencyManagementReportTask'