19

私はPythonとプログラミング全般に不慣れです。私は大学でモジュールを受講しており、Python でかなり基本的なプログラムを作成する必要があります。しかし、前回の課題について次のようなフィードバックがありました。

ファイル名、作成者名、作成日、変更日、Python のバージョンを含むヘッダー ブロックが必要です。

ヘッダーブロックとは?コードの先頭にあるコメントだけですか、それともプログラムの実行時に出力されるものですか? または、他の何か?

4

6 に答える 6

25

PythonにはDocstringと呼ばれるものがあります(そして、一般的な Python コードの書き方に関するいくつかの慣習があります - PEP 8 ) 。'''"""

'''
    File name: test.py
    Author: Peter Test
    Date created: 4/20/2013
    Date last modified: 4/25/2013
    Python Version: 2.7
'''

後で (モジュールのプログラミング時に) 情報を格納する専用の特殊変数を次のように使用することもできます。

__author__ = "Rob Knight, Gavin Huttley, and Peter Maxwell"
__copyright__ = "Copyright 2007, The Cogent Project"
__credits__ = ["Rob Knight", "Peter Maxwell", "Gavin Huttley",
                    "Matthew Wakefield"]
__license__ = "GPL"
__version__ = "1.0.1"
__maintainer__ = "Rob Knight"
__email__ = "rob@spot.colorado.edu"
__status__ = "Production"

詳細については、こちらをご覧ください

于 2013-04-25T17:36:04.603 に答える
4

ここで非常に良い議論 --> Python ファイルの一般的なヘッダー形式は何ですか?

Python docstring は簡潔にする必要があり、改訂履歴や現在のバージョンの動作に直接関係のないものを実際に含めてはなりません。私はまだ "man" スタイルの docstring を見たことがありません。

ソース管理から独立したリビジョン履歴を持つフラワーボックス (一部のリビジョンは最終的にソース管理よりも前の日付になる可能性があるため) は、紙または電子メールでコードを読んだ時代にさかのぼります。私たちはいつも今ほどつながっていたわけではありません。

最新の IDE を使用すると、これは好まれなくなりましたが、古い/より大きな高レベルの作業で見られます。一部のショップでは、特にコードが「購入済み」の場合、コーダーがサインインを実行しません。一部のサインインは、怠惰でだらしない方法でコメントされています。

したがって、異なりますが、次のとおりです。

#! /usr/bin/python
#--------------------------------#
# optional flower box  
#--------------------------------#
""" 
Multiple lines of doc if required
"""

import foo
import bar

__metastuff__ = 'some value'

特に「pycharm」のYouTubeプロモーションで、「メタ」が上に表示されます。実際にはコードであり、インポートはコードの前に来ることが期待されるため、人々はそれをインポートの下に表示することを好みます。夢中になりやすいのは想像できます。とにかく、低レベルのコードの賢明で有益なコメントは、上の階に書かれているものよりもはるかに価値があります。

現実の世界では、他の人があなたのプロジェクトで行っていることを実行するだけで問題ありません。とにかくテンプレートを再利用するか、「プロトタイプ」からコピーして貼り付ける (つまりぼったくる) のが一般的です。

于 2014-12-13T19:44:33.387 に答える
4

講師は、課題のソース コードの先頭セクションに次のような情報を追加するように求めているため、コメントを追加するのは正しいことです。

####################################
# File name: ...                   #
# Author: ...                      #
# Submission:                      #
# Instructor:                      #
####################################
于 2013-04-25T17:24:18.300 に答える
3

ヘッダー ブロックは、コードの先頭にある単なるコメントです。プログラムの実行時に印刷されません。

例は次のようになります。

# File name: test.py
# Author: Peter Test
# Date created: 4/20/2013
# Date last modified: 4/25/2013
# Python Version: 2.7

# Begin code

a = 1
b = 2

c = a + b

print c
于 2013-04-25T17:27:32.713 に答える
0

この文脈では、あなたは正しいです。ヘッダー ブロックとは、要求された情報を含むソース ファイルの先頭にある一連のコメントを意味します。何かを行うコードを含める必要はありません。

于 2013-04-25T17:20:26.610 に答える