| English | 日本語 |
Jupyter Notebook で作成した一連の処理を簡単に関数化できるライブラリnbtofを作成しました. #@~
マークを Notebook に記述するだけで対応した関数が取得できます. 例えば, 以下の sample.ipynb を関数化したいときは
sample.ipynb
#@param
a = 1
b = 1
c = a + b
#@return
c
下記を実行することで関数化された sample.py を取得することができます.
import nbtof
nbtof.nbtof_generate(
notebook_name='sample.ipynb',
func_py_name='sample.py',
)
sample.py
def sample(a, b):
c = a + b
return c
PyPI から下記でインストールできます.
$ pip install nbtof
マーク | 説明 |
---|---|
#@param |
セル内の変数名は関数の引数になります. Jupyter Notebook内で割り当てられた値は無視されます. |
#@default |
セル内の変数名は関数の引数になります. Jupyter Notebook内で割り当てられた値はデフォルト値になります. |
#@args |
セル内の変数名が関数の可変長引数 *args の名前になります. Jupyter Notebook内で割り当てられた値は無視されます. |
#@kwargs |
セル内の変数名が関数の可変長引数 **kwargs の名前になります. Jupyter Notebook内で割り当てられた値は無視されます. |
#@return |
このマークの次の行が関数の戻り値になります. |
#@ignore |
このマークがついたセル内の記述は無視されます. |
#@help |
セル内の内容は Docstring になります. |
#@advance |
セル内の記述は関数の宣言前に直接記述されます. (例: インポート等に利用してください) |
#@r_advance |
セル内の # が記述された行は関数の宣言前に # が外されて記述されます. (例: 相対インポート等に利用してください) |
Jupyter Notebook
sample_param.ipynb
#@param
a = 0
print("Hello World !")
は以下に変換されます.
def sample_param(a):
print('Hello world !')
Jupyter Notebook
sample_default.ipynb
#@default
a = 0
print("Hello World !")
は以下に変換されます.
def sample_default(a=0):
print('Hello world !')
Jupyter Notebook
sample_args.ipynb
#@args
a = 0
print("Hello World !")
は以下に変換されます.
def sample_args(*a):
print('Hello world !')
Jupyter Notebook
sample_kwargs.ipynb
#@kwargs
a = 0
print("Hello World !")
は以下に変換されます.
def sample_kwargs(**a):
print('Hello world !')
Jupyter Notebook
sample_return.ipynb
#@return
a = 0
if a == 0:
#@return
True
else:
#@return
False
は以下に変換されます.
def sample_return(a):
if a == 0:
return True
else:
return False
Jupyter Notebook
sample_ignore.ipynb
#@ignore
1 + 1
print('Hello world !')
は以下に変換されます.
def sample_ignore():
print('Hello world !')
Jupyter Notebook
sample_help.ipynb
#@help
"""
This function outputs "Hello world !" sentence.
Parameters
----------
Returns
-------
"""
print('Hello world !')
は以下に変換されます.
def sample_help():
"""
This function outputs "Hello world !" sentence.
Parameters
----------
Returns
-------
"""
print('Hello world !')
Jupyter Notebook
sample_advance.ipynb
#@advance
import os
import sys
#@advance
def func():
print(os.getcwd())
print(sys.prefix)
print("Hello world !")
func()
は以下に変換されます.
import os
import sys
def func():
print(os.getcwd())
print(sys.prefix)
print('Hello world !')
def sample_advance():
func()
Jupyter Notebook
sample_r_advance.ipynb
#@r_advance
#from . import foo
#from . import bar
print("Hello world !")
は以下に変換されます.
from . import foo
from . import bar
def sample_r_advance():
print('Hello world !')