簡潔な概要

簡潔な概要

1. エンコーディング

  • 特別な事情がない場合、ファイルは常に UTF-8 エンコーディングを使用します

  • #特別な状況がない場合は、ファイル ヘッダーに #-*-coding:utf-8-*-mark を追加する必要があります

2. コード形式

##2.1. インデント

##スペースを 4 つ使用しますfor indentation
  • 2.2. 行幅

コードの各行は 80 文字を超えないようにする必要があります (特殊な状況では 80 文字をわずかに超える可能性があります)ただし、最大長は 120 を超えることはできません)

理由:

これは、差分を並べて表示するときに役立ちます
  • 利便性 コンソールの下にコードを表示します
  • # 長すぎる場合は、設計上の欠陥である可能性があります
  • #2.3 、引用符

簡単に言うと、自然言語では二重引用符が使用され、マシン マーキングでは一重引用符が使用されるため、コード内の

# は主に

一重引用符 # を使用する必要があります。 ##当然のことながら、この言語では二重引用符「...」が使用されます。

  • たとえば、エラー メッセージ。多くの場合、まだ Unicode です。u を使用します。 "Hello World"

machine 識別には一重引用符 '...' を使用します。たとえば、dict

  • 正規表現のキーは次のようになります。ネイティブ二重引用符 r"..."

  • ドキュメント文字列 (docstring) 3 つの二重引用符を使用します """..."""

  • ##2.4、空行

モジュールレベルの関数とクラス定義の間に空の 2 行、

  • 空の 1 行クラス メンバー関数間;

  • class A:
        def __init__(self):
            pass
        def hello(self):
            pass
    def main():
        pass
  • 複数の空白行を使用して、関連する関数の複数のグループを区切ることができます
  • 空行を使用して、関数内で論理的に関連するコードを区切ることができます

  • 2.5. エンコーディング

ファイルは UTF-8 を使用しますエンコーディング

  • ファイルヘッダー #-*-conding:utf-8-*-identifier を追加します

  • 3. ステートメントをインポートします

インポート ステートメントは別の行に記述する必要があります

# 正确的写法
import os
import sys
# 不推荐的写法
import sys,os
# 正确的写法
from subprocess import Popen, PIPE
import语句应该使用 absolute import
# 正确的写法
from foo.bar import Bar
# 不推荐的写法
from ..bar import Bar

インポート ステートメントは、ファイルの先頭、モジュールの説明と docstring の後に配置する必要があります。グローバル変数の前;

    #import ステートメントは順序どおりに配置し、各グループを空白行で区切る必要があります
  • import os
    import sys
    import msgpack
    import zmq
    import foo

  • 他のモジュールのクラス定義をインポートする場合は、相対インポートを使用できます。

from myclass import MyClass
  • 名前の競合が発生した場合は、名前空間

    を使用できます。
import bar
import foo.bar
bar.Bar()
foo.bar.Bar()
  • 4, スペース

二項演算子 [=,-, =,== の両側にはスペースを 1 つ残します。 ,>,in,is not and]:

# 正确的写法
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
# 不推荐的写法
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
  • 関数のパラメーター リストでは、,

    の後にスペースが必要です
# 正确的写法
def complex(real, imag):
    pass
# 不推荐的写法
def complex(real,imag):
    pass
  • 関数のパラメータ リストでは、デフォルト値の等号

# 正确的写法
def complex(real, imag=0.0):
    pass
# 不推荐的写法
def complex(real, imag = 0.0):
    pass
    の両側にスペースを追加しないでください。
  • 括弧の後、右括弧の前に余分なスペースを追加しないでください。

# 正确的写法
spam(ham[1], {eggs: 2})
# 不推荐的写法
spam( ham[1], { eggs : 2 } )
  • 辞書の左括弧の前に余分なスペースを追加しないでください。 object

# 正确的写法
dict['key'] = list[index]
# 不推荐的写法
dict ['key'] = list [index]
  • 代入ステートメントを整列させるために余分なスペースを使用しないでください

# 正确的写法
x = 1
y = 2
long_variable = 3
# 不推荐的写法
x             = 1
y             = 2
long_variable = 3

5. 改行

Python では括弧内での改行がサポートされています。現時点では 2 つの状況があります。

1. 2 行目は括弧の先頭までインデントされています

foo = long_function_name(var_one, var_two,
                         var_three, var_four)

2. 2 行目は 4 つのスペースでインデントされており、開始括弧が新しい場合に適しています。 line

def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

バックスラッシュ\改行、二項演算子などを使用して行末に表示する必要があります。この方法を使用して長い文字列を改行することもできます

session.query(MyTable).\
        filter_by(id=1).\
        one()
print 'Hello, '\
      '%s %s!' %\
      ('Harry', 'Potter')

複合文は禁止されていますつまり、1 行に複数のステートメントが含まれています:

# 正确的写法
do_first()
do_second()
do_third()
# 不推荐的写法
do_first();do_second();do_third();

if/for/while は改行する必要があります:

# 正确的写法
if foo == 'blah':
    do_blah_thing()
# 不推荐的写法
if foo == 'blah': do_blash_thing()

6, docstring

docstring 仕様の最も基本的な 2 つのポイント:

1. すべてのパブリック モジュール、関数、クラス、メソッドは docstring で記述する必要があります。プライベート メソッドは必ずしも必要ではありませんが、def の後にブロック コメントを指定する必要があります。

2. docstring が 1 行しかない場合を除き、docstring の終わり「"」は単独で 1 行を占める必要があります。

学び続ける
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