Я новичок в Python, но в java у вас обычно есть этот импорт, показывающий, откуда именно берутся объекты. Например, приведенный ниже оператор импорта сообщает мне, что объект SpringBootApplication поступает непосредственно из класса Spring Boot, и я могу погрузиться в класс, чтобы прочитать весь код его метода:
import org.springframework.boot.autoconfigure.SpringBootApplication;
Теперь я смотрю на библиотеку zipline в python:
https://github.com/quantopian/zipline
Это из их примера кода на главной странице их репозитория github:
from zipline.api import (
history,
order_target,
record,
symbol,
)
Итак, я просматриваю папку zipline, чтобы увидеть, есть ли файл API, из которого импортируются методы history, order_target, record, symbol
, поскольку я хочу прочитать базовый код, который управляет этими методами.
Код мало что мне говорит (https://github.com/quantopian/zipline/blob/master/zipline/api.py):
from .finance.asset_restrictions import (
Restriction,
StaticRestrictions,
HistoricalRestrictions,
RESTRICTION_STATES,
)
from .finance import commission, execution, slippage, cancel_policy
from .finance.cancel_policy import (
NeverCancel,
EODCancel
)
from .finance.slippage import (
FixedSlippage,
VolumeShareSlippage,
)
from .utils import math_utils, events
from .utils.events import (
date_rules,
time_rules
)
__all__ = [
'EODCancel',
'FixedSlippage',
'NeverCancel',
'VolumeShareSlippage',
'Restriction',
'StaticRestrictions',
'HistoricalRestrictions',
'RESTRICTION_STATES',
'cancel_policy',
'commission',
'date_rules',
'events',
'execution',
'math_utils',
'slippage',
'time_rules'
]
Однако есть файл с именем api.pyi
, который, кажется, содержит некоторый текст о том, что делают интересующие меня методы (https://github.com/quantopian/zipline/blob/master/zipline/api.pyi). Например, с методом record
он говорит:
def record(*args, **kwargs):
"""Track and record values each day.
Parameters
----------
**kwargs
The names and values to record.
Notes
-----
These values will appear in the performance packets and the performance
dataframe passed to ``analyze`` and returned from
:func:`~zipline.run_algorithm`.
"""
Я подумал, что, возможно, код находится в zipline.run_algorithm
, а также искал файл zipline/run_algorithm
, но не смог найти его в репозитории.
Где хранится код этих методов в python? Я просто хочу прочитать код, чтобы лучше понять, как он работает.
import test
, тоtest.__file__
даст вам каталог, в котором существует модульtest
. То же самое для пакетов и всех других объектов, все они имеют соответствующие встроенные атрибуты, которые предоставляют некоторую информацию об этом объекте,dir(object)
возвращает много деталей. - person direprobs   schedule 16.04.2017