これを行う最善の方法を探し回っていますが、完全に説得力のあるものは何も見つかりませんでした。
私は、ユーザー オブジェクトと、それらのユーザーを管理するコレクションを持つシステムを作成しています。各ユーザーには名前があり、ユーザーの名前またはユーザー オブジェクト自体のいずれかを取ることができるマネージャーで関数を指定したいと考えています。
class UserManager:
def remove_user(self,user_or_username):
#If user_or_username is a string
remote.remove(user_or_username)
#If user_or_username is a User object
remote.remove(user_or_username.name)
これを行う気の利いた方法はありますか、それとも isinstance を使用するのが良いですか?