工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python 関数

Python 関数

この記事では、関数、関数とは何か、構文、コンポーネント、および関数の種類について学習します。また、Python で関数を作成する方法も学びます。

ビデオ:Python 関数の紹介

Python の関数とは?

Python では、関数は特定のタスクを実行する関連ステートメントのグループです。

関数は、プログラムをより小さなモジュラー チャンクに分割するのに役立ちます。私たちのプログラムがどんどん大きくなるにつれて、機能によってプログラムがより整理され、管理しやすくなります。

さらに、繰り返しを回避し、コードを再利用可能にします。

関数の構文

def function_name(parameters):
	"""docstring"""
	statement(s)

上記は、次のコンポーネントで構成される関数定義です。

<オール>
  • キーワード def 関数ヘッダーの開始を示します。
  • 関数を一意に識別する関数名。関数の命名は、Python での識別子の記述規則と同じです。
  • 関数に値を渡すためのパラメータ (引数)。オプションです。
  • 関数ヘッダーの終わりを示すコロン (:)。
  • 関数の機能を説明するオプションのドキュメント文字列 (docstring)。
  • 関数本体を構成する 1 つ以上の有効な Python ステートメント。ステートメントのインデント レベルは同じでなければなりません (通常は 4 つのスペース)。
  • オプションの return 関数から値を返すステートメント
  • 関数の例

    def greet(name):
        """
        This function greets to
        the person passed in as
        a parameter
        """
        print("Hello, " + name + ". Good morning!")

    Python で関数を呼び出す方法

    関数を定義したら、別の関数、プログラム、または Python プロンプトからでも呼び出すことができます。関数を呼び出すには、関数名と適切なパラメーターを入力するだけです。

    >>> greet('Paul')
    Hello, Paul. Good morning!

    関数定義を使用して Python プログラムで上記のコードを実行し、出力を確認してください。

    def greet(name):
        """
        This function greets to
        the person passed in as
        a parameter
        """
        print("Hello, " + name + ". Good morning!")
    
    greet('Paul')

    注意 :Python では、関数定義は常に関数呼び出しの前に存在する必要があります。そうしないと、エラーが発生します。たとえば、

    # function call
    greet('Paul')
    
    # function definition
    def greet(name):
        """
        This function greets to
        the person passed in as
        a parameter
        """
        print("Hello, " + name + ". Good morning!")
    
    # Erro: name 'greet' is not defined

    Docstring

    関数ヘッダーの後の最初の文字列は docstring と呼ばれ、ドキュメント文字列の略です。関数の機能を説明するために簡単に使用されます。

    オプションではありますが、ドキュメンテーションは優れたプログラミング手法です。先週の夕食を思い出せない場合を除き、常にコードを文書化してください。

    上記の例では、関数ヘッダーのすぐ下に docstring があります。通常、docstring を複数行に拡張できるように、三重引用符を使用します。この文字列は __doc__ として利用できます 関数の属性。

    :

    以下を Python シェルで実行して、出力を確認してください。

    >>> print(greet.__doc__)
    
        This function greets to
        the person passed in as
        a parameter

    Python の docstring の詳細については、Python Docstrings をご覧ください。


    return ステートメント

    return ステートメントは、関数を終了し、それが呼び出された場所に戻るために使用されます。

    リターンの構文

    return [expression_list]

    このステートメントには、評価されて値が返される式を含めることができます。ステートメントまたは return に式がない場合 ステートメント自体が関数内に存在しない場合、関数は None を返します オブジェクト。

    例:

    >>> print(greet("May"))
    Hello, May. Good morning!
    None

    ここでは、None greet() 以降の戻り値です 名前を直接出力し、 return は表示しません ステートメントが使用されています。


    返品の例

    def absolute_value(num):
        """This function returns the absolute
        value of the entered number"""
    
        if num >= 0:
            return num
        else:
            return -num
    
    
    print(absolute_value(2))
    
    print(absolute_value(-4))

    出力

    2
    4

    関数は Python でどのように機能しますか?

    <図>

    変数のスコープと有効期間

    変数のスコープは、変数が認識されるプログラムの部分です。関数内で定義されたパラメーターと変数は、関数の外からは見えません。したがって、それらにはローカル スコープがあります。

    変数の有効期間は、変数がメモリ内に存在する期間です。関数内の変数の有効期間は、関数が実行される限りです。

    関数から戻ると、それらは破棄されます。したがって、関数は以前の呼び出しからの変数の値を覚えていません。

    関数内の変数のスコープを示す例を次に示します。

    def my_func():
    	x = 10
    	print("Value inside function:",x)
    
    x = 20
    my_func()
    print("Value outside function:",x)

    出力

    Value inside function: 10
    Value outside function: 20

    ここで、x の値が 最初は20です。関数 my_func() にもかかわらず x の値を変更しました 10 まで、関数外の値には影響しませんでした。

    これは、変数 x 関数の内部は、外部のものとは (関数に対してローカルに) 異なります。名前は同じですが、スコープが異なる 2 つの異なる変数です。

    一方、関数外の変数は内部から見えます。グローバル スコープを持っています。

    関数内からこれらの値を読み取ることはできますが、変更 (書き込み) することはできません。関数の外で変数の値を変更するには、キーワード global を使用してグローバル変数として宣言する必要があります。 .


    関数の種類

    基本的に、関数は次の 2 つのタイプに分けることができます。

    <オール>
  • 組み込み関数 - Python に組み込まれている関数
  • ユーザー定義関数 - ユーザー自身が定義した関数

  • Python

    1. Python 演算子
    2. Python 関数の引数
    3. Python 匿名/Lambda 関数
    4. Python 辞書
    5. Python ジェネレーター
    6. Python クロージャー
    7. Python デコレータ
    8. StratasysInsightで人気のある10の機能
    9. 例を使用した Python 文字列 strip() 関数
    10. 例を含む Python Lambda 関数
    11. 例を使用した Python round() 関数