Hi Irit,

In my case, the code structure is as below.

I'm writing a city traffic simulator which includes roads and cars.

Cars have different states, MovingCar, IdleCar, ParkingCar...

A car can move between different states and it keeps the same information.

My solution to this was,

Having a different class that captures the generic functions for each state.

Why writing a module does not work has 2 parts, they may be due to my 
insufficient experience with python but I'm switching between the states as 
their API's are executed. Something like the code sample below

class AA:
  @classmethod
  def greet(cls, A_instance):
     print("Hello", A_instance.name)

class BB:
  @classmethod
  def greet(cls, A_instance):
    print("Hi", A_instance.name)

class A:
  def __init__(self, state, name):
    self.state = state
    self.name = name 
  def greet(self):
    self.state.greet(self)
  def switchAA(self):
    self.state = AA
  def switchBB(self):
    self.state = BB

if __name__ == "__main__":
  obj = A(AA, "alperen)
  obj.greet()
  obj.switchBB()
  obj.greet()

The output is: 
Hello alperen
Hi alperen

I believe this minimal example captures the semantics that I'm working on. I 
thought that AA and BB classes may be classified as a special type of class.

My regards,
Alperen
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/VWXTAI2AGMPYKRQUZPBHBNC2G7KDNMXB/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to