следующие два фрагмента кода: «self. Привилегии = привилегии (Admin)»
Когда я изучал Python, я столкнулся с проблемой. Я видел сравнение кода других людей с моим собственным кодом. Возникает вопрос:
Почему необходимо добавлять параметры (Admin) в один сегмент, а не добавлять параметры (Admin) в другой сегмент? сообщите нам причину 100
код 1:
class User():
def __init__(self,first_name,last_name):
self.first_name = first_name
self.last_name = last_name
self.login_attempts = 5
def describe_user(self):
print("The first name is "+self.first_name.title())
print("The last name is "+self.last_name.title())
def greet_user(self):
print("Hello,"+self.first_name.title()+self.last_name)
def increment_login_attempts(self):
self.login_attempts += 1
print('Total '+str(self.login_attempts)+' logins')
return self.login_attempts
def reset_login_attempts(self):
self.login_attempts = 0
print('Number of logins is clear!'+'Total '+str(self.login_attempts)+' logins')
return self.login_attempts
class Privileges():
def __init__(self,privileges):
self.privileges = ['can add post', 'can delete post', 'can ban user']
def show_privileges(self):
print("Admin permission : ")
for privilege in self.privileges:
print(privilege)
class Admin(User):
def __init__(self,first_name,last_name):
super().__init__(first_name,last_name)
self.privileges = Privileges(Admin)
my_admin = Admin('hong','tao')
my_admin.privileges.show_privileges()
код 2
class User(object):
def __init__(self, first_name, last_name, age, phone_number):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.phone_number = phone_number
def describe_user(self):
full_name = self.first_name + " " + self.last_name
print(full_name + " is " + str(
user_one.age) + " years old,and he's phone number is " + user_one.phone_number + ".")
def greet_user(self):
full_name = self.first_name + " " + self.last_name
print("Hello," + full_name + " !")
class Admin(User):
def __init__(self, first_name, last_name, age, phone_number):
super().__init__(first_name, last_name, age, phone_number)
self.privileges = Priviliges()
class Priviliges():
def __init__(self):
self.privileges = ["can add post", "can delete post", "can ban user"]
def show_privileges(self):
print("The power of admin are:")
for privilege in self.privileges:
print(privilege)
# user_one = User('Jackson', 'Yee', 18, '1234567890')
# user_one.describe_user()
# user_one.greet_user()
admin = Admin('Jackson', 'Yee', 18, '1234567890')
admin.privileges.show_privileges()