前言

python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言,类以及根据类创建的实例可以任意绑定属性以及方法,下面分别介绍。

1.类绑定属性

类绑定属性可以直接在class中定义属性,这种属性是类属。

这个属性虽然归类所有,但类的所有实例都可以访问到。

此时如果修改s.name的值,会有如下结果:

接下来删除s.name属性:

由此可见相同名称的实例属性将覆盖类属性,删除实例属性后,实例将向上访问到类属性。

2.实例绑定属性

实例绑定属性的方法有两种,一是通过类的self变量,二是直接给实例赋值。

3.类绑定方法

类绑定方法分两种,第一种形如类绑定属性,例程如下:

第二种是使用MethodType给类绑定方法:

这种方法有一个需要注意的地方,如果继续创建一个实例b:

会发现a的属性score值也变成60。这里个人的理解是这里的score并不是同上一种方法一样直接绑定在类,而是类似于像列表一样的共享引用的关系,

即实例a和b都引用这个score作为自己的属性,而当其被修改时,所有引用它的实例的对应属性都将一同发生变化。

4.实例绑定方法

第一种通过给类绑定方法,可以使实例调用,如上所示。

第二种是使用MethodType给单个实例绑定方法。

注意这种方式只对实例a起作用,如果需要类Studnet的所有实例均可调用,那么直接给类Student绑定方法即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/seirios1993/p/6624157.html

python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...相关推荐

  1. go语言字符串换行_Go语言中的字符串处理方法示例详解

    1 概述 字符串,string,一串固定长度的字符连接起来的字符集合.Go语言的字符串是使用UTF-8编码的.UTF-8是Unicode的实现方式之一. Go语言原生支持字符串.使用双引号(" ...

  2. python爬虫登录爱奇艺_python实现爱奇艺登陆密码RSA加密的方法示例详解

    前言 通过Python实现对大麦网近期全国演唱会数据进行爬取,通过分析,我们发现大麦网属于Python爬虫策略中"中等型"难度网站,演唱会数据封装在json文件中.因此,我们简单的 ...

  3. scala 类中的对象是类_Scala中的类和对象

    scala 类中的对象是类 Scala中的课程 (Classes in Scala) A class is a blueprint for objects. It contains the defin ...

  4. colsure php_PHP_PHP中Closure类的使用方法及详解,Closure,匿名函数,又称为Anonym - phpStudy...

    PHP中Closure类的使用方法及详解 Closure,匿名函数,又称为Anonymous functions,是php5.3的时候引入的.匿名函数就是没有定义名字的函数.这点牢牢记住就能理解匿名函 ...

  5. php引入类的位置,php如何在一个类中引入另外一个类

    有时候需要在一个类中调用另外一个类里面的方法,然后另外一个类又需要调用当前类的方法,怎么办呢?下面是具体的介绍.希望对大家有用,更多内容请关注应届毕业生网! 可以直接引入类对象的方式调用另外一个类的方 ...

  6. scala 类中的对象是类_Scala类和对象– Singleton对象,伴侣类

    scala 类中的对象是类 Earlier we learned about Scala Programming Language and it's installation on Windows a ...

  7. java怎么调用另一个类的方法_在一个类中访问另一个类的方法

    在一个类中访问另一个类的方法 由于Java应用程序是由若干个类构成的,因此经常需要在一个类中访问另一个类中的成员和方法,请问应该如何在一个类中访问另一个类的方法?下面是由百分网小编为大家整理的在一个类 ...

  8. java类中只有一个public类

    java类中只有一个public类,我 认为这句话说得比较含糊.一个java类文件中,可以有多个public修饰的内部类. java类中只有一个public类,意思是当我们创建一个java文件,pub ...

  9. 将Frock类声明为抽象类,尺寸在Frock类中定义,在类中声明抽象方法calcArea方法,用来计算衣服的布料面积。

    将Frock类声明为抽象类,尺寸在Frock类中定义,在类中声明抽象方法calcArea方法,用来计算衣服的布料面积. 编写Shirt类继承Frock类,实现 calcArea方法,用来计算衬衣所需的 ...

最新文章

  1. 12个常用的JavaScript技巧
  2. MSN即将退役,即时通讯开放平台成趋势
  3. 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
  4. 浅谈tomcat中间件的优化【转】
  5. [蓝桥杯][2013年第四届真题]买不到的数目-模拟,数论
  6. android 生成长截图,【UNIAPP截长图】方案之一:滚动截屏 Android
  7. Excel将两个图片合并为一张
  8. graphql java如何使用_graphql-java使用手册:part10 如何落地应用(Application concerns)...
  9. computed 和 watch的区别
  10. 计算机应用无法打开,为什么电脑界面的部分软件无法打开
  11. RL串联等效转换为RL并联的方法及其仿真
  12. 微信开发者解除绑定微信公众号的方法,亲测有效
  13. Jetson nano/nx通过网线连接电脑实现远程控制
  14. 成都链安预警:EOS竞猜类游戏SKReos再次遭受攻击
  15. 隐藏窗口和任务栏图标的实现
  16. android 气球动画,Android TV使用贝赛尔曲线制作炫酷的开场动画
  17. 张一鸣王欣罗永浩组团“围剿”微信 但马化腾却很放心
  18. SimpleDateFormat日期格式化顺延,setLenient关闭顺延
  19. 域环境中组策略发布exe类型软件
  20. JAVA基础-voliate

热门文章

  1. java中打开文件显示_从java程序中打开任何文件
  2. ubuntu 常见问题系列:E:Could not get lock /var/lib/dpkg/lock-frontend - open
  3. android实现分类搜索功能,android应用中的搜索功能怎么实现的
  4. c语言main的作用是什么意思,c语言intmain()是什么意思
  5. tf.io.gfile.glob 遍历文件
  6. 【文本分类】Convolutional Neural Networks for Sentence Classification
  7. Ubuntu16.0.4+1080ti+ cuda9.1+cudnn7.0.5 安装 及 caffe 测试
  8. 人脸检测识别文献代码
  9. jd-gui的下载和使用
  10. train loss与test loss结果分析