Python对象初始化,_init_方法

Python对象初始化,_init_方法,python,class,oop,Python,Class,Oop,如果我必须像下面这样为我的类创建对象,我如何创建类 Obj1 = Class() Obj2 = Class(para1,para2,para3) 这与我刚开始学习Python时需要完成的任务有关 我尝试过构造重载,但在Python中似乎不起作用。有人能告诉我如何实现这一点吗?或者将这两行代码放在一个代码中在技术上是错误的。您可以使用*args或**kwargs 或 请参阅此部分以了解有关的详细信息。您可以使用*args或**kwargs 或 请参阅本节了解有关的更多信息。如果您设置了默认值,如

如果我必须像下面这样为我的类创建对象,我如何创建类

Obj1 = Class()
Obj2 = Class(para1,para2,para3)
这与我刚开始学习Python时需要完成的任务有关

我尝试过构造重载,但在Python中似乎不起作用。有人能告诉我如何实现这一点吗?或者将这两行代码放在一个代码中在技术上是错误的。

您可以使用*args或**kwargs

请参阅此部分以了解有关的详细信息。您可以使用*args或**kwargs


请参阅本节了解有关的更多信息。如果您设置了默认值,如length=80,则无需进行设置。但是如果你设置了这些值,它将被设置为你想要的。下面的代码几乎演示了您想要的内容

class Rectangle:
   def __init__(self, length = 80, breadth = 60, unit_cost=100):
       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
# r = Rectangle() <- this returns with default values
# 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()))

如果设置默认值,如length=80,则不必设置它们。但是如果你设置了这些值,它将被设置为你想要的。下面的代码几乎演示了您想要的内容

class Rectangle:
   def __init__(self, length = 80, breadth = 60, unit_cost=100):
       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
# r = Rectangle() <- this returns with default values
# 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()))

在Python中,您使用的动态函数参数具有默认值,如def _init__para1=None、para2=None、para3=None,其中None可以是任何默认值。详情请参阅!Python不支持像C++那样的方法重载。我是否有其他方法实现此方法?在Python中,您使用的是带有默认值的动态函数参数,如def _uinit _upara1=None、para2=None、para3=None,其中None可以是任何默认值。详情请参阅!Python不支持像C++那样的方法重载
class Rectangle:
   def __init__(self, length = 80, breadth = 60, unit_cost=100):
       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
# r = Rectangle() <- this returns with default values
# 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()))