検索

導入

この関数は、コードの重複を減らし、複雑なタスクを整理することを目的とした命令を含む呼び出し可能なユニットです。 void 関数 (戻り値なし) と値を返す関数の 2 種類があります。

これは Python の関数の基本構造です。

def function_name(args):
    function body

これは、Python の void 関数 (戻り値なし) の例です。

# create a function
def hello():
    print("hello!")

# call the function
hello()

出力

hello!

上記のコードに基づいて、hello() という関数が作成されます。関数名に続けて括弧 () を指定することで関数を呼び出します。

これは戻り値を使用した関数の例です。

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)

出力

6

上記のコードに基づいて、2 つの数値を合計する add() という関数が作成されます。 add() 関数の戻り値は、結果変数内に格納されます。

戻り値関数を使用する場合は、戻り値が使用されていることを確認してください。

引数とキーワード引数

Python の関数は複数の引数を動的に受け取ることができます。関数に複数の引数を実装するには、2 つの方法があります。

  • 引数: 複数の引数は、キーワードを指定せずに関数に実装されます。引数は *args.

  • を使用して実装できます。
  • キーワード引数: 複数の引数は、指定されたキーワードを使用して関数に実装されます。キーワード引数は **kwargs.

  • を使用して実装できます。

引数とキーワード引数は両方とも、関数内の引数定義の最後の位置に配置する必要があります。

これは、数値の合計を動的に計算する引数アプローチを使用した複数の引数の実装の例です。

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))

出力

3
6
24

上記のコードに基づいて、異なる数のパラメータを指定して sum() 関数を呼び出すことができます。

これは、キーワード引数アプローチを使用した複数の引数の実装の例です。

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")

出力

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========

上記のコードに基づいて、display_info() 関数を異なる数のパラメータで呼び出すことができます。 **kwargs を使用すると、パラメータをキーワードで定義できます。

引数とキーワード引数は両方とも一緒に使用できます。これは一例です。

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")

出力

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========

再帰関数

再帰関数は、タスクを完了するときに自分自身を呼び出す関数です。再帰関数は、階乗数、フィボナッチ数列などを含む多くの問題を解決できます。

再帰関数には 2 つの主要なコンポーネントがあります:

  • 基本ケース: 基本ケースは、関数がいつ停止されるかを定義します。
  • 再帰関係: 再帰関係は関数の再帰プロセスを定義します。

この例では、階乗計算は再帰関数を使用して実装されています。

def function_name(args):
    function body

出力

# create a function
def hello():
    print("hello!")

# call the function
hello()

factorial() 関数を詳しく見てみましょう。この関数には 2 つのコンポーネントが関係しています:

  • 基本ケース: n の値が 0 または 1 に等しい場合、関数の実行は終了します。

  • 再帰関係: n の値が 1 より大きい場合に関数が実行されます。

hello!

factorial() 関数を下の図に示します。

Python Tutorial - unction

ラムダ

ラムダは匿名関数です。ラムダには、一般的な関数と同様に、多くの引数を含めることができます。ラムダ関数は、値を直接返す小さな関数の作成に適しています。

これは sum() 関数の例です。

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)

これは、2 つの数値を合計するラムダ関数の例です。ラムダ関数は、sum_func.
という変数内に保存されます。

6

ラムダ関数を使用するには、変数名で関数を呼び出します。

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))

マップとフィルター

マップ機能

map() 関数は、リスト内の各項目に対して提供されたコールバック関数を実行します。

これは、各数値を 3 で乗算する map() 関数の例です。

3
6
24

出力

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")

上記のコードに基づくと、triple() 関数は、map() 関数のコールバックとして機能します。つまり、数値リスト内の項目ごとに Triple() 関数が呼び出されます。次に、map() 関数の結果がリストに変換され、result という変数内に格納されます。

上記の例は、ラムダ関数を使用して簡略化できます。

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========

出力

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")

フィルター機能

filter() 関数は、指定されたコールバック関数に基づいてリスト内の項目を選択します。 filter() 関数は、提供されたコールバック関数を使用してリスト内の項目をフィルター処理するのに適しています。 filter() 関数には、ブール値を返すコールバック関数が必要です。

これは、リスト内の偶数のみを選択する filter() 関数の例です。

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========

出力

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

# call the function
result = factorial(5)

print(result)

上記のコードに基づいて、filter() 関数は is_even() をコールバック関数として使用して、リストから偶数を選択します。

