面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

仍以Student类为例,在Python中,定义类是通过class关键字:class Student(object):

pass

class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。

定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现的:>>> bart = Student()

>>> bart

>>> Student

可以看到,变量bart指向的就是一个Student的实例,后面的0x10a67a590是内存地址,每个object的地址都不一样,而Student本身则是一个类。

可以自由地给一个实例变量绑定属性,比如,给实例bart绑定一个name属性:>>> bart.name = 'Bart Simpson'

>>> bart.name

'Bart Simpson'

由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score

注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。

有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:>>> bart = Student('Bart Simpson', 59)

>>> bart.name

'Bart Simpson'

>>> bart.score

59

和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。更多学习内容,请点击Python学习网。

python中实例是什么_Python里类和实例是什么相关推荐

  1. python中类方法与实例方法的区别-Python中的对象,方法,类,实例,函数用法分析...

    本文实例分析了Python中的对象,方法,类,实例,函数用法.分享给大家供大家参考.具体分析如下: Python是一个完全面向对象的语言.不仅实例是对象,类,函数,方法也都是对象. class Foo ...

  2. python中self做前缀_python 创建类和为什么类方法中self形参必不可少?

    我们观察到在类中定义方法时,都带有self形参,为何必须在方法中定义形参self呢? 因为Python调用方法创建类实例时,将自动传入实参self.每个与类相关联的方法调用都自动传递实参self,他是 ...

  3. python中for循环流程图_Python While循环语句实例演示及原理解析

    这篇文章主要介绍了Python While循环语句实例演示及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python 编程中 while ...

  4. python中max怎么用_python里的max函数怎么用

    python中的max() 方法返回给定参数的最大值,参数可以为序列. 以下是 max() 方法的语法:max( x, y, z, .... ) 参数x -- 数值表达式. y -- 数值表达式. z ...

  5. python中list的反转_Python实现list反转实例汇总

    本文实例总结了Python实现list反转的方法.分享给大家供大家参考.具体实现方法如下: 下面有几个不同实现的函数 代码如下:import math def resv(li): new = [] i ...

  6. python中range什么意思_python里range什么意思

    python range() 函数可创建一个整数列表,一般用在 for 循环中. 函数语法range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认 ...

  7. python中line表示什么_Python里matplotlib的颜色及线条等控制(linestyle/marker/color,全)...

    Python里matplotlib的颜色及线条等控制(linestyle/marker/color,全) 参考网址: 代码: plt.subplots(1, 1) x= range(100) y= [ ...

  8. python中join什么意思_python里join是什么意思

    Python中有.join()和os.path.join()两个函数,具体作用如下: . join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os ...

  9. python中os什么意思_python里os是什么意思?

    os是operation system(操作系统)的缩写,这个库就是对操作系统的封装.os模块提供了多数操作系统的功能接口函数. 常用的os模块命令: 1.os.name--name顾名思义就是'名字 ...

  10. python中ord什么意思_python里ord

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.ord函数介绍该函数是以单个字符作为参数,返回对应的ascll数值或者uni ...

最新文章

  1. Mask R-CNN用于目标检测和分割代码实现
  2. [Java实现] 图片择优(选择最清楚的图片)
  3. 【原创】jquery常见的条件判断类型
  4. 【电子信息复试】考研复试常考问题——软件工程
  5. 使用spring-data-mongodb操作mongodb
  6. matlab 多 带阻,matlab程序之——滤波器(带通-带阻
  7. cssbefore图片大小_我可以在CSS:before /:after伪元素中更改图像的高度吗?
  8. 不同业务场景下如何进行数据库水平切分?
  9. 开源编译工具和编译软件
  10. 台媒体:IBM PC将成特洛伊木马【ZZ】【另一个角度】
  11. 人行地区代码一览表_全国行政区划与银行地区代码对应关系一览表模板
  12. 阿里云ACE认证学习知识点梳理
  13. 利用在线PS将一张图片上的中文改写成英文
  14. 魔板(最小步数模型)
  15. 机械制图及计算机绘图试题库,机械制图及计算机绘图--试题库2016版.pdf
  16. 第50篇 Android Studio实现生命数字游戏(五)计算星座数
  17. 编写两个过滤器,一个过滤器在 web 服务时,起用 UTF-8 编码,以处理 web 服务时的乱码问题。 另一个过滤器用来判断用户是否登录,只有登录用户方可访问/view 子目录。
  18. 推荐几款性价比高的优盘
  19. TensorFlow学习笔记——《TensorFlow技术解析与实战》
  20. 信号与系统_第二章 连续系统的时域分析

热门文章

  1. 软件方法上竞赛自测题答案
  2. android apk编译工具,编译apk文件需要使用哪些软件?安卓apk反编译教程
  3. 基于Canvas和HTML+CSS3构建JavaScript弹幕库
  4. Linux——驱动开发
  5. Matlab toolbox Manopt流形优化工具包介绍
  6. linux网络调试发包抓包工具
  7. php时钟制作心得,电子钟课程设计心得
  8. mapxtreme 2005 v6.6 破解
  9. ParticleEditor粒子编辑器
  10. 牛腩新闻发布系统-发布