Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # это Product:
- class Datter:
- def __init__(self, text):
- self.text = text
- # это client:
- class Printer:
- def usrprint(self, item, opt):
- usrprinter = get_userprint(opt)
- return usrprinter(item)
- # это creator:
- def get_userprint(opt):
- if opt == 1:
- return _usrprint1
- elif opt == 2:
- return _usrprint2
- else:
- raise ValueError(opt)
- # это реализации Product:
- def _usrprint1(item):
- final_text1 = item.text + 'it\'s opt 1!!!'
- return print(final_text1)
- def _usrprint2(item):
- final_text2 = item.text + 'it\'s opt 2!!!'
- return print(final_text2)
- if __name__ == '__main__':
- usrdata = Datter('we are printing!!!')
- func = Printer()
- func.usrprint(usrdata, 1)
- func.usrprint(usrdata, 2)
- func.usrprint(usrdata, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement