検索
ホームページバックエンド開発Python チュートリアルPython のコーディング標準とは何ですか?

コーディング標準

Python コーディング標準が重要な理由を一言でまとめると、次のようになります。統一されたコーディング標準により、開発効率が向上します。

ps.python コードの記述は、基本的に PEP8 スタイルに従う必要があります。

1. セミコロン

行末にセミコロンを追加しないでください。 use セミコロンは 2 つのコマンドを同じ行に置きます。

2. ネーミング

module_name、package_name、ClassName、method_name

避けるべき名前

  1. # カウンタとイテレータを除く単一文字の名前。

  2. パッケージ/モジュール名のハイフン (-)

  3. 二重アンダースコアで開始および終了名前 (__init__ などの Python 予約済み)

命名規則

  1. いわゆる「内部」とは、モジュール内で利用可能、またはクラス内で保護またはプライベート

  2. 単一のアンダースコア (_) で始まることは、モジュール変数または関数が保護されていることを示します (import * を使用する場合は使用されません) from が含まれます)

  3. 二重アンダースコア (__) で始まるインスタンス変数またはメソッドは、クラス内のプライベートを示します。

  4. 関連するクラスを関連付けるトップレベルの関数は同じモジュールに配置されます。Java とは異なり、1 つのクラスを 1 つのモジュールに制限する必要はありません。

  5. 大文字で始まる単語を使用してください (CapWords、ただし、モジュール名は小文字で下線を引く必要があります ( lower_with_under.py など)。CapWords.py に似た名前を使用する既存のモジュールが多数ありますが、モジュール名が偶然に一致する場合があるため、これは推奨されません。

#3. 行の長さ

#1 行あたり 80 文字以内

#例外次の状況の場合:

    長いインポート モジュール ステートメントのコメント内の URL
  1. 行の接続にバックスラッシュを使用しないでください。
  2. Python は、括弧、角括弧、中括弧で囲まれた行を暗黙的に接続します。この機能を利用できます。必要に応じて、式の前後にペアを追加できます。余分な括弧。

推奨事項:

foo_bar(self, width, height, color='black', design=None, x='foo',
             emphasis=None, highlight=0)
 
     if (width == 0 and height == 0 and
         color == 'red' and emphasis == 'strong'):

テキスト文字列が 1 行に収まらない場合は、括弧を使用して暗黙的な行接続を実装できます:

x = ('这是一个非常长非常长非常长非常长 '
     '非常长非常长非常长非常长非常长非常长的字符串')

4. インデント

コードをインデントするには 4 つのスペースを使用します。

タブを使用したり、タブとスペースを混合したりしないでください。行連結の場合は、折り返された要素を垂直方向に整列させる必要があります (:ref:`行の長さ` を参照)例の一部)、または 4 つのスペースのぶら下がりインデントを使用します (この場合、最初の行にはパラメーターはありません):

       # 与起始变量对齐
       foo = long_function_name(var_one, var_two,
                                var_three, var_four)
 
       # 字典中与起始值对齐
       foo = {
           long_dictionary_key: value1 +
                                value2,
           ...
       }

5、空の行

トップレベル 2 つの空白定義間に 1 行、メソッド定義の間に 1 行の空白行

最上位定義 (関数定義やクラス定義など) の間に 2 行の空白行。メソッド定義、クラス定義、および最初のメソッドの間には 1 行の空白行が必要です。関数またはメソッド内で、適切と思われる場所がある場合は、空白行を残します。

6. スペース

標準の書式仕様に従って、句読点の両側にスペースを使用します

括弧内にスペースを入れてはなりません。

標準の書式設定規則に従って、句読点の両側にスペースを使用してください

正确示范: spam(ham[1], {eggs: 2}, [])
错误示范: spam( ham[ 1 ], { eggs: 2 }, [ ] )

7. クラス

クラスはその定義に含まれている必要があります。以下にクラスを説明するドキュメント文字列があります。クラスにパブリック属性 (属性) がある場合、ドキュメントには属性 (属性) セクションが必要です。また、以下と同じ形式に従う必要があります。関数パラメータ。

class SampleClass(object):
    """Summary of class here.
    Longer class information....
    Longer class information....
    Attributes:
        likes_spam: A boolean indicating if we like SPAM or not.
        eggs: An integer count of the eggs we have laid.
    """
 
    def __init__(self, likes_spam=False):
        """Inits SampleClass with blah."""
        self.likes_spam = likes_spam
        self.eggs = 0
 
    def public_method(self):
        """Performs operation blah."""

8. ブロック コメントと行コメント

