ホームページ バックエンド開発 Python チュートリアル Python コードのインデントとテスト モジュールの例の詳細な説明

Python コードのインデントとテスト モジュールの例の詳細な説明

May 07, 2018 am 11:50 AM
python モジュール テスト

この記事では、主に Python コードのインデントとテスト モジュールの例を詳しく紹介します。必要な友達は参考にしてください。

Python コードのインデントとこの記事では、Python コードのインデントとテスト モジュールに関する関連コンテンツを主に紹介します。以下では多くを説明しません。詳しい紹介。

1. Python コードのインデント

Python 関数には明確な begin と end がなく、関数の始まりと終わりをマークする中括弧もありません。区切り文字はコロン (:) のみで、コード自体はインデントされます。 例: インデント構築接続文字列関数

def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string."""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
ログイン後にコピー

コードブロックはインデントによって定義されます。 「コードのブロック」とは、関数、if ステートメント、for ループ、while ループなどを意味します。開始インデントはブロックの始まりを示し、インデントを解除するとブロックの終わりを示します。明らかな括弧、中括弧、キーワードはありません。これは、空白が重要であり、一貫性があることを意味します。この例では、関数コード (doc 文字列を含む) が 4 つのスペースでインデントされています。 4 である必要はありません。一貫性があれば十分です。インデントされていない最初の行は、関数本体の外側とみなされます。

例: 「if 文」は、if 文のインデントの例を示します。

def fib(n): (1)
print 'n =', n (2)
if n > 1: (3)
return n * fib(n - 1)
else: (4)
print 'end of the line'
return 1
ログイン後にコピー

(1) これは、パラメーター n が 1 つある fib という関数です。関数内のすべてのコードはインデントされます。

(2) Python ではコンテンツを画面に出力するのは非常に簡単で、print を使用するだけです。 print ステートメントは、文字列、整数、および辞書やリストなどの他の型を含む任意のデータ型を受け入れることができます。カンマで区切るだけで、出力を混合することもできます。すべての値はスペースで区切られて同じ行に出力されます (カンマは出力されません)。したがって、 fib を 5 で呼び出すと、「n = 5」が出力されます。

(3) if 文はコードブロックの一種です。 if 式が true と評価された場合は、次のインデントされたブロックが実行され、それ以外の場合は else ブロックが実行されます。

(4) もちろん、すべて均等にインデントされている限り、if ブロックと else ブロックには多くの行を含めることができます。この else ブロックには 2 行のコードがあります。複数行のコード ブロックに特別な構文はなく、インデントのみです。最初のいくつかの抗議と Fortran へのいくつかの嘲笑の類似の後、コードのインデントと和解し、その利点がわかり始めるでしょう。主な利点は、インデントがスタイルではなく言語要件であるため、すべての Python プログラムが似ていることです。これにより、他の人の Python コードを読んで理解することがはるかに簡単になります。

注: Python と Java: ステートメントとステートメントの分割


Python ではハード リターンを使用してステートメントを分割し、コロンとインデントを使用してコード ブロックを分割します。 C++ と Java では、ステートメントを区切るのにセミコロンを使用し、コードのブロックを区切るのに中括弧を使用します。


2. Python テスト モジュール

すべての Python モジュールはオブジェクトであり、いくつかの便利なプロパティがあります。これらのプロパティを使用すると、作成したモジュールを簡単にテストできます。 if 名を使用したトリックを次に示します。

何か新しいことを学ぶ前に、いくつかの重要な点があります。まず、if 式は括弧で囲む必要はありません。次に、if ステートメントはコロンで終わり、その後にインデントされたコードが続きます。

注: Python vs. C: 比較と代入if name == "__main__":

C と同様、Python は比較に == を使用し、代入に = を使用します。 C とは異なり、Python はインライン代入をサポートしていないため、比較を実行するときに予期しない代入が発生する可能性はありません。

では、なぜこの特別な if ステートメントがトリックなのでしょうか?モジュールはオブジェクトであり、すべてのモジュールには組み込みプロパティ name があります。モジュール名の値は、モジュールを適用する方法によって異なります。モジュールがインポートされる場合、name の値は通常、パスやファイル拡張子を除いたモジュールのファイル名になります。ただし、標準プログラムのようにモジュールを直接実行することもできます。その場合、 name の値は特別なデフォルト値 main になります。

>>> import odbchelper
>>> odbchelper.__name__
'odbchelper'
ログイン後にコピー

これを理解したら、モジュール内でモジュールのテスト スイートを設計し、その中にこの if ステートメントを含めることができます。モジュールを直接実行する場合、 name の値は main であるため、テスト スイートが実行されます。モジュールをインポートするとき、name の値は別の値になるため、テスト スイートは無視されます。これにより、新しいモジュールをより大きなプログラムに統合する前に、その開発とデバッグがはるかに簡単になります。

ヒント: Mac OS の if name __

MacPython では、if name トリックを機能させるには追加の手順が必要です。ウィンドウの右上隅にある黒い三角形をクリックしてモジュールのプロパティ メニューをポップアップ表示し、[メインとして実行] が選択されていることを確認します。


Python単体テストフレームワークunittestの使い方を解説

以上がPython コードのインデントとテスト モジュールの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Debian Apacheログを使用してWebサイトのパフォーマンスを向上させる方法 Debian Apacheログを使用してWebサイトのパフォーマンスを向上させる方法 Apr 12, 2025 pm 11:36 PM

この記事では、Debianシステムの下でApacheログを分析することにより、Webサイトのパフォーマンスを改善する方法について説明します。 1.ログ分析の基本Apacheログは、IPアドレス、タイムスタンプ、リクエストURL、HTTPメソッド、応答コードなど、すべてのHTTP要求の詳細情報を記録します。 Debian Systemsでは、これらのログは通常、/var/log/apache2/access.logおよび/var/log/apache2/error.logディレクトリにあります。ログ構造を理解することは、効果的な分析の最初のステップです。 2。ログ分析ツールさまざまなツールを使用してApacheログを分析できます。コマンドラインツール:GREP、AWK、SED、およびその他のコマンドラインツール。

Python:ゲーム、GUIなど Python:ゲーム、GUIなど Apr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

Debian Readdirが他のツールと統合する方法 Debian Readdirが他のツールと統合する方法 Apr 13, 2025 am 09:42 AM

DebianシステムのReadDir関数は、ディレクトリコンテンツの読み取りに使用されるシステムコールであり、Cプログラミングでよく使用されます。この記事では、ReadDirを他のツールと統合して機能を強化する方法について説明します。方法1:C言語プログラムを最初にパイプラインと組み合わせて、cプログラムを作成してreaddir関数を呼び出して結果をinclude#include#include inctargc、char*argv []){dir*dir; structdireant*entry; if(argc!= 2){(argc!= 2){

DDOS攻撃検出におけるDebianスニファーの役割 DDOS攻撃検出におけるDebianスニファーの役割 Apr 12, 2025 pm 10:42 PM

この記事では、DDOS攻撃検出方法について説明します。 「DebiansNiffer」の直接的なアプリケーションのケースは見つかりませんでしたが、次の方法はDDOS攻撃検出に使用できます:効果的なDDOS攻撃検出技術:トラフィック分析に基づく検出:突然のトラフィックの成長、特定のポートの接続の急増などのネットワークトラフィックの異常なパターンの識別。たとえば、PysharkライブラリとColoramaライブラリと組み合わせたPythonスクリプトは、ネットワークトラフィックをリアルタイムで監視し、アラートを発行できます。統計分析に基づく検出:データなどのネットワークトラフィックの統計的特性を分析することにより

Pythonと時間:勉強時間を最大限に活用する Pythonと時間:勉強時間を最大限に活用する Apr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Nginx SSL証明書更新Debianチュートリアル Nginx SSL証明書更新Debianチュートリアル Apr 13, 2025 am 07:21 AM

この記事では、DebianシステムでNGINXSSL証明書を更新する方法について説明します。ステップ1:最初にCERTBOTをインストールして、システムがCERTBOTおよびPython3-Certbot-Nginxパッケージがインストールされていることを確認してください。インストールされていない場合は、次のコマンドを実行してください。sudoapt-getupdatesudoapt-getinstolcallcertbotthon3-certbot-nginxステップ2:certbotコマンドを取得して構成してlet'sencrypt証明書を取得し、let'sencryptコマンドを取得し、nginx:sudocertbot - nginxを構成します。

debian opensslでHTTPSサーバーを構成する方法 debian opensslでHTTPSサーバーを構成する方法 Apr 13, 2025 am 11:03 AM

DebianシステムでHTTPSサーバーの構成には、必要なソフトウェアのインストール、SSL証明書の生成、SSL証明書を使用するWebサーバー(ApacheやNginxなど)の構成など、いくつかのステップが含まれます。 Apachewebサーバーを使用していると仮定して、基本的なガイドです。 1.最初に必要なソフトウェアをインストールし、システムが最新であることを確認し、ApacheとOpenSSL:sudoaptupdatesudoaptupgraysudoaptinstaをインストールしてください

See all articles