# 编辑者:闫龙
# 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,这样可以有效的隐藏,展示,控制__属性对用户的影响

python概念-各类绑定的概念和property的变态一面的更多相关文章

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

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

  2. Airflow Python工作流引擎的重要概念介绍

    Airflow Python工作流引擎的重要概念介绍 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net/watermelonbig/article/de ...

  3. python之模块copy,了解概念即可

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块copy,了解概念即可 import copy #浅拷贝 #copy拷贝一个对象,但是对象 ...

  4. python 封装、绑定

    目录 python 封装.绑定 1.数据.方法的封装 2.隐藏属性 3.开放接口 4.绑定方法 1.对象的绑定 2.类的绑定(classmethod) 3.非绑定方法(staticmethod) 4. ...

  5. Python的名字绑定

    Python的名字绑定 在Python中,对象是通过名字进行关联和引用的.Python通过名字绑定操作来引入名字. Python中的所谓的代码块就是一段作为执行单元的程序.比如:模块.函数.类定义.在 ...

  6. python基础-abstractmethod、__属性、property、setter、deleter、classmethod、staticmethod

    python基础-abstractmethod.__属性.property.setter.deleter.classmethod.staticmethod

  7. 【Python开发】python发送各类邮件的方法

    转载: python发送各类邮件的主要方法 python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点. 一.相关模块介绍 发送 ...

  8. Python学习笔记_01:基本概念介绍

    目录 1.Python语言简介 2.Python中常用数据结构 2.1什么是列表? 2.2什么是元组? 2.3什么是字典? 2.4索引及分片 3.其它基本概念 3.1数据类型和变量 3.2生成器 3. ...

  9. Python面向对象之面向对象基本概念

    面向过程和面向对象概念 过程和函数:过程类似于函数,只能执行,但是没有返回结果:函数不仅能执行,还能返回结果. 面向过程和面向对象 基本概念 面向过程-怎么做 把完成某一个需求的所有步骤从头到尾逐步实 ...

随机推荐

  1. Nginx和Apache区别

    Nginx VS  Apache 相同点: 1.都是HTTP服务器软件 2.功能上都采用模块化结构设计 3.都支持通用的语言接口,如PHP.Perl.Python等 4.支持正向.反向代理.虚拟主机. ...

  2. Node初识笔记 1第一周

    #下载安装好node > https://nodejs.org/en/ #  打开cmd  调整好执行路径 . 1.js是JS文件名,cd调招路径,‘node’+空格 +JS文件名(带上扩展名) ...

  3. wai

    外键的过滤是怎么做的, 一个class有两个外键A和B,其中A又是B的外键,在这种情况下,比如A选择了学校之后,可否在B中过滤出A学校的所有的专业?也就是说在选择的时候能不能按照已经填好的一个选项来选 ...

  4. ubuntu 16.04 部署 pypy+nginx+uwsgi+django(详细)

    1.nginx                                                                                             ...

  5. BZOJ3289 Mato的文件管理(莫队+树状数组)

    这个做法非常显然. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib& ...

  6. eclipse 重装了tomcat后配置路径

    在Windows->Preferences->Server->Runtime Environments把先前的工程Servers删除掉

  7. Next Permutation - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Next Permutation - LeetCode 注意点 如果是字典序最大的串则要返回字典序最小的串 解法 解法一:参见:http://www.cn ...

  8. 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS

    我们在上一篇文章中已经介绍了cas以及它的工作流程. 单点登录(一)-----理论-----单点登录SSO的介绍和CAS+选型 本章我们开始动手搭建一个完整的cas服务实现2个web之间的单点登录. ...

  9. 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)

    i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...

  10. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)

    http://codeforces.com/contest/862/problem/E 二分答案 一个数与数组中的哪个数最接近: 先对数组中的数排序,然后lower_bound #include &l ...