0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python中的类和对象详解

网络技术干货圈 来源:网络技术干货圈 2023-04-20 16:53 次阅读

Python 是一种面向对象的编程语言,它支持类和对象。类是一种用户自定义的数据类型,用于定义对象的属性和方法。对象是类的实例,它包含类的属性和方法的实际值。

定义类

定义类的语法如下:

classClassName:
def__init__(self,arg1,arg2,...):
self.attribute1=arg1
self.attribute2=arg2
...

defmethod1(self,arg1,arg2,...):
#methodbody

defmethod2(self,arg1,arg2,...):
#methodbody

在上面的代码中,__init__() 方法是类的构造函数,它在创建对象时调用。self 参数是一个指向当前对象的引用,它用于访问对象的属性和方法。

创建对象

要创建一个对象,我们必须使用类的名称和构造函数的参数。例如:

classPerson:
def__init__(self,name,age):
self.name=name
self.age=age

person1=Person("John",25)

在上面的代码中,我们定义了一个名为 Person 的类,并创建了一个名为 person1 的对象。这个对象有两个属性:name 和 age。

访问属性和方法

要访问对象的属性和方法,我们可以使用点操作符(.)。

print(person1.name)
print(person1.age)

在上面的代码中,我们访问了 person1 对象的 name 和 age 属性。

要调用对象的方法,我们可以使用点操作符和方法名。

classPerson:
def__init__(self,name,age):
self.name=name
self.age=age

defsay_hello(self):
print("Hello,mynameis",self.name)

person1=Person("John",25)
person1.say_hello()

在上面的代码中,我们定义了一个名为 say_hello() 的方法,并在 person1 对象上调用它。

继承

Python 支持继承,它允许我们定义一个类来继承另一个类的属性和方法。

classAnimal:
def__init__(self,name):
self.name=name

defspeak(self):
pass

classDog(Animal):
defspeak(self):
print("Woof!")

classCat(Animal):
defspeak(self):
print("Meow!")

dog1=Dog("Rex")
cat1=Cat("Whiskers")

dog1.speak()
cat1.speak()

在上面的代码中,我们定义了一个名为 Animal 的类,并创建了两个名为 Dog 和 Cat 的子类。这些子类继承了 Animal 类的属性和方法,并覆盖了 speak() 方法。

多态性

多态性是面向对象编程中的一个概念,它允许我们使用相同的方法名调用不同类的方法。这样,我们可以编写通用的代码来处理不同的对象类型。

在 Python 中,多态性是通过继承和方法覆盖来实现的。当我们调用一个方法时,Python 解释器会在对象的类和其父类中查找该方法,直到找到为止。

classAnimal:
def__init__(self,name):
self.name=name

defspeak(self):
pass

classDog(Animal):
defspeak(self):
print("Woof!")

classCat(Animal):
defspeak(self):
print("Meow!")

defmake_animal_speak(animal):
animal.speak()

dog1=Dog("Rex")
cat1=Cat("Whiskers")

make_animal_speak(dog1)
make_animal_speak(cat1)

在上面的代码中,我们定义了一个名为 make_animal_speak() 的函数,它接受一个 Animal 类型的参数,并调用该参数的 speak() 方法。然后,我们创建了一个 Dog 类型的对象和一个 Cat 类型的对象,并将它们作为参数传递给 make_animal_speak() 函数。

封装

封装是面向对象编程中的另一个概念,它允许我们将对象的内部状态隐藏起来,只公开必要的接口来访问它。在 Python 中,封装是通过属性和方法的访问控制来实现的。

在 Python 中,属性和方法的访问控制是通过属性和方法的名称前缀来实现的。如果属性或方法的名称以两个下划线开头(__),则它是私有的,否则它是公共的。

classPerson:
def__init__(self,name,age):
self.__name=name
self.__age=age

defget_name(self):
returnself.__name

defset_name(self,name):
self.__name=name

defget_age(self):
returnself.__age

defset_age(self,age):
self.__age=age

person1=Person("John",25)
print(person1.get_name())
person1.set_name("Mike")
print(person1.get_name())

在上面的代码中,我们定义了一个名为 Person 的类,并将 name 和 age 属性设置为私有的。然后,我们定义了四个公共方法来访问和修改这些属性。

总结

Python 类和对象是面向对象编程的基本概念。通过定义类和创建对象,我们可以组织代码并实现封装、继承和多态性。了解这些概念对于编写高质量的 Python 代码非常重要。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1927

    浏览量

    34532
  • 函数
    +关注

    关注

    3

    文章

    4273

    浏览量

    62290
  • 对象
    +关注

    关注

    1

    文章

    38

    浏览量

    17360
  • python
    +关注

    关注

    54

    文章

    4763

    浏览量

    84338
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6482

原文标题:网络工程师学Python-12-类和对象

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Python的面向对象编程详解

    一般编程可分为面向过程编程,和面向对象编程。Python的面向对象编程,与Java的面向对象很像。之所以需要面向对象编程,是为了更好地实现封
    发表于 09-04 16:35 496次阅读
    <b class='flag-5'>Python</b>的面向<b class='flag-5'>对象</b>编程<b class='flag-5'>详解</b>

    3分钟看懂Python面向对象

    Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python
    发表于 06-08 14:20

    python的理解与使用

    python的理解与使用1. 通俗理解(英文名 class),是具有相同特性(属性)和行为(方法)的对象(实例)的抽象模板。从定义上来
    发表于 03-07 16:51

    python的多态和的property属性

    是鸭子。套入刚刚的代码实例,就是一个对象,只要有 speak 方法,那么他就是一个 do_speak 方法所需要的 people 对象的 property 属性在之前的学习
    发表于 03-09 16:38

    python开发之‘’讲解

    Python 在尽可能不增加新的语法和语义的情况下加入了机制。这种机制是 C++ 和 Modula-3 的混合。 Python没有在
    发表于 03-15 14:12 1次下载

    揭开Pythonself的神秘面纱

    许多python初学者,在接触到python面向对象的时候,就被包含的方法的self打败了
    的头像 发表于 01-19 17:51 1747次阅读
    揭开<b class='flag-5'>Python</b><b class='flag-5'>类</b><b class='flag-5'>中</b>self的神秘面纱

    详谈Python的数据模型和对象模型

    Python官方文档说法是“Python数据模型”,大多数Python书籍作者说法是“Python对象模型”,它们是一个意思,表示“计算机编
    的头像 发表于 02-10 15:59 2502次阅读
    详谈<b class='flag-5'>Python</b>的数据模型和<b class='flag-5'>对象</b>模型

    python迭代器详解

    ,可能需要借助一些函数来判别,比如 Python 内置的 collections.abc 模块,这个模块只有在 Python 才有噢,在这个模块中提供了一个 Iterable ,可
    的头像 发表于 02-24 15:42 1307次阅读

    python的继承详解

    python的继承 的继承,跟人类繁衍的关系相似。 被继承的称为基(也叫做父),继承而
    的头像 发表于 03-08 16:40 3053次阅读

    Python的属性和方法是什么

    编程我们用来创建对象。日常生活的汽车设计图就是我们Python
    的头像 发表于 02-23 10:17 817次阅读

    什么是python对象

    Python,type函数查看数据类型
    的头像 发表于 02-23 10:18 708次阅读

    Python的继承详解

    Python ,继承是一种重要的面向对象编程概念。通过继承,我们可以定义一个新的,它继承了现有的属性和方法。这种代码重用可以使我们
    的头像 发表于 04-20 16:56 1205次阅读

    [源代码]Python算法详解

    [源代码]Python算法详解[源代码]Python算法详解
    发表于 06-06 17:50 0次下载

    Python中元的作用

    1.什么是 在理解元之前,我们必须先掌握Python(class)。 和大多数语言一样,Pyt
    的头像 发表于 11-02 11:18 479次阅读
    <b class='flag-5'>Python</b>中元<b class='flag-5'>类</b>的作用

    pythonopen函数的用法详解

    pythonopen函数的用法详解 Python的open()函数用于打开文件。它接受文件名和模式作为参数,并返回一个文件
    的头像 发表于 01-30 15:31 1857次阅读