Python Forum
Class Takes No Arguments - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: Class Takes No Arguments (/thread-25424.html)



Class Takes No Arguments - horuscope42 - Mar-30-2020

class Car:
	"""A simple attempt to represent a car."""

	def __int__(self, make, model, year):
		"""Initialize the car."""
		self.make = make
		self.model = model
		self.year = year
		self.odometer_reading = 0

	def get_descriptive_name(self):
		"""Return a description of the car in a neat format."""
		long_name = f"{self.year} {self.make} {self.model}"
		return long_name.title()

	def read_odometer(self):
		"""Creates a statement of the car mileage."""
		print(f"This car has {self.odometer_reading} miles on it.")

	def update_odometer(self, mileage):
		"""Create a method for updating the mileage of the odometer."""
		if mileage >= self.odometer_reading:
			self.odometer_reading = mileage
		else:
			print(f"You can't roll back an odometer.")

	def increment_odometer(self, miles):
		"""Defines the increment increase of the odometer."""
		self.odometer_reading += miles

#Next we will define the child class, 'ElectricCar.#

class ElectricCar(Car):
	#We care creating a child class called 'ElectricCar' from the parent class 'Car'#
	"""Represents aspects of a car, specific to electric vehicles."""

	def __int__(self, make, model, year):
		"""Initialize attributes of the parent class."""
		super().__int__(make, model, year)


my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
Error:
Traceback (most recent call last): File "C:\Users\Carlo\Documents\Python Material\python_work\parent_child_classes.py", line 45, in <module> my_tesla = ElectricCar('tesla', 'model s', 2019) TypeError: ElectricCar() takes no arguments
***1st time posting so I hope I got the rules right, but I can't for the life of me figure out why I can't see my classes displayed. Any help would be mucho appreciato, mr./mrs./ms. roboto.***


RE: Class Takes No Arguments - Larz60+ - Mar-30-2020

code has changed, error line number doesn't match code.
Please post code with corresponding error trace.


RE: Class Takes No Arguments - buran - Mar-30-2020

You have typo on this lines:
    def __int__(self, make, model, year):
        """Initialize attributes of the parent class."""
        super().__int__(make, model, year)
it should be
    def __init__(self, make, model, year):
        """Initialize attributes of the parent class."""
        super().__init__(make, model, year)
also in Car class:
def __int__(self, make, model, year):
should be
def __init__(self, make, model, year):



RE: Class Takes No Arguments - horuscope42 - Mar-30-2020

class Car:
	"""A simple attempt to represent a car."""

	def __int__(self, make, model, year):
		"""Initialize the car."""
		self.make = make
		self.model = model
		self.year = year
		self.odometer_reading = 0

	def get_descriptive_name(self):
		"""Return a description of the car in a neat format."""
		long_name = f"{self.year} {self.make} {self.model}"
		return long_name.title()

	def read_odometer(self):
		"""Creates a statement of the car mileage."""
		print(f"This car has {self.odometer_reading} miles on it.")

	def update_odometer(self, mileage):
		"""Create a method for updating the mileage of the odometer."""
		if mileage >= self.odometer_reading:
			self.odometer_reading = mileage
		else:
			print(f"You can't roll back an odometer.")

	def increment_odometer(self, miles):
		"""Defines the increment increase of the odometer."""
		self.odometer_reading += miles
		"""The '+=' symbology has been confusing but I tend to think of it as, ex) 'a += b'' is == to 'a = a + b'.  So in this example, on line 29, the semantic readthrough could be interpreted as the 'self.odometer_reading = self.odometer_reading + miles'."""

#When creating a child class, the parent class must be part of the current file and must appear before the child class in the file.#

#Next we will define the child class, 'ElectricCar.#

class ElectricCar(Car):
	#We are creating a child class called 'ElectricCar' from the parent class 'Car'#
	"""Represents aspects of a car, specific to electric vehicles."""

	def __int__(self, make, model, year):
		"""Initialize attributes of the parent class."""
		super().__int__(make, model, year)


my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
Error:
Traceback (most recent call last): File "C:\Users\Carlo\Documents\Python Material\python_work\parent_child_classes.py", line 45, in <module> my_tesla = ElectricCar('tesla', 'model s', 2019) TypeError: ElectricCar() takes no arguments
I apologize about the previous post, I had some comments in there that I thought weren't relevant and took them out without considering the line changes.

Thanks for the help people; Larz60+ for help posting questions properly and to buran for spotting that silly mistake.


RE: Class Takes No Arguments - not_username1234 - Oct-26-2020

Dunno if this might still be of actuality for you but pay attention to the way you wrote the __init__ method.
You wrote it __int__ instead of __int__ thus making your class unable to accept arguments