Я новичок в OOP
в Python
, и мне нравится, как это работает. Так что я много экспериментирую с этим. Я пытаюсь создать Freelancer class
, который позволяет пользователям регистрироваться на платформе с username
, но проверяет, что username
не существует в базе данных.
Вот мой рабочий подход:
class Freelancer:
"""Leaving this blank for now while I explore the functionality """
number_of_sales = 0
available_niches = ["Graphic design", "Art", "Data Analysis", "Music", "Business", "Writing and Translations"]
usernames = []
def __init__(self, username):
self.username = _check_username(username)
def _check_username(self, username):
if self.username in Freelancer.usernames:
print("This username already exist on our database, consider choosing another one")
else:
self.username = username
Freelancer.usernames.append(self.username)
print("You have successfully setup a username on our platform")
Тестирование этого класса и метода здесь:
David = Freelancer("dave23")
Дает мне следующую ошибку:
NameError: name '_check_username' is not defined
Я бы хотел, чтобы способ применения private methods
в моем class initialization
. Это возможно?