Python基本機能05(P〜R)

Pythonインタープリターには、常に使用可能な多くの組み込み関数とタイプがあります。ここでは、アルファベット順にリストされています。

組み込み関数 組み込み関数
捕虜() print()
property() 範囲()
repr() reverse()
円形()

pow(base、exp [、mod])

底をべき指数に戻します; MODが存在する場合は、底EXPに戻り、EXP、mod MODを累乗します(計算より効率的)。2パラメータ形式は、べき乗演算子:を使用するのと同じです。pow(base、exp)%modpow(base、exp)base ** exp

パラメータには数値タイプが必要です。混合オペランドタイプの場合、2項算術演算子の必須ルールが適用されます。intオペランドの場合、2番目のパラメーターが負でない限り、結果は(強制後の)オペランドと同じ型になります。それ以外の場合、結果はオペランドと同じです。この場合、すべてのパラメーターが浮動小数点に変換され、浮動小数点の結果が渡されます。たとえば、10 2100を返しますが、10 -2は0.01を返します。

baseおよびexpintオペランドの場合、modが存在する場合、modも整数型でなければならず、modはゼロ以外でなければなりません。modが存在し、expが負の場合、baseはmodに対して素数でなければなりません。この場合、inv_baseを返すことは、ベースmodの逆数です。pow(inv_base、-exp、mod)

これは、38モジュラス97の逆数を計算する例です。

>>>
>>> pow(38, -1, mod=97)
23
>>> 23 * 38 % 97 == 1
True

バージョン3.8で変更:intオペランドの場合、powの現在の3パラメーター形式では、2番目のパラメーターを負にすることができ、モジュラー反転の計算が可能です。

バージョン3.8で変更:キーワードパラメータを許可します。以前は、定位置パラメーターのみがサポートされていました。

print(*オブジェクト、sep = ''、end = '\ n'、file = sys.stdout、flush = False)

オブジェクトをテキストストリームファイルに出力し、sepで区切り、次にendで区切ります。sep、end、file、およびflush(存在する場合)は、キーワード引数として指定する必要があります。

すべての非キーワードパラメータは、dosのように文字列str()に変換され、ストリームに書き込まれ、sepとendで区切られます。9月も最後も文字列でなければなりません。Noneにすることもできます。つまり、デフォルト値を使用します。オブジェクトが指定されていない場合、print()はendのみを書き込みます。

fileパラメータは、オブジェクトの書き込み(文字列)メソッドに関連付けられている必要があります。存在しないかNoneの場合、sys.stdoutが使用されます。印刷されたパラメータはテキスト文字列に変換されるため、print()はバイナリモードのファイルオブジェクトでは使用できません。これらについては、代わりにfile.write(...)を使用してください。

出力がバッファリングされるかどうかは通常ファイルによって決定されますが、flushキーワードパラメータがtrueの場合、ストリームは強制的に更新されます。

バージョン3.3で変更:flushキーワードパラメータが追加されました。

クラスプロパティ(fget =なし、fset =なし、fdel =なし、doc =なし)

プロパティ属性を返します。

fgetは、属性値を取得するために使用される関数です。fsetは属性値を設定するための関数です。fdelは属性値を削除するための関数です。そして、ドキュメント作成属性のドキュメント文字列。

一般的な使用法は、管理プロパティxを定義することです。

class C:
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x

    def setx(self, value):
        self._x = value

    def delx(self):
        del self._x

    x = property(getx, setx, delx, "I'm the 'x' property.")

cがCのインスタンスである場合、cxはgetterを呼び出し、setterおよびdeleterが呼び出されます。cx = valuedel cx

指定された場合、docは属性attributeのdocstringになります。それ以外の場合、この属性は、fgetのドキュメント文字列が存在する場合はそれをコピーします。これにより、読み取り専用のプロパティ()を装飾として簡単に作成できます。

class Parrot:
    def __init__(self):
        self._voltage = 100000

    @property
    def voltage(self):
        """Get the current voltage."""
        return self._voltage

@property装飾のvoltage()メソッドは、同じ名前の読み取り専用プロパティで「suck」になり、ドキュメント文字列の電圧を「現在の電圧を取得」に設定します。

属性オブジェクトには、デコレータとして使用できるgetter、setter、およびdeleterメソッドがあり、これらのメソッドは属性のコピーを作成し、対応するアクセサ関数を修飾された関数として設定します。それは例で最もよく説明されます:

class C:
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x

このコードは最初の例とまったく同じです。追加の関数には必ず元の属性と同じ名前を付けてください(この場合はx)。

返される属性オブジェクトには、属性fget、fset、fdelに対応するコンストラクターのパラメーターもあります。

バージョン3.5で変更:属性オブジェクトのドキュメント文字列を書き込むことができるようになりました。

クラス範囲(ストップ)

クラス範囲(開始、停止[、ステップ])

実際、範囲は不変のシーケンス型であり、関数ではなく、範囲とシーケンス型(リスト、タプル、範囲)で説明されています。

repr(オブジェクト)

オブジェクトの印刷可能な表現を含む文字列を返します。多くの型の場合、この関数は文字列を返し、同じ値のオブジェクトをeval()に渡します。それ以外の場合は、山かっこで囲まれた文字列を意味し、型オブジェクトの名前と追加情報が含まれます通常、オブジェクトの名前とアドレスが含まれます。クラスは、repr __()メソッドを定義することにより、この関数がインスタンスに対して返すものを制御できます。

反転(seq)

逆反復子を返します。seqは、逆の__()メソッドを持つオブジェクト、またはシーケンスプロトコルをサポートするオブジェクト(len __()メソッドおよび0から始まる整数パラメーターを持つgetitem __()メソッド)である必要があります

丸め(数値[、n桁])

逆反復子を返します。seqは、逆の__()メソッドを持つオブジェクト、またはシーケンスプロトコルをサポートするオブジェクト(len __()メソッドおよび0から始まる整数パラメーターを持つgetitem __()メソッド)である必要があります

丸め()をサポートする組み込み型の場合、値をndigitの最も近い10の倍数に丸めます。2つの倍数が等しい場合は、偶数を丸めます(たとえば、丸め(0.5)と丸め(-0.5)。どちらも0で、丸め(1.5)は2)です。ndigitには任意の整数が有効です(正、ゼロ、または負)。ndigitが省略されているかどうか、戻り値は整数です。それ以外の場合、戻り値の型は数値と同じです。

一般的なPythonオブジェクト番号の場合、ポーリングをnumber._round__に委任します。

浮動小数点数に対するround()の動作は意外な場合があることに注意してください。たとえば、round(2.675、2)は、期待される2.68ではなく2.67を返します。これは間違いではありません。これは、ほとんどの小数部分を浮動小数点数として正確に表すことができないという事実の結果です。詳しくは、浮動小数点演算:問題と制限を参照してください。

元の記事を36件公開しました 賞賛されました0 アクセス数614

おすすめ

転載: blog.csdn.net/Corollary/article/details/105424899