Pythonを使う際に注意しなければならないポイント
chatGPTの Advanced Data Analysis(Code Interepreter)はpromptの要求に対しPythonソースを出力してそれを実行して目的を達成しようとします。
やはり基本的なPythonの知識は持っておくべきと考えPython用の忘備録を作ることにしました。
Pythonのソースのインデントについて
- Pythonはインデント(通常はスペース4つまたはタブ4)が構文の一部であるため、正確なインデントが必要です。
vscodeなどのプログラミングに特化したエディターを使用するとインデントの関係が見やすかったりします。
むしろ使わないとあらぬ構文エラーを起こしそうです。
Cなどの他言語経験者の場合(私)このインデントで一括りが異様な感じがしますがまぁこれは慣れなんでしょうな。{ } 使いたくなります笑
Pythonの関数の宣言はdef
上記のコードみていただくとわかりますが def で始まる部分が関数ですね。
def hogehoge(input):
最後の : (コロン)が独特な感じするけどこれとインデントで一括りに考えるのだな・・。
Pythonを使う際に注意しなければならないその他のポイント
カテゴリ | 説明 |
---|---|
インデント | Pythonはインデント(通常はスペース4つまたはタブ4)が構文の一部であり、正確なインデントが必要です。 |
命名規則 | Pythonの命名規則(PEP8)に従い、変数名や関数名を選ぶことが推奨されます。 |
バージョン管理 | Python 2とPython 3は互換性がありません。使用するバージョンに注意が必要です。 |
ライブラリとパッケージ | 使用する外部ライブラリやパッケージがPythonのどのバージョンに対応しているかを確認すること。 |
エラーハンドリング | 適切なエラーハンドリング(try 、except ブロックなど)を行うこと。 |
コメントとドキュメンテーション | コードに適切なコメントを追加し、必要な場合はドキュメンテーションを作成すること。 |
リソース管理 | ファイルやネットワーク接続などのリソースを使用する際は、適切にクローズすること。 |
テスト | 単体テストや統合テストを行い、コードが正確に動作することを確認すること。 |
コードの可読性 | コードは他の人(または未来の自分)が理解しやすいように書くこと。 |
グローバル変数の使用 | グローバル変数は極力避け、必要な場合は注意深く使用すること。 |
Pythonを使用する際に考慮すべき主要なポイントを網羅しています。これに従うことで、より効率的かつ安全なコード開発が可能です。
Pythonコードで実際のいくつかの注意点を示す簡単なサンプル
# インポート部分: 必要なモジュールをインポート
import math
def calculate_area(radius):
"""
円の面積を計算する関数
:param radius: 円の半径
:return: 円の面積
"""
# 数学的な計算: 円の面積 = π * 半径^2
return math.pi * math.pow(radius, 2)
# エントリーポイント: プログラムの実行が始まる場所
if __name__ == "__main__":
try:
# ユーザー入力: 半径を入力してもらう
r = float(input("円の半径を入力してください: "))
# 面積計算: calculate_area関数を呼び出して面積を計算
area = calculate_area(r)
# 結果出力: 計算された面積を出力
print(f"円の面積は {area} です。")
except ValueError:
# エラーハンドリング: 不正な入力があった場合の処理
print("無効な入力です。数値を入力してください。")
このサンプルコードはPEP8に準拠しており、各行にコメントも付けています。注意点に関連する部分は特にコメントで明示しています。
Pythonの命名規則に従い、変数名や関数名を選ぶこと PEP8について
Pythonの命名規則はPEP 8(Python Enhancement Proposal 8)によって定められています。以下はその主なポイントです。
カテゴリ | 命名スタイル | 例 | 説明 |
---|---|---|---|
変数名 | 小文字 + アンダースコア | user_name , total_amount | 可読性の高い名前を選びます。 |
定数 | 大文字 + アンダースコア | MAX_SIZE , PI_VALUE | 定数は大文字とアンダースコアを使用します。 |
関数名 | 小文字 + アンダースコア | calculate_area() , get_user_info() | 関数名も小文字とアンダースコアを使用します。 |
クラス名 | キャメルケース | MyClass , UserInfo | クラス名は「CapWords」(キャメルケース)を使用します。 |
メソッド名 | 小文字 + アンダースコア | my_method() | メソッド名は小文字とアンダースコアを使用します。 |
インスタンス変数 | 小文字 + アンダースコア(非公開の場合は先頭に_ ) | _private_var | 非公開のインスタンス変数は、先頭にアンダースコアを一つつけます。 |
モジュール名 | 小文字 | os , sys | モジュール名は短く、小文字を使用します。アンダースコアは避けることが推奨されています。 |
パッケージ名 | 小文字 | requests , numpy | パッケージ名も短く、小文字を使用します。 |
引数名 | 小文字 + アンダースコア | arg_one , arg_two | 引数名は関数名と同様に、小文字とアンダースコアを使用します。 |
グローバル変数 | 小文字 + アンダースコア | global_var | グローバル変数は避けるべきですが、使用する場合は小文字とアンダースコアを使用します。 |
このテーブルは、Pythonの命名規則に関する主要なポイントを網羅しています。これに従うことで、コードの可読性とメンテナンス性が向上します。