更多课程 选择中心


Python培训

400-111-8989

python中的类和对象是什么?

  • 发布:Python培训
  • 来源:实战Python
  • 时间:2019-07-01 15:20

类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。

我们先以生活中的例子,举例说明类和对象,类(class): 相当于施工图纸(blueprint),对象(object):房子(已经建造好的)。

接下来,让我们用代码的方式看一下类和对象的概念:

在Python中可以使用class关键字定义类,然后在类中通过之前学习过的函数来定义方法,这样就可以将对象的动态特征描述出来,代码如下所示:

class Student(object):

# __init__是一个特殊方法用于在创建对象时进行初始化操作 # 通过这个方法我们可以为学生对象绑定name和age两个属性

def __init__(self, name, age):

self.name = name

self.age = age

def study(self, course_name):

print('%s正在学习%s.' % (self.name, course_name))

# PEP 8要求标识符的名字用全小写多个单词用下划线连接

# 但是很多程序员和公司更倾向于使用驼峰命名法(驼峰标识)

def watch_tv(self):

if self.age < 18:

print('%s只能观看《熊出没》.' % self.name)

else:

print('%s《电锯惊魂》来了.' % self.name)

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

当我们定义好一个类之后,可以通过下面的方式来创建对象并给对象发消息。创建实例是通过类名+()实现的:

def main():

# 创建学生对象并指定姓名和年龄

stu1 = Student('小白菜', 21)

# 给对象发study消息 stu1.study('Python程序设计')

# 给对象发watch_tv消息

stu1.watch_tv()

stu2 = Student('王大锤', 15)

stu2.study('思想品德')

stu2.watch_tv()

if __name__ == '__main__': main()

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

小结

类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响.

方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据.

通过在实例上调用方法,我们就直接操作了对象内部的数据,但无需知道方法内部的实现细节。

和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同.

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:python网络爬虫都能干什么?
下一篇:Python中数据封装是什么?

Python培训这么多,靠谱的Python培训班怎么选?

人工智能工程师证书怎么考?

AI怎么裁剪多余的部分?

ai开发选择哪种编程语言?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省