Вопросы класса относительно методов - PullRequest
0 голосов
/ 19 апреля 2020

Вот классы, которые я не понимаю:

class Person():
  def __init__(self,name,age):
    self.name = name
    self.age = age
  def introduceSelf(self):
    print("Hi, My name is" + self.name +"and i am " + self.age + "years old")


class Police(Person):
  def arrest(self, toArrest):
      print("you are arrested," + toArrest)


Jenny = Police("Jenny",20)
Micheal = Person("Micheal",72)

Jenny.arrest("Micheal")

В методе __init__ есть два аргумента, и мне пришлось определить переменные как self.name = name и self.age = age. Но в методе arrest он все еще работает, хотя я не упомянул self..

. Насколько я понял, я подумал, что мне нужно соединить любые переменные (или аргументы) в методе с self.. Что я неправильно понял?

1 Ответ

0 голосов
/ 19 апреля 2020

Но в методе ареста он все еще работает, хотя я и не упомянул себя.

да, экземпляр не используется в арест , поэтому может быть методом stati c, в любом случае использовать экземпляр non-stati c method

необязательно, но если вы хотите указать, кто арестует, вы будете использовать self :

def arrest(self, toArrest):
   print(self.name + " arrests " + toArrest)

Можем ли мы предположить, что toArrest также Человек ? в этом случае:

def arrest(self, toArrest):
   print(self.name + " arrests " + toArrest.name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...