私はPython=とプログラミング一般に不慣れです。大学でモジュールを取得していて、Pythonでかなり基本的なプログラムをいくつか作成する必要があります。ただし、最後の割り当てについてこのフィードバックを得ました。
ファイル名、作成者名、作成日、変更日、python versionを含むヘッダーブロックが必要です
ヘッダーブロックとは何ですか?それはあなたのコードの先頭にあるコメントだけですか、それともプログラムの実行時に出力されるものですか?または、他の何か?
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__ = "[email protected]"
__status__ = "Production"
詳細は answer here をご覧ください。
インストラクターは、課題のソースコードのトップセクションに次のような情報を追加することを望んでいるため、コメントを追加します。
####################################
# File name: ... #
# Author: ... #
# Submission: #
# Instructor: #
####################################
ヘッダーブロックは、コードの上部にあるコメントです。プログラムの実行時に印刷されません。
例は次のようになります。
# 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
ここで非常に良い議論-> Python files?)の一般的なヘッダー形式は何ですか?
Python docstringは簡潔である必要があり、実際には変更履歴や、現在のバージョンの動作に直接関連しないものは含まれていません。 "man"スタイルのdocstringはまだ見ていません。上手。
ソースコントロールに依存しないリビジョン履歴を持つフラワーボックス(一部のリビジョンは最終的にソースコントロールがpre-dateになる可能性があるため)は、紙でコードを読んだ日や、メール送信。いつものようにつながっているとは限りませんでした。
現代のIDEを使用すると、これは好意から外れましたが、古い/大きい高レベルの作品で見ることができます。一部のショップでは、特にコードが一部のサインインは、怠惰でだらしない方法でコメントされています。
したがって、それは異なりますが、:
#! /usr/bin/python
#--------------------------------#
# optional flower box
#--------------------------------#
"""
Multiple lines of doc if required
"""
import foo
import bar
__metastuff__ = 'some value'
「meta」が高く、特に「pycharm」のyoutubeプロモーションに表示されます。それは実際にはコードであり、インポートはコードの前に来ることが期待されているため、人々はインポートの下にそれを見るのが好きです。夢中になってしまいそうな気がします。低レベルのコードでの賢明で有益なコメントは、とにかく上に書かれているものよりもはるかに価値があります。
現実の世界では、プロジェクトで他の人がしていることを実行するだけで大丈夫です。とにかく、テンプレートを再利用するか、「プロトタイプ」からコピーして貼り付けます(つまり、ripoff)。
私はこの形式を使用しています。私は学んでいるので、「これは必要以上に自分の正気のためです。」
一貫性が好きなので。だから、私は私のようにファイルを開始します。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# =============================================================================
# Created By : Jeromie Kirchoff
# Created Date: Mon August 18 18:54:00 PDT 2018
# =============================================================================
"""The Module Has Been Build for..."""
# =============================================================================
# Imports
# =============================================================================
from ... import ...
<more code...>
There's no reason for most Python files to have a Shebang line
ですが、私にとっては、これをpython3用に明示的に記述したことをユーザーに知らせていると感じています。私のMacと同じように、私はpython2とpython3の両方を持っています。GitHub
を見る時間を少し節約できるので、私の独自の追跡方法です。私の正気のために私が拾ったものだけでは再び関係ありません。繰り返しますが、これは私の好みです。 working environment
事実上の行動を変えるには、全員を勝ち取らなければなりません。私はこれについて何度も続けることができましたが、私たちは皆、少なくとも職場でそれについて知っています。
したがって、大学の設定のこのコンテキストでは:
ヘッダーコメントはファイルの上部に表示されます。これらの行には通常、ファイル名、作成者、日付、バージョン番号、およびファイルの目的とその内容の説明が含まれます。クラスの割り当ての場合、ヘッダーにはコース名、番号、セクション、インストラクター、割り当て番号なども含める必要があります。
まあ、これはあなたの教授によって異なって解釈され、それを紹介し、尋ねることができます!
「あなたが決して尋ねないならば、答えは常にいいえです。」
つまり:
# Course: CS108
# Laboratory: A13
# Date: 2018/08/18
# Username: JayRizzo
# Name: Jeromie Kirchoff
# Description: My First Project Program.
またはpython使用方法 "Module Level Dunder Names"
__author__ = 'Jeromie Kirchoff'
__copyright__ = 'Copyright 2018, Your Project'
__credits__ = ['Jeromie Kirchoff', 'Victoria Mackie']
__license__ = 'MSU' # Makin' Shi* Up!
__version__ = '1.0.1'
__maintainer__ = 'Jeromie Kirchoff'
__email__ = '[email protected]'
__status__ = 'Prototype'
__course__ = 'cs108'
__teammates__ = ['Jeromie Kirchoff']
__laboratory__ = 'A13'
__date__ = '2018/08/18'
__username__ = 'JayRizzo'
__description__ = 'My First Project Program.'
次に、インストラクターが希望する場合は、印刷する小さなコードを追加します。
print('# ' + '=' * 78)
print('Author: ' + __author__)
print('Teammates: ' + ', '.join(__teammates__))
print('Copyright: ' + __copyright__)
print('Credits: ' + ', '.join(__credits__))
print('License: ' + __license__)
print('Version: ' + __version__)
print('Maintainer: ' + __maintainer__)
print('Email: ' + __email__)
print('Status: ' + __status__)
print('Course: ' + __course__)
print('Laboratory: ' + __laboratory__)
print('Date: ' + __date__)
print('Username: ' + __username__)
print('Description: ' + __description__)
print('# ' + '=' * 78)
プログラムが呼び出されるたびに、リストが表示されます。
$ python3 custom_header.py
# ==============================================================================
Author: Jeromie Kirchoff
Teammates: Jeromie Kirchoff
Copyright: Copyright 2018, Your Project
Credits: Jeromie Kirchoff, Victoria Mackie
License: MSU
Version: 1.0.1
Maintainer: Jeromie Kirchoff
Email: [email protected]
Status: Prototype
Course: CS108
Laboratory: A13
Date: 2018/08/18
Username: JayRizzo
Description: My First Project Program.
# ==============================================================================
注:プログラムを拡張する場合は、これをinit。pyに1回設定するだけで、すべてが設定されているはずですが、再度教授に確認してください。
この文脈では、あなたは正しいです。ヘッダーブロックは、要求された情報を含むソースファイルの上部にあるコメントのセットを意味します。何かを実行するコードを含める必要はありません。