コメントを記述するためのコードの最も重要な部分は、これらの技術的な部分です。次のコードレビュー中に、今すぐコメントを書く必要があります。複雑な操作の場合は、操作を開始する前に数行のコメントを書く必要があります。一目瞭然ではないコードの場合は、コードの最後にコメントを追加する必要があります。行数.

# We use a weighted dictionary search to find out where i is in
# the array.  We extrapolate position based on the largest num
# in the array and the array size and then do binary search to
# get the exact number.
 
if i & (i-1) == 0:        # true iff i is a power of 2

読みやすさを向上させるために、コメントはコードから少なくとも 2 つのスペースを空ける必要があります。

一方、コードについては決して記述しないでください。彼はあなたより Python のことをよく知っていますが、あなたのコードが何をしているのかを知らないだけです。

# BAD COMMENT: Now go through the b array and make sure whenever i occurs
# the next element is i+1

9, string

正确示范: 
     x = a + b
     x = '%s, %s!' % (imperative, expletive)
     x = '{}, {}!'.format(imperative, expletive)
     x = 'name: %s; score: %d' % (name, n)
     x = 'name: {}; score: {}'.format(name, n)
错误示范: 
    x = '%s%s' % (a, b)  # use + in this case
    x = '{}{}'.format(a, b)  # use + in this case
    x = imperative + ', ' + expletive + '!'
    x = 'name: ' + name + '; score: ' + str(n)

10, import package

各インポートは次のようにする必要があります。単独の行

正确示范: 
import os 
import sys
错误示范:   import os, sys

インポートは常にファイルの先頭、モジュール コメントとドキュメント文字列内、モジュールのグローバル変数と定数の前に配置する必要があります。インポートは、最も一般的なものから最も少ないものへの順序でグループ化する必要があります。共通:

標準ライブラリのインポート サードパーティ ライブラリのインポート アプリケーション固有のインポート

【概要】

1. 命名

    関数、変数、プロパティは小文字で綴る必要があります。接続には _ を使用し、キャメルケースの命名規則には従わないでください
  1. クラスと例外は大文字にする必要があります。接続には _ を使用しないでください。
  2. 保護されたインスタンス属性は、単一のアンダースコアで始める必要があります。
  3. のプライベート プロパティインスタンスは 2 つのアンダースコアで始まる必要があります
  4. モジュール レベルの変数の単語は中央で大文字にする必要があります 1 つのアンダースコアで区切ります
  5. 変数は次のようにする必要があります可能な限り意味のあるもの
  6. #2. 空白

    構文に関連するインデントの各レベルは 4 つのスペースで表されます
  1. 代入する場合は等号の両側にスペースが必要です。
  2. 各 1 行に占める文字数は 79 文字以内にしてください。実際の動作では、コードエディタの行スクロールバーが表示されないようにする必要があります
  3. 関数型プログラミングに関数を使用する場合、関数間に 2 つの空白行が必要です。

  4. クラス内の関数の場合、関数間に 1 つの空白行が必要です。

  5. 関数とクラスが同じレベルにある場合、それらの間に 2 つの空行が必要です

  6. 指定された数を超える長い式の場合1 行あたりの文字数の式の場合は、Enter キーを押してインデントする必要があります。通常、最初の行を除くすべての行は、元の

#3 に基づいてスペース 4 つ分インデントされます。

    ##変数が None、False、True のいずれであるかを判断する場合、== は使用しないでください。is を使用してください。たとえば、a が None の場合は、
  1. import ステートメントインポートするときは、相対インポートではなく絶対インポートを使用するようにし、インポート時に対応するモジュールの特定の関数を指定することをお勧めします。たとえば、from datetime import datetime
  2. 標準ライブラリモジュール、サードパーティモジュール、自作モジュールの分類に従ってモジュールをインポートする必要があります
  3. コンテナが空ではないことを検出した場合、if コンテナ名を使用する必要があります。たとえば、lists = [] if lists
  4. 否定語のインライン形式を使用し、式全体の前に否定語を置かないでください。たとえば、「a が None でない場合」ではなく、「a が None でない場合」
  5. 4 となります。 コメント

    一部の機能の説明については、重要なコード ブロック、単一行のコメント
  1. はモジュール関数全体に使用する必要があります。説明には複数行のコメントを使用する必要があります
  2. 関数の詳細な説明とクラスまたは関数の使用法にはドキュメント文字列
  3. python を使用する必要があります。できるだけ英語を使用してください

以上がPython のコーディング標準とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?Apr 02, 2025 am 07:09 AM

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

DVWA

DVWA

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。