この例は、ラムダ関数を使用して簡略化できます。

120

出力

def function_name(args):
    function body

例 - 重複したコードを削除する

この機能は重複したコードを削除するために使用できます。たとえば、register() と login() という 2 つの関数があります。どちらの関数も検証プロセスを使用しています。

# create a function
def hello():
    print("hello!")

# call the function
hello()

検証プロセスに重複したコードがあります。これらの重複を削除するには、検証プロセスを別の関数でラップします。

hello!

validate() 関数は、register() 関数とlogin() 関数内で使用できます。

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)

上記のコードに基づくと、追加の検証ルールが更新された場合に、検証ルールを 1 か所 (validate() 関数内) で更新できるため、コードはよりクリーンで変更が容易になります。

ヒント

これらは、Python で関数を操作する際の重要なヒントです。

  • 関数は単一のタスクを完了する必要があります。複数のタスクが必要な場合は、他のタスク用に別の関数を作成します。

  • 関数の引数の最大数は 3 です。引数が 3 つを超えると思われる場合は、関数の引数に専用のデータ オブジェクトを使用することを検討してください。

関数の引数の最大数については議論の余地があるようです。

これは、引数を使用した create_account() 関数の例です。

6

create_account() 関数は、よりクリーンなコードのためにデータ オブジェクトを使用するように変更できます。

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
  • ドキュメントを使用して関数の説明を説明します。ドキュメントは「"」構文を使用して追加できます。

これは関数内でドキュメントを使用する例です。

3
6
24

情報源

  • 関数の引数とキーワード引数
  • 再帰関数の図

この記事が Python の学習に役立つことを願っています。ご意見がございましたら、コメント欄にご記入ください。

以上がPython チュートリアル - 関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. C:重要な違​​いを理解しますPython vs. C:重要な違​​いを理解しますApr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

Python vs. C:プロジェクトのためにどの言語を選択しますか?Python vs. C:プロジェクトのためにどの言語を選択しますか?Apr 21, 2025 am 12:17 AM

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

Pythonの目標に到達する:毎日2時間のパワーPythonの目標に到達する:毎日2時間のパワーApr 20, 2025 am 12:21 AM

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。

2時間の最大化:効果的なPython学習戦略2時間の最大化:効果的なPython学習戦略Apr 20, 2025 am 12:20 AM

2時間以内にPythonを効率的に学習する方法は次のとおりです。1。基本的な知識を確認し、Pythonのインストールと基本的な構文に精通していることを確認します。 2。変数、リスト、関数など、Pythonのコア概念を理解します。 3.例を使用して、基本的および高度な使用をマスターします。 4.一般的なエラーとデバッグテクニックを学習します。 5.リストの概念を使用したり、PEP8スタイルガイドに従ったりするなど、パフォーマンスの最適化とベストプラクティスを適用します。

PythonとCのどちらかを選択:あなたに適した言語PythonとCのどちらかを選択:あなたに適した言語Apr 20, 2025 am 12:20 AM

Pythonは初心者やデータサイエンスに適しており、Cはシステムプログラミングとゲーム開発に適しています。 1. Pythonはシンプルで使いやすく、データサイエンスやWeb開発に適しています。 2.Cは、ゲーム開発とシステムプログラミングに適した、高性能と制御を提供します。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Python vs. C:プログラミング言語の比較分析Python vs. C:プログラミング言語の比較分析Apr 20, 2025 am 12:14 AM

Pythonはデータサイエンスと迅速な発展により適していますが、Cは高性能およびシステムプログラミングにより適しています。 1. Python構文は簡潔で学習しやすく、データ処理と科学的コンピューティングに適しています。 2.Cには複雑な構文がありますが、優れたパフォーマンスがあり、ゲーム開発とシステムプログラミングでよく使用されます。

1日2時間:Python学習の可能性1日2時間:Python学習の可能性Apr 20, 2025 am 12:14 AM

Pythonを学ぶために1日2時間投資することは可能です。 1.新しい知識を学ぶ:リストや辞書など、1時間で新しい概念を学びます。 2。練習と練習:1時間を使用して、小さなプログラムを書くなどのプログラミング演習を実行します。合理的な計画と忍耐力を通じて、Pythonのコアコンセプトを短時間で習得できます。

Python vs. C:曲線と使いやすさの学習Python vs. C:曲線と使いやすさの学習Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、