Python第2課-共有コード(関数、モジュール)


最初のモジュールファイル:
nester.py

'''   :nester
        :print_lol                   '''

def print_lol(the_list, level=0, d='\t'): #         ,      
    '''  print_lol,                        
      the_list,         
      level,    ,      ,    0
      d,     ,      ,       '''

    for each_item in the_list:
        if isinstance(each_item, list):
            print_lol(each_item, level+1) #         ,    +1
        else:
            for tab_stop in range(level): #range()   BIF        
                print(d, end = '')
        print(each_item)

シュレッダー:関数が戻り値を指定しない場合、デフォルトreturn(None)
モジュールにパブリケーションを作成します.
1、新規'nester'フォルダ
2、新規作成py'、パブリッシュ用

from distutils.core import setup

setup(name = 'nester' #   
version = '1.0.0' #   
py_modules = ['nester'] #    
author = 'pythonmap'
author_email = '[email protected]'
url = 'pythonmap.iteye.com'
description = 'A simple printer of nested lists')

3、このdistributionを構築する:
端末に入力:python setup.py sdist
4、distributionのインストール:
端末に入力:python setup.py install
5、リリース後のnesterフォルダ構造の変化を見る
6、配布後に他のモジュールに導入して使用できる

import nester

nesterモジュールを変更し、新しいバージョンのAPIを再発行

'''   :nester
        :print_lol                   '''

def print_lol(the_list, level=0, d='\t', indent=False): #         ,      
    '''  print_lol,                        
      the_list,         
      level,    ,      ,    0
      d,     ,      ,       
      indent,       ,        ,    '''

    for each_item in the_list:
        if isinstance(each_item, list):
            print_lol(each_item, level+1) #         ,    +1
        else:
            if indent: #       indent   True,      
                for tab_stop in range(level): #range()   BIF        
                    print(d, end = '')
        print(each_item)

setupを変更します.py: version = 1.2.0
再発行:端末にpython setupと入力.py sdisk
再インストール:端末にpython setupと入力.py install
(再インストールが必要かどうかはよくわかりませんが、上級者が教えてくれました)