- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python基础_什么是类
Pyt hon是⾯向对象的⾼级编程语⾔,在Pyt hon⾥⾯“⼀切都是对象”:数字、字符串、
元组、列表、字典、集合等内置数据类型,以及函数、⽅法、类、模块都是对象。
语⾔本身提供了上述的基本对象,但在实际编程中,我们要创造各种各样的对象,
Pyt hon就为我们提供了创造我们⾃⼰的对象的⽅法:类。
类 (Class ),就是组合数据和功能的方法 ,它让我们创建一个新类型的对象 ,并可以创
建该类型的新实例。类组合的数据 ,就是保存 自己状态的属性 ,而它组合的功能 (函
数)就是改变自己状态的(定义在类中的)方法。类内部定义的函数,称为类的方法。
Python中的类和其它语言 (比如C++ )有很多相似的特征但也有些 区别。如果你已了
解其它语言的类的概念 ,可以在学习Python类时做一定的对比进行学习 ;如果你没有学
过其它语言也不要紧,学过之后你会发现,类的概念是如此简单。
类的定义
类的定义是通过关键字class实现的,下面是最简单的类的定义的样子:
是不是这个形式跟函数的定义(def 语句)很像。因为类是数据和功能的组合,所以语
句1可能是内部变量(数据)的定义和赋值语句,也可能是内部方法(函数)的定义语
句。类内部的函数定义通常具有一种特别形式的参数列表,这是方法调用的约定规范里
面指明的。这个特别形式就是第一个参数必须是self ,后面将详细介绍。
进⼊类定义时,就会创建⼀个新的命名空间,并把它⽤作局部作⽤域。因此,所有对局
部变量的赋值都是在这个新命名空间内进⾏的。特别的,函数定义会绑定到这个局部作
⽤域⾥的新函数名称。
正常离开(从结尾出)类定义时,就会创建⼀个类对象。它基本上是⼀个包围在类定义
所创建的命名空间内容周围的包装器。元素的(在进⼊类定义之前起作⽤的)局部作⽤
域将重新⽣效,类对象将在这⾥被绑定到类定义头给出的类名称(在上⾯的例⼦中就是
ClassName)。
类对象
类对象(比如上面例子的ClassName )支持两种操作:属性引用和实例化。
属性引用的语法跟 Python中所有属性引用的方法一样 :obj .name。类对象被创建时存
在于类命名空间内的所有名称都是有效的属性名称。下面是一个包含数据和方法的简单
的类定义:
对这个类的有效的属性引用就是:
KaiKeBa.name
KaiKeBa.say_hi ,
它们分别返回一个字符串和一个函数对象。
类属性也可以被赋值,因此可以通过赋值来更改KaiKeBa.name的值。
类的__doc__也是一个有效的属性 ,对他的引用会返回所属类的文档字符 串 :A demo
of class。
类的实例化 ,是使用函数表示法 ,可以把类对象看做是会返回一个新的类实例的函数。
比如上面类对象的实例化就是:
kkb KaiKeBa()
这就创建了一个类的新实例并将词对象分配给局部变量kkb。
实例化操作可以看成是 “调用”类对象。但我们在创建类实例时都想要做些初始化操
作 ,为此类定义时可以定义一个名为__init__()的特殊方法 。它是类实例化的初始化方
法,跟C ++语言中 的构造函数类似。
def __init__(self ):
self .data None
定义了__init__()方法后,类的实例化操作会自动调用该方法。
当然,__init__()方法也可以有额外(除self之外)的参数以实现更灵活的初始化操作。类
对象实例化时(“调用”类对象)传递的参数会被传递给__init__()方法。例如:
In [27]: class Point :
...: def __init__(self , x, y):
...: self .x x
...: self .y y
...:
In [28]: p Point (7, 8)
In [29]: p.x, p.y
Out[29]: (7, 8)
实例对象
类实例化后我们就得到了实例对象 ,对它的操作就是 :属性引用。这里的有效属性名称
是数据属性和方法。
数据属性 ,数据属性不需要声明 ,它像普通变量一样 ,在第一次赋值时产生。比如p是
声明创建的Point的实例,则以下代码会打印数值8 :
p.t imes 1
while p.t imes 5:
p.t imes p.t imes * 2
print (p.t imes)
del p.t imes
虽然p.t imes并没
您可能关注的文档
- Al及其化合物(上).pdf
- Al及其化合物(下).pdf
- Al及其化合物(中).pdf
- Cl及其化合物(兼顾卤素)(二).pdf
- Cl及其化合物(兼顾卤素)(三).pdf
- Cl及其化合物(兼顾卤素)(四).pdf
- Cl及其化合物(兼顾卤素)(一).pdf
- C语言精品课件-全册.pdf
- Day01-Python常用英语词汇.pdf
- Day01-python中break_continue_pass_else的用法和区别.pdf
- 2023年阿里地区特岗教师招聘考试真题汇编附答案解析.docx
- 2023年阿里地区特岗教师笔试真题题库带答案解析.docx
- 2023年陕西省特岗教师招聘真题汇编带答案解析.docx
- 2023年阿里地区特岗教师招聘真题汇编及答案解析(夺冠).docx
- 2023年阿里地区特岗教师笔试真题汇编带答案解析.docx
- 2023年阿里地区特岗教师笔试真题汇编带答案解析.docx
- 2023年阿拉善盟特岗教师笔试真题汇编附答案解析(夺冠).docx
- 2023年阿里地区特岗教师笔试真题汇编带答案解析.docx
- 2023年阿里地区特岗教师招聘考试真题汇编及答案解析(夺冠).docx
- 2023年阿里地区特岗教师笔试真题汇编带答案解析.docx
原创力文档


文档评论(0)