[비망록] docstring에서 자동으로'미 문서'를 생성합니다.
할 일
docstring (numby 스타일) 으로 자동 함수 같은 문서를 생성합니다.
왜?
계속하다
복습
필요한 것만 모으고 자세한 내용은 여기.을 참고하세요.
docstring은class나 함수의 바로 아래에서 ""로 시작하고 "로 끝납니다.
class의 예
class Tag(object):
"""
各属性値やヘルパー関数を保持する
Attributes
----------
id : int
対象のマスタID
name : str
名前
price_dict : dict
キーに地域のID、値に該当する地域での値段を保持した辞書.
"""
def __init__(self, id):
"""
Parameters
----------
id : int
対象のマスタID.
"""
self.id = id
self.name = self.get_name(id=id)
self.price_dict = self.get_price_dict(id=id)
def get_name(self, id):
# ...内容省略.
pass
def get_price_dict(self, id):
# ...内容省略.
pass
함수 예
def dfma_buy_function(period=25, buy_threshold=-1, method="simple", __ops = lambda a,b: a < b, target_column = "close_price_adj"):
'''
dfma:移動平均線乖離率分析 #ここに概要
詳細な説明:指定した割合よりも平均線から乖離したら買いシグナルを出します.
Parameters
----------
period : int
どの期間の移動平均を取るか
buy_threshold : float
どれ位平均線から下回ったら買うかの境界,割合 ex. -2 = 2%下回っている
method : string
どの平均を用いるかexpo:指数平滑平均,simple:単純移動平均,weighted:加重平均(デフォルトは単純)
__ops : function
どの比較演算子を用いるかlambdaで受けとる, >:より大きい, >=:以上, ==:等価, <=:以下, <:より小さい
target_column : string
利用する価格データのcolumn(default: close_price_adj)
Returns
----------
emitter_function: func
(この指標における計算された値と売買の閾値の"DFMA:g","buy:sig")を返す関数を返す
'''
#(内容省略)
return _my_signal
Sphinx의 준비.
이번에는 OSX, conda의 가상 환경에 설치되었습니다.
(docstring) mac:~ User$ conda install Sphinx
대상 디렉토리 구조
VisualCoding
|- docs #ページを編集するためのファイルとかある
|- maron-signalfunc #ドキュメントを作りたいモジュールファイルとかある
| |- dfma.py
| |- rsi.py
| |-...
|- html #htmlファイルが書き込まれる
개시하다
첫 번째 디렉토리 구성
처음부터 docs,} 디렉터리를 만들 수도 있습니다(중신공)
VisualCoding
|- maron-signalfunc #ドキュメントを作りたいモジュールファイルとかある
.rst 파일 등의 제작
페이지를 편집합니다.rst 파일을 doc 디렉터리로 만듭니다.
(docstring) mac:VisualCoding User$ sphinx-apidoc -F -o ./docs ./maron-signalfunc
실행 후 파일 구성VisualCoding
|- docs #ページを編集するためのファイルとかある
| |- modules.rst #moduleの追加削除したらこれを編集する
| |- index.rst #トップページの編集をする
| |- conf.py #ドキュメントのテーマとかAuthorの設定が出来る
| |-...
|- maron-signalfunc #ドキュメントを作りたいモジュールファイルとかある
서류 제작
conf.py를 설정합니다.
conf.py
#...(中略)
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# 以下三行のコメントアウト(#)を外す
import os
import sys
sys.path.insert(0, '/User依存の所/VisualCoding/maron-signalfunc')
# -- Project information -----------------------------------------------------
# project名とかイキった名前を付ける.
project = 'maron-signalfunc'
copyright = '2019, Author'
author = 'Author'
# The short X.Y version
version = ''
# The full version, including alpha/beta/rc tags
release = ''
#(中略)...
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
# ここでテーマを変えられるデフォはalabasterだがsphinx_rtd_themeの方が好き
html_theme = 'sphinx_rtd_theme'
#(中略)...
html 디렉터리에 파일 생성(docstring) mac:VisualCoding User$ sphinx-build -a ./docs ./html
실행 후 파일 구성VisualCoding
|- docs #ページを編集するためのファイルとかある
|- maron-signalfunc #ドキュメントを作りたいモジュールファイルとかある
|- html
|- index.html #メインページ?開くと綺麗にできてるはず.
|- ...
완성dfma.열어봐.
느낌 좋다
부록: Sphinx 명령 옵션
인용여기..
sphinx-apidoc
옵션
액션
-F
full로 생성합니다.rst 파일만 생성하도록 지정하지 않습니다.
-f
내보낼 때 덮어씁니다.
-o
출력 대상 지정
-H
프로젝트 이름을 지정합니다.
-A
author를 지정합니다.
-V
version을 지정합니다.
sphinx-build
옵션
액션
-b
구조기(≈ 출력 형식)를 지정합니다.기본적으로, xml, latex 등을 지정할 수 있습니다.
-a
모든 출력 파일을 작성합니다.이 옵션을 추가하지 않으면 수정된 원본 파일과 연결된 새 출력 파일만 출력합니다.
참고 자료
아래 사이트를 참고하도록 허락해 주십시오.
Reference
이 문제에 관하여([비망록] docstring에서 자동으로'미 문서'를 생성합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Ric418/items/bc02e47395b971b754a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)