python面向对象编程的三大特性,python是面向对象编程语言吗

  python面向对象编程的三大特性,python是面向对象编程语言吗

  类是面向对象编程的一部分。面向对象编程,简称OOP,致力于创建可重用的代码块,这些代码块被称为类。当你想在你的程序中使用一个类时,你将从该类中创建一个对象,这也是术语面向对象的起源。Python并不总是面向对象的,但是您将在项目中使用对象。为了理解类,你需要理解一些面向对象的基本术语。

  常用术语

  阶级:阶级。是类代码块的主体,它定义了已建立模型的属性和行为。这个模型可以来自现实世界,也可以来自虚拟游戏。

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

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

  方法:方法。类中的函数由行为组成。

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

  火箭级近距离观察

  现在我们知道了一些类的基本术语,让我们回过头来分析一下上一节提到的Rocket类。

  __init__()方法

  如下定义初始代码块:

  classRocket():

  # rocket simulates rocketshipforame,

  #oraphysicssimulation。

  def__init__(self):

  #Eachrockethasan(x,y)位置。

  self.x=0

  Self.y=0第一行显示了该类是如何创建的。class关键字告诉Python定义一个类。类名的命名规则与变量的命名规则相同,但Python中有一个约定的规则,即类名必须隆起。即每个单词的开头必须大写,不允许有下划线。类名后跟一对括号。到目前为止,括号都是空的。在下一个研究中,它可能包含一个类。这个类是新类所基于的类。

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

  自我这个关键词可能有点难以理解。“自我”一词指向当前对象。当您创建一个类时,它可以访问该类中任何指定的属性。基本上,类中的所有函数都需要一个self对象作为第一个参数,这样它们就可以访问类中的属性。

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

  简单的方法

  下面的代码定义了Rocket类中的一个方法。

  classRocket():

  # rocket simulates rocketshipforame,

  #oraphysicssimulation。

  def__init__(self):

  #Eachrockethasan(x,y)位置。

  self.x=0

  铌

  sp;self.y=0

  

  defmove_up(self):

  #Incrementthey-positionoftherocket.

  self.y+=1方法就是类中的函数。因此你可以在方法中做任何函数能做的事。

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

  

classRocket():

  #Rocketsimulatesarocketshipforagame,

  #oraphysicssimulation.

  

  def__init__(self):

  #Eachrockethasan(x,y)position.

  self.x=0

  self.y=0

  

  defmove_up(self):

  #Incrementthey-positionoftherocket.

  self.y+=1

  #CreateaRocketobject,andhaveitstarttomoveup.

  my_rocket=Rocket()

  print("Rocketaltitude:",my_rocket.y)

  my_rocket.move_up()

  print("Rocketaltitude:",my_rocket.y)

创建多个对象

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

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

  

classRocket():

  #Rocketsimulatesarocketshipforagame,#Rocket

  #oraphysicssimulation.

  

  def__init__(self):

  #Eachrockethasan(x,y)position.

  self.x=0

  self.y=0

  

  defmove_up(self):

  #Incrementthey-positionoftherocket.

  self.y+=1

  

  #Createafleetof5rockets,andstoretheminalist.

  my_rockets=[]

  forxinrange(0,5):

  new_rocket=Rocket()

  my_rockets.append(new_rocket)

  #Showthateachrocketisaseparateobject.

  forrocketinmy_rockets:

  print(rocket)


郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: