Python中的初始化
微信公众号-IT赶路人,专注分享与IT相关的支持
python.jpg
Python是当今业界最流行的编码平台之一。从初学者到专业人士,每个人都使用Python来编写和制作移动和网络应用程序。作为一个如此多功能的平台,有些方面并不为用户所熟知。其中最重要的是Python中的Init。本文将帮助您详细探讨这一概念,并遵循以下要点,那么让我们开始吧,
Python中的初始化
Init函数简介
如果您已经使用Python有一段时间了,那么您很清楚Python是一种面向对象的编程语言。这基本上意味着您在Python环境中创建的所有内容都被称为对象。现在,在我们开始探索更多关于Python中的init函数之前,让我们先了解一下基础知识。
Python中的类是组合在一起的一类或一组不同的元素,它们彼此有一个或多个相似之处,但在类型、质量和种类上又有别于母类。在技术术语中,我们可以将Python中的类定义为具有相同或精确行为的单个对象的蓝图。
对象Python中的对象是类的一个实例,可以对其进行编程以实现类中定义的函数。
self Python中的self init关键字用于一个类中的所有实例。通过使用Self关键字,可以轻松地访问用类定义的所有实例,包括它的方法和属性。
init是Python中保留的方法之一。在面向对象编程中,它被称为构造函数。init方法可以在从类创建对象时调用,并且需要访问才能初始化类的属性。
在Python中使用init
根据上面的init分享的定义,您现在对该方法的确切作用有了一定的了解。为了进一步澄清这个概念,我们来看一个例子。
1示例
目的:用Python编写名为“NFS”的赛车游戏。解决方案:如果要用Python创建名为“NFS”的赛车游戏,需要创建的基本对象之一是个体汽车。你在游戏中创造的每辆车都会有不同的属性,比如颜色、速度等,还有换档、加速、刹车等方法。
当您将这个概念编码到Python解释器中时,它应该如下所示。
class Car(object):
"""
blueprint for car
"""
def __init__(self, model, color, company, speed_limit):
self.color = color
self.company = company
self.speed_limit = speed_limit
self.model = model
def start(self):
print("started")
def stop(self):
print("stopped")
def accelarate(self):
print("accelarating...")
#"accelarator functionality here"
def change_gear(self, gear_type):
print("gear changed")
#" gear related functionality here"
#Now that we have created the objects, let’s move on to create the individual cars in the game.
maruthi_suzuki = Car("ertiga", "black", "suzuki", 60)
audi = Car("A6", "red", "audi", 80)
在上面的例子中,我们创建了两种不同的车型;一种是铃木Ertiga,另一种是奥迪A6。一旦成功创建了这些对象,我们就可以使用init方法进行初始化,从而为下一步做好准备。
在本例中,我们还可以使用self方法来表示类的不同实例,还可以将属性与给定的参数绑定。使用Self方法将允许我们基本上访问我们在类中创建的属性和方法。
2示例
目的:计算具有尺寸、宽度(b=120)、长度(l=160)的矩形油田的开发成本。1平方米的价格是2000印度卢比。
解决方案:记住前面示例中共享的步骤,此特定示例的代码如下所示。
class Rectangle:
def __init__(self, length, breadth, unit_cost=0):
self.length = length
self.breadth = breadth
self.unit_cost = unit_cost
def get_perimeter(self):
return 2 * (self.length + self.breadth)
def get_area(self):
return self.length * self.breadth
def calculate_cost(self):
area = self.get_area()
return area * self.unit_cost
# breadth = 120 cm, length = 160 cm, 1 cm^2 = Rs 2000
r = Rectangle(160, 120, 2000)
print("Area of Rectangle: %s cm^2" % (r.get_area()))
print("Cost of rectangular field: Rs. %s " %(r.calculate_cost()))
正如在前面的示例中所讨论的,self方法表示类的实例和属性。如果仔细观察,您会发现我们使用了self.length方法来推导属性长度的值。属性长度已经绑定在类中,我们使用Self方法来表示同一类中的对象。
我们还使用了方法def get_area(Self):作为上面代码中的参数。这样做的目的是,每次我们调用该方法时,它会自动传递方法中的第一个参数和其他参数。虽然这种自动化乍一看可能很小,但从长远来看,它将节省大量时间并提高效率。