Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
not defined error
#1
class Restaurant():
    """Restaurant example"""
    
    def __init__(self, restaurant_name, cuisine_type):
        """Initialize restaurant name and cuisine type attributes"""
        self.name = restaurant_name
        self.type = cuisine_type
        
    def describe_restaurant(self):
	    """Tells the name and type of restaurant"""
	    print(self.name.title() + " has" + self.type.title() + " food.")
        
    def open_restaurant(self):
        """Tells that the restaurant is open"""
        print(self.name.title() + " is now open!")
        
print(describe_restaurant('saltgrass', 'steak'))
        
print(open_restaurant('saltgrass'))
traceback (most recent call last):
File "Restaurant", line 17, in <module>
print(describe_restaurant('saltgrass', 'steak'))
NameError: name 'describe_restaurant' is not defined
Reply
#2
That is not how OOP works. describe_restaurant is method of class Restaurant. You need to create an instance of the class then call the method
class Restaurant():
    """Restaurant example"""
     
    def __init__(self, restaurant_name, cuisine_type):
        """Initialize restaurant name and cuisine type attributes"""
        self.name = restaurant_name
        self.type = cuisine_type
         
    def describe_restaurant(self):
        """Tells the name and type of restaurant"""
        print(self.name.title() + " has " + self.type.title() + " food.")
         
    def open_restaurant(self):
        """Tells that the restaurant is open"""
        print(self.name.title() + " is now open!")

restaurant = Restaurant('saltgrass', 'steak')
another_restaurant = Restaurant('Great Dracon', 'chinese')

restaurant.describe_restaurant()
another_restaurant.describe_restaurant()
restaurant.open_restaurant()
another_restaurant.open_restaurant()
Output:
Saltgrass has Steak food. Great Dracon has Chinese food. Saltgrass is now open! Great Dracon is now open!
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#3
Awesome thanks much!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Variable is not defined error when trying to use my custom function code fnafgamer239 4 516 Nov-23-2023, 02:53 PM
Last Post: rob101
  [variable] is not defined error arises despite variable being defined TheTypicalDoge 4 2,044 Apr-05-2022, 04:55 AM
Last Post: deanhystad
  Error 'Contour' not Defined DaveG 3 2,283 Mar-13-2022, 03:29 AM
Last Post: deanhystad
  Getting "name 'get_weather' is not defined error and no json_data returned? trthskr4 6 3,528 Sep-14-2021, 09:55 AM
Last Post: trthskr4
  Error when refering to class defined in 'main' in an imported module HeRo 2 2,334 Apr-13-2021, 07:22 PM
Last Post: HeRo
  Why does lambda throw 'name value_o is not defined' error? karabakh 3 2,123 Dec-14-2020, 05:45 PM
Last Post: karabakh
  name error "name"is not defined MaartenRo 1 3,375 Jul-28-2020, 02:39 AM
Last Post: bowlofred
  Name Error: name 'Stockton' is not defined Pinokchu 3 2,236 Jun-13-2020, 02:48 PM
Last Post: Yoriz
  python library not defined in user defined function johnEmScott 2 3,774 May-30-2020, 04:14 AM
Last Post: DT2000
  error ,,name append is not defined'' Killdoz 1 4,983 May-24-2020, 06:23 PM
Last Post: bowlofred

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020