В Python есть способ найти, какой объект имеет указанный атрибут c? - PullRequest
1 голос
/ 09 июля 2020

Например, если у меня есть:

class person:
    def __init__(self, name, age, address=None):
        self.name = name
        self.age = age
        self.address = address

person1 = person("Julie", 32)
person2 = person("Jack", 41)
person3 = person("John", 28)

, я хочу узнать, какому человеку 32 года. Есть ли способ сделать это?

Ответы [ 2 ]

4 голосов
/ 09 июля 2020

Есть ли какие-то особые требования? В противном случае, почему бы просто не l oop получить человека?

persons = [person1, person2, person3]
results = []

for p in persons:
    if p.age == 32:
        results.append(p)

for p in results:
    print(p.name, p.age)

Вывод:

Julie 32
0 голосов
/ 09 июля 2020

В Python (по умолчанию) переменные класса publi c. Итак, чтобы найти возраст человека 32. Следуйте Кодексу Кристофера. Это отвечает на ваш вопрос

Частный модификатор в Python

# program to illustrate private access modifier in a class 
  
class Student: 
     
     # private members 
     __name = None
     __roll = None
     __branch = None
  
     # constructor 
     def __init__(self, name, roll, branch):   
          self.__name = name 
          self.__roll = roll 
          self.__branch = branch 

Защищенный модификатор в Python

# program to illustrate protected access modifier in a class 
class Student: 
     
     # protected data members 
     _name = None
     _roll = None
     _branch = None
     
     # constructor 
     def __init__(self, name, roll, branch):   
          self._name = name 
          self._roll = roll 
          self._branch = branch 
     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...