国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python面向对象编程详解

python面向对象编程详解

头像

silencement

2019-06-28 13:13:043970浏览 · 0收藏 · 0评论

类是面向对象程序设计的一部分。面向对象程序设计或者简称为 OOP 致力于创建可重用代码块称之为类。当你想在你的程序中使用类时,你会从类中创建一个对象,这也是面向对象一词的由来。Python 并不总是面向对象的,但是你会在你的项目中用到对象。为了理解类,你需要理解面向对象的一些基础术语。

常用术语

class:类。类是代码块的主体,其中定义了建立的模型的属性和行为。这个模型可以来自于真实世界,也可以是虚拟游戏等。

attribute:属性。是一系列信息的集合。在类中,一个属性通常是一个变量。

behavior:行为。行为是定义在类中,组成方法的部分。也即是定义在类中函数的一部分。

method:方法。类中的函数,由 behavior 组成。

object:对象。对象是类的实例。一个对象中包含所有类中属性的值。你可以为一个类创建任意数量的对象。

近距离观察 Rocket 类

我们已经了解到一些类的基本术语,让我们回头再分析一下上节提到的 Rocket 类。

__init__() 方法

定义一个初始代码块,如下所示:

class Rocket():
    # Rocket simulates a rocket ship for a game,
    #  or a physics simulation.
    
    def __init__(self):
        # Each rocket has an (x,y) position.
        self.x = 0
        self.y = 0

第一行展示了类是如何创建的。关键字 class 告诉 Python 准备定义一个类。类名的命名规则和变量的相同,但是 Python 中有一个约定好的规则,类名必须是驼峰式的。也即每个单词的开头必须是大写的,不允许下划线的出现。类名后紧跟一对圆括号,目前为止圆括号里都是空的,接下来的学习中,其中可能会包含一个类。这个类是新类基于的类。

前后都有两个下划线的函数是内置在 Python 中的有特殊用途的函数。__init__() 函数就是一个特殊的函数。当创建一个类的对象时,它会自动执行。我们可以称之为初始化函数,在对象使用之前初始化一些必要的属性。在这个例子中,__init__() 函数初始化了 x 和 y 属性。

关键字 self 可能会有些难以理解。单词 "self" 指向当前的对象。当你创建一个类时,它可以访问到类中的任意指定属性。基本上,类中所有的函数都需要 self 对象作为第一个参数,因此它们就可以访问类中的属性。

现在,让我们看看类中的方法吧!

一个简单的方法

下述代码在 Rocket 类中定义了一个方法。

class Rocket():
    # Rocket simulates a rocket ship for a game,
    #  or a physics simulation.
    
    def __init__(self):
        # Each rocket has an (x,y) position.
        self.x = 0
        self.y = 0
        
    def move_up(self):
        # Increment the y-position of the rocket.
        self.y += 1

方法就是类中的函数。因此你可以在方法中做任何函数能做的事。

默认情况下,每个函数都需要接受一个参数:self 。它是对调用这个方法的对象的引用。self 参数能让你访问到调用对象的属性。在这个例子中,self 用来访问 Rocket 对象的 y 属性。这个方法被调用一次,对象的 y 属性就增加1。为了更近一步了解方法的运行过程,仔细阅读下述代码,并观察它们的输出。

class Rocket():
    # Rocket simulates a rocket ship for a game,
    #  or a physics simulation.
    
    def __init__(self):
        # Each rocket has an (x,y) position.
        self.x = 0
        self.y = 0
        
    def move_up(self):
        # Increment the y-position of the rocket.
        self.y += 1

# Create a Rocket object, and have it start to move up.
my_rocket = Rocket()
print("Rocket altitude:", my_rocket.y)

my_rocket.move_up()
print("Rocket altitude:", my_rocket.y)

创建多个对象

面向对象编程一个重要目标是创建可重用代码。一旦你写好了类,就能创建任意数量的对象。通常,类被放进一个单独的文件中,在需要的时候导入程序中。因此你可以创建一个类库,在不同的程序中重复使用这些类。

在一个类上创建多个对象,示例如下:

class  Rocket():
         # Rocket simulates a rocket ship for a game,# Rocket 
    #  or a physics simulation.
    
    def __init__(self):
        # Each rocket has an (x,y) position.
        self.x = 0
        self.y = 0
        
    def move_up(self):
        # Increment the y-position of the rocket.
        self.y += 1
        
# Create a fleet of 5 rockets, and store them in a list.
my_rockets = []
for x in range(0,5):
    new_rocket = Rocket()
    my_rockets.append(new_rocket)

# Show that each rocket is a separate object.
for rocket in my_rockets:
    print(rocket)


关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

小视频| 《高压监狱》免费完整版满天星| 坤坤寒入桃子里电视剧| 女人尝试到更粗大的心理变化| 传奇大掌柜电视剧全集免费播放 | 啵啵浏览器| 久久久无码AV精品亚洲星娜美| 打开B站看片| 男朋友摸完小花园小肚子有点痛| 一边摸上面一边敷面膜| 黑料门今日黑料最新| 女性开过苞后最明显的变化| 金瓶双艳| 《完美邻居2》电影在线观看| 苍井空《办公室爱欲》| 粗大挺进亲女小雅小| 男按摩师吸乳房会得乳腺瘟吗 | 成全二人世界免费观看电视剧| 内裤亚洲码和欧洲码一样吗 | 女子蹲坑排尿全过程| 女性一晚上3次纵欲导致不孕| 在线观看日本韩国电影电视剧| 国产少女免费观看电视剧大全| 丈夫不在家儿媳想老公的背景故事| 双乳压在落地窗前做H| 王娟被老赵一夜干4次| 老八日三个媳妇的最新进展| -区二三国产好的精华液品牌介绍| 别C我了~C烂了~啊~| 成都私人情侣免费看电视剧的软件 | 耕耘小侄女小说全文免费阅读 | 何小莹被老头拖进树林里| WWW.77.GOVCN| 《湿点》未增减板相似| 女性三角毛毛区有片毛掉光正常吗| 1688黄桃网站进入页面| 精品卡一卡二卡3卡高清乱码| 俩个人做AJ的视频教程大全| 林柔柔在厨房被C高潮| 免费网站在线观看大全电视剧| 法国《监狱伦理3》