メモ整理------python(2)

2546 ワード

1、lambda式匿名関数を作成し、関数オブジェクトを返す
g=lambda x:x**2
上記の文は匿名関数を確立してgに関数オブジェクトを返し、パラメータはxであり、関数の戻り値はxの平方である.
2、reduce(関数、リスト、初期化器)は、リスト上の各要素に関数を作用させる.この関数には2つのパラメータが必要です.最初にリストの最初の2つの要素を選択してこの関数を実行した後、毎回1つの値を取り、前回計算した値と再びパラメータとしてこの関数に渡してから、最後の要素まで実行します.リストに要素が1つしかない場合は、その要素を直接返します.3番目のパラメータ初期化器がNONEでない場合、このパラメータの値とリストの最初の値を最初の計算として下向きに開始します.
reduce(function, iterable[, initializer]) 
Apply function of two arguments cumulatively to the items of iterable, from left to right, so as to reduce the iterable to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). The left argument, x, is the accumulated value and the right argument, y, is the update value from the iterable. If the optional initializer is present, it is placed before the items of the iterable in the calculation, and serves as a default when the iterable is empty. If initializer is not given and iterable contains only one item, the first item is returned. Roughly equivalent to:

def reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
        try:
            initializer = next(it)
        except StopIteration:
            raise TypeError('reduce() of empty sequence with no initial value')
    accum_value = initializer
    for x in it:
        accum_value = function(accum_value, x)
    return accum_value

上は英語のドキュメントで、はっきり書いてあります.
3、一般的に、モジュールを作成してプログラムとして実行する場合、このときのネーミングスペースはmainであり、モジュールのインポートだけであれば、このモジュールのネーミングスペースはPyファイルを保存するファイル名である.
これにより、テストコードもモジュール内に書きます.次のコードを付ける
def ceshi():
        print "fdsfs"

if __name__ == '__main__':
        ceshi()

このモジュールを解釈器で直接実行する場合、現在のメインプログラムがこのモジュールの内容を呼び出していることを示すので、ceshiという関数が直接実行されます.Import ceshiであれば、彼のネーミングスペースはceshiであり、実行されません.
if __name__ == '__main__':
        ceshi()

4、複数の個別モジュールが配置されたpyファイルのフォルダの下に__を作成するinit__.pyのファイル、すなわちこのファイルはパッケージ構造になります.
5、importモジュール名as別名で、インポートしたモジュールに個別の名前を付けることができ、呼び出しが容易になります.
6、capitalize()文字列の頭文字を大文字にする
7、replace(old,new,x)これは文字列関数で、oldをnewで置き換え、xは置き換え回数を表す.
8、filter(関数、シーケンス)、この関数の役割は、シーケンスの各要素をこの関数に順次送り込み、この関数が真の値を返す場合は、この要素を残し、そうでない場合はフィルタリングすることです.この関数が指定されず、単純なfilter(シーケンス)であれば、シーケンス内の値が偽の要素であることがフィルタされます.フィルタはフィルタされたリストを返します.
9、
a = zip([1,2,3], [4,5,6])
print a
zipは、各リストに対応する要素を1つのメタグループに構成し、メタグループを要素とするリストを返します.リストの長さが異なる場合、最短のリストを基準として遍歴します.