Python3.x базовые учебно-статические методы и методы класса

Статические методы и методы класса

 

Методы экземпляра / методы объекта Методы экземпляра, или методы объекта, относятся к методам, которые мы
можем использовать только после того, как были созданы экземпляры обычных методов, определенных в классе . Первый формальный параметр этого метода должен получить сам объект

Статический метод

1 Формат: добавьте @staticmethod в метод
2. Параметры: статические методы могут иметь параметры или не иметь параметров
3. Сценарии приложения: обычно используются для объекта класса и экземпляра, независимого от объекта кода
4. Использование: имя класса. Имя статического метода ( Или имя объекта. Статическое имя метода)

класс Dog: 
    @property 
    DEF EAT (Self):
         Печать ( " едят кости " ) 

# Dog.eat () # обычный метод может быть вызван только объекты , как использовать 
Dog = Dog () 
dog.eat 

# едят кости

 

# Статические методы не могут быть использованы в любом классе или экземпляр свойства и методы 
класса игре: 
    @staticmethod 
    DEF show_menu (х-):
         Печать (Х-)
         Печать ( « кнопка 1 начать » )
         Печать ( « кнопка паузы 2 » )
         Печать ( " Конец кнопка 3 " ) 

# G = Игра () 
# g.show_menu () 
Game.show_menu (2 ) 

# 2 
# кнопка запуска 1 
# кнопка паузы 2 
# конец кнопка 3

 


Метод класса

Не нужно создавать экземпляр, вы можете напрямую вызвать метод через класс, но первый параметр метода должен взять на себя сам класс
1. Добавьте @classmethod к
методу 2. Параметр метода - cls или другие имена, но по умолчанию, как правило, cls
3.cls указывает на объекты класса
4. Сценарий приложения: когда метод включает только статические свойства, вы можете использовать методы класса (методы класса используются для изменения свойств класса)
5. Use может быть именем объекта. Имя метода класса. Или имя класса. Имя метода класса

класс Человек: 
    Роль = « человек » 
    @classmethod 
    DEF Test (ЦБС):          # Первый аргумент должен быть текущий класс объектов, свойства и методы, передавая его класс CLS (атрибуты и методы не могут передать экземпляр) 
        Print (cls.role)
         Печать ( " ---- ---- в Test " )
 # Person.test () 

p1 = лицо ( лица ) 
p1.test () 

# человек 
# ---- ---- в тесте

 

рекомендация

отwww.cnblogs.com/johnsonbug/p/12709965.html