Python 对象的绑定方法
例:
class OldboyStudent:school='oldboy'def __init__(self,name,age,sex):self.name=nameself.age=ageself.sex=sexdef learn(self):print('%s is learning' %self.name) #新增self.namedef eat(self):print('%s is eating' %self.name)def sleep(self):print('%s is sleeping' %self.name)s1=OldboyStudent('李坦克','男',18) s2=OldboyStudent('王大炮','女',38) s3=OldboyStudent('牛榴弹','男',78)
类中定义的函数(没有被任何装饰器装饰的)是类的函数属性,类可以使用,但必须遵循函数的参数规则,有几个参数需要传几个参数
OldboyStudent.learn(s1) #李坦克 is learning OldboyStudent.learn(s2) #王大炮 is learning OldboyStudent.learn(s3) #牛榴弹 is learning
类中定义的函数(没有被任何装饰器装饰的),其实主要是给对象使用的,而且是绑定到对象的,虽然所有对象指向的都是相同的功能,但是绑定到不同的对象就是不同的绑定方法
强调:绑定到对象的方法的特殊之处在于,绑定给谁就由谁来调用,谁来调用,就会将‘谁’本身当做第一个参数传给方法,即自动传值(方法__init__也是一样的道理)
s1.learn() #等同于OldboyStudent.learn(s1) s2.learn() #等同于OldboyStudent.learn(s2) s3.learn() #等同于OldboyStudent.learn(s3)
注意:绑定到对象的方法的这种自动传值的特征,决定了在类中定义的函数都要默认写一个参数self,self可以是任意名字,但是约定俗成地写出self。
类即类型
提示:python的class术语与c++有一定区别,与 Modula-3更像。
python中一切皆为对象,且python3中类与类型是一个概念,类型就是类
#类型dict就是类dict >>> list <class 'list'>#实例化的到3个对象l1,l2,l3 >>> l1=list() >>> l2=list() >>> l3=list()#三个对象都有绑定方法append,是相同的功能,但内存地址不同 >>> l1.append <built-in method append of list object at 0x10b482b48> >>> l2.append <built-in method append of list object at 0x10b482b88> >>> l3.append <built-in method append of list object at 0x10b482bc8>#操作绑定方法l1.append(3),就是在往l1添加3,绝对不会将3添加到l2或l3 >>> l1.append(3) >>> l1 [3] >>> l2 [] >>> l3 [] #调用类list.append(l3,111)等同于l3.append(111) >>> list.append(l3,111) #l3.append(111) >>> l3 [111]
转载于:https://www.cnblogs.com/liuxiaowei/p/7387566.html
Python 对象的绑定方法相关推荐
- python 类的绑定方法和非绑定方法
一.绑定方法 1.对象的绑定方法 首先我们明确一个知识点,凡是类中的方法或函数,默认情况下都是绑定给对象使用的.下面,我们通过实例,来慢慢解析绑定方法的应用. class People:def __i ...
- 全面解析python类的绑定方法与非绑定方法(转载+自己的消化与理解)
参考链接来自: https://www.cnblogs.com/vipchenwei/p/7126772.html#_label1 先说下,这篇文章中,其实有这么个事情: 也就是,该文章有的函数后面没 ...
- Python对象中__del__方法起作用的条件详解
对象的__ del __是对象在被gc消除回收的时候起作用的一个方法,它的执行一般也就意味着对象不能够继续引用. 示范代码如下: class Demo: def __del__(self): prin ...
- python对象_查找Python对象具有的方法
您似乎可以使用此代码,将"对象"替换为您感兴趣的对象: object_methods = [method_name for method_name in dir(object) i ...
- Python基础教程:绑定方法和非绑定详细用法
绑定和方法调用 1.首先,方法仅仅是类内部定义的函数.(这意味着方法是类属性而不是实例属性) 2.其次,方法只有在其所属的类拥有实例时,才能被调用.当存在一个实例时,方法才被认为是绑定到那个实例了.没 ...
- python:绑定方法和非绑定方法
类中定义的方法大致可以分为两类:绑定方法和非绑定方法.其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法. 一.绑定方法 1.1 对象的绑定方法 在类中没有被任何装饰器修饰的方法就是 绑定到对象的 ...
- 第八章 Python 对象和类
一.什么是对象 在 Pyth 中,对象就是经过实例化的,具体可以操作的一组代码的组合: 对象一般包含数据(变量,更习惯称之为属性 attribute),也包含代码(函数,也称之为方法) 当你想要创建一 ...
- python通过函数类属性_函数作为类属性的赋值如何成为Python中的一个方法?
你说得对,这和描述符协议有关.描述符是在Python中如何将receiver对象作为方法的第一个参数来实现的.您可以从here阅读有关Python属性查找的更多详细信息.下面显示了在较低级别上执行a. ...
- Python3中的json对象与python对象转化
1.直接将Python对象转成json对象,使用方法dumps() import jsond = {"姓名": "curry", "age" ...
- 类方法classmethod 绑定方法
绑定方法 1.凡是类中的方法和函数,都是绑定给对象使用的: 2.绑定方法都有自动传值的功能.传递进去的值,就是对象本身. 3.如果类想调用绑定方法,就必须遵循函数的参数规则,有几个参数,就必须传递几个 ...
最新文章
- Mysql练习题13- 员工薪水中位数
- 旺苍电子计算机培训学校,广元旺苍技工学校
- 笔试题——JavaScript事件循环机制(event loop、macrotask、microtask)
- java逆向基础,Java逆向基础之函数
- 【大学课程】操作系统知识点
- SAP WebIDE 里开发 SAP UI5 应用时,使用 Ctrl + Space 实现代码自动完成功能
- 制作HTML类型的email邮件 Background Images and CSS in HTML Email
- 01knockout应用开发之遍历简单数据$Index、$data
- js高级学习笔记(b站尚硅谷)-9-原型链相关知识
- Android 四大开发组件
- 【Excel实战】按指定字符拆分字符串
- VOC2007/2012数据集解析
- 初识人工智能,机器学习,深度学习的关系(概念)
- 朱松纯教授:可解释性是人工智能获得人类信任的关键
- python 相关性检验怎么计算p值_收藏 | 大神教你用Python预测未来:一文看懂时间序列...
- Android UI性能优化 检测应用中的UI卡顿
- QQ登录显示无法访问个人文件夹解决办法
- Java文字小游戏 The Matrix SalaryMan 1.0v 解读
- html居中小圆点点怎么打出来,目录的点怎么打 WORD目录里的点点怎么打
- div中内容水平垂直居中
热门文章
- javascript 动画效果(多物体缓冲运动,多物体透明度变化,匀速移入移出、链式运动、同时运动)
- 二十五、JAVA多线程(五、线程生命周期)
- Tensorflow Day1
- Android显示shp文件,Arcgis for Android移动平台能直接打开本地的shp文件吗
- 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_1-4系统的整体演示...
- 阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架
- 好程序员分享js实现简单的板球游
- 前端学习01-07图像标签
- JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)...
- HDU5447 Good Numbers