Перевел часть текста (#24323)
This commit is contained in:
@ -28,21 +28,26 @@ class ClassName:
|
|||||||
В ссылках атрибутов используется стандартный синтаксис, используемый для всех ссылок на атрибуты в Python: `obj.name`.
|
В ссылках атрибутов используется стандартный синтаксис, используемый для всех ссылок на атрибуты в Python: `obj.name`.
|
||||||
Допустимые имена атрибутов - это все имена, которые были в пространстве имен класса при создании объекта класса.
|
Допустимые имена атрибутов - это все имена, которые были в пространстве имен класса при создании объекта класса.
|
||||||
Итак, если определение класса выглядит так:
|
Итак, если определение класса выглядит так:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
class MyClass:
|
class MyClass:
|
||||||
""" A simple example class """
|
""" A simple example class """
|
||||||
i = 12345
|
i = 12345
|
||||||
|
|
||||||
|
|
||||||
def f(self):
|
def f(self):
|
||||||
return 'hello world'
|
return 'hello world'
|
||||||
```
|
```
|
||||||
|
|
||||||
Тогда `MyClass.i` и `MyClass.f` являются допустимыми ссылками на атрибуты, возвращая целое число и объект функции соответственно.
|
Тогда `MyClass.i` и `MyClass.f` являются допустимыми ссылками на атрибуты, возвращая целое число и объект функции соответственно.
|
||||||
Атрибуты класса также могут быть присвоены, поэтому вы можете изменить значение `MyClass.i` путем присваивания. `__doc__` также является допустимым атрибутом, возвращая docstring, принадлежащую классу: `Простой пример класса" `.
|
Атрибуты класса также могут быть присвоены, поэтому вы можете изменить значение `MyClass.i` путем присваивания. `__doc__` также является допустимым атрибутом, возвращая docstring, принадлежащую классу: `Простой пример класса" `.
|
||||||
|
|
||||||
Для создания экземпляра класса используется нотация функций. Просто представьте, что объект класса является функцией без параметров, которая возвращает новый экземпляр класса. Например (при условии, что указанный класс):
|
Для создания экземпляра класса используется нотация функций. Просто представьте, что объект класса является функцией без параметров, которая возвращает новый экземпляр класса. Например (при условии, что указанный класс):
|
||||||
|
|
||||||
```python
|
```python
|
||||||
x = MyClass()
|
x = MyClass()
|
||||||
```
|
```
|
||||||
|
|
||||||
Создает новый экземпляр класса и назначает этот объект локальной переменной x.
|
Создает новый экземпляр класса и назначает этот объект локальной переменной x.
|
||||||
|
|
||||||
Операция создания экземпляра («вызов» объекта класса) создает пустой объект.
|
Операция создания экземпляра («вызов» объекта класса) создает пустой объект.
|
||||||
@ -52,13 +57,17 @@ x = MyClass()
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.data = []
|
self.data = []
|
||||||
```
|
```
|
||||||
|
|
||||||
Если класс определяет метод `__init __ ()`, то экземпляр класса автоматически вызывает `__init __ ()` для вновь созданного экземпляра класса.
|
Если класс определяет метод `__init __ ()`, то экземпляр класса автоматически вызывает `__init __ ()` для вновь созданного экземпляра класса.
|
||||||
Таким образом, в этом примере новый, инициализированный экземпляр может быть получен:
|
Таким образом, в этом примере новый, инициализированный экземпляр может быть получен:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
x = MyClass()
|
x = MyClass()
|
||||||
```
|
```
|
||||||
|
|
||||||
Конечно, метод `__init __ ()` может иметь аргументы для большей гибкости.
|
Конечно, метод `__init __ ()` может иметь аргументы для большей гибкости.
|
||||||
В этом случае аргументы, заданные оператору экземпляра класса, передаются в `__init __ ()`. Например,
|
В этом случае аргументы, заданные оператору экземпляра класса, передаются в `__init __ ()`. Например,
|
||||||
|
|
||||||
```python
|
```python
|
||||||
class Complex:
|
class Complex:
|
||||||
def __init__(self, realpart, imagpart):
|
def __init__(self, realpart, imagpart):
|
||||||
|
Reference in New Issue
Block a user