пакет
- Упаковка является одной из главных особенностей объектно-ориентированного программирования
- Объектно-ориентированное программирование на первом этапе - в атрибуты и методы , упакованные в абстрактный класс в
- Внешний мир , используя класс для создания объекта , а затем пусть методы объекта вызовов
- Детали методы объекта являются инкапсулированными в интерьере класса
Объект атрибута может быть другой класс объекта создается
01. Солдаты нападение
спрос
- Солдаты Сандо имеет АК47
- Солдаты могут стрелять
- Пистолет способен запускать пулю
- Пушка нагрузки загрузка пули - увеличить количество пуль
1,1 GUN развития
shoot
Методы требуют
- 1>, чтобы определить, есть ли пули, ни пуля не может стрелять
- 2> использование
print
советы съемки, и выводит количество пуль
Gun Класс: DEF метод __init __ (Self, модель): # пистолет модель self.model = модель номер # пуля self.bullet_count = 0 DEF add_bullet (Self, COUNT): self.bullet_count = COUNT + DEF стрелять (Self): # Анализ Существуют ли пули , если self.bullet_count <= 0: Print ( "нет пуль ...") возвращение # пуля излучающих . self.bullet_count - = 1 Print ( "% S стрельбы пули [% d] ..." % (self.model, self.bullet_count)) # создать объекты пистолет AK47 = пистолет ( "AK47") ak47.add_bullet (50) ak47.shoot ()
1.2 Разработка классов солдат
Предположения: Каждые новобранцы не имеют никакого оружия
Атрибут определяются без какого-либо начального значения
При определении атрибутов, если ничего не знает установки начального значения , он может быть установлен в None
None
Ключевое слово не представляет ничего- Обозначает нулевой объект , нет методов и свойств, является специальной константой
- Вы можете быть
None
отнесены к любой переменной
fire
Методы требуют
- 1> не определяется ли пистолет, пистолет не может не заряд
- 2> выкрикивают лозунги
- 3> пули загрузки
- 4> Стрелялки
Класс Солдат: DEF __init __ (Self, имя): # Имя self.name = имя # пушки, ни пушки Без солдат начальное ключевое слово указывает , ничего self.gun = None DEF Огонь (Self): # 1. определить , является ли солдат пистолет IF self.gun IS нет: печать ( "[% S] не пистолет ..." % self.name) вернуться # 2. выкрикивая лозунги печати ( "Charge ... [% S]" % уверенности . имя) # 3. пусть заряженное ружье пули self.gun.add_bullet (50) # 4. пусть пистолет выстрелил пуль self.gun.shoot ()
резюме
- Создание класса солдат , использовать
__init__
встроенный метод - При определении атрибутов, если ничего не знает установки начального значения , он может быть установлен в
None
- В пакете внутренних методов, вы также можете сделать свои собственные объекты , созданные с помощью других классов свойств вызовов были метод упаковывают
Оператор 02. идентичности
Оператор идентификации используется для сравнить два объекта адреса памяти одинаковы - будь то ссылка на тот же объект
- В
Python
ДляNone
сравнения, рекомендуется использоватьis
решение
операторы | описание | примеров |
---|---|---|
является | определяются два идентификаторов не ссылаться на один и тот же объект | х у, 类似 идентификатор (х) == Идентификатор (у) |
не является | определяются не два идентификатора не относится к различным объектам | х не у, 类似 идентификатор (а)! = идентификатор (б) |
== разница между:
is
Для определения двух переменных относятся к тому же объект является ли==
для определения значения контрольных переменного равен
>>> а = [1, 2, 3] >>> б = [1, 2, 3] >>> б является Ложные >>> б == Правда