![見出し画像](https://assets.st-note.com/production/uploads/images/114493290/rectangle_large_type_2_690d50cb8a817ff34d4e2eac8a4e4e23.png?width=1200)
Python学習⑩~コメントと変数~
現在、書籍を参考にPythonで簡単な自動化プログラムを作る勉強中です。
参考書籍↓
書籍に出てきた自動化プログラムを実際に作り、noteにアウトプットしています。
作るものはこちら↓
「保管」フォルダ内に「バックアップ用のフォルダ」を作成
「企画書.docx」ファイルを「プロジェクトフォルダ」から「バックアップ用のフォルダ」内にコピー
「バックアップフォルダ用のフォルダ」をZIPファイルに圧縮
「バックアップフォルダ用のフォルダ」を削除
手順を図にしてみました
![](https://assets.st-note.com/img/1693102272944-cDzrTWnZD2.png?width=1200)
前回までバックアップフォルダを作るプログラムを作成しました。
コードは以下の通りです。
import os
import shutil
os.makedirs('保管\\backup20230816')
shutil.copy('プロジェクト\\企画書.docx', '保管\\backup20230816')
shutil.make_archive('保管\\backup20230816','zip','保管\\backup20230816')
shutil.rmtree('保管\\backup20230816')
いったんここで「コメント」の追記と「変数」を利用し、コードを見やすくするための整理をしていきます。
コメント
コードにコメントを入れることで、どのコードが何の処理をしているのかが分かり、自分だけではなく、他人がみても読みやすいコードになります。
このコメントは実行しても無視されるので日本語で書いてもOKです。
Pythonのコメントを打つときは行頭に「#」をつけます。
コメントはあれこれ入れるのではなく、必要な箇所に簡潔に入力します。どこに入れるかの基準は以下の通りです
コードだけでは分からない情報
ポイントとなる処理
import文はコードを読めばどのような処理なのか分かるので、今回はコメントを入れません。
各コードに以下のようなコメントを追加した画面がこちらです。
![](https://assets.st-note.com/img/1693098732354-zXjwDuIY88.png?width=1200)
変数
上記のコードでは「'保管¥backup20230816'」という記述が5箇所あります。
今はフォルダ名は固定していますが、今回のプログラムは、現在の日付を取得し、フォルダ名を「backupyyyyymmdd」にするという処理にしたいです。
このようにコードが重複していると、コードを追加、変更しようとすると、5箇所それぞれを編集する必要があるため非効率ですし、ミスも起こしやすいです。
ここでコードの重複を解消するために、「変数」を利用します。
変数はデータを入れる箱のようなものです。
変数名 = 'あいうえお'
とするとこの変数名に「あいうえお」が代入されます。
変数名をコードに記述することで、代入された値を使用することができます。
今回は変数名を「bk_path」とします。(「bkはバックアップの略です」)
よって、今回記述するコードは以下の通りです。
bk_path = '保管\\backup20230816'
このコードを先ほどのコードに記述し、修正したものがこちらです。
![](https://assets.st-note.com/img/1693100452363-DerTSzRhE1.png)
また、Jupyter Notebookの補完機能を使ってリストの中から該当する変数を選択し使用することもできます。
![](https://assets.st-note.com/img/1693100474375-tWwQ7t6xRA.png)
結局「bk_path」が重複していますが、今回の目的は、フォルダ名を現在の日付に応じたyyyymmdd形式の文字列にするようにコードを追加・変更する作業のため、追加・変更の箇所を1箇所で済ませるようにするためです。
なので、今後変更する箇所は、変数に代入する値のだけですので、効率的に作業ができるような整理はされています。
![](https://assets.st-note.com/img/1693101396875-WWDK2cg72a.png?width=1200)
Jupyter Notebook の置換機能
今回は使用しませんでしたが、Jupyter Notebookには置換機能があります。
メニューバーから[Edit]→[Find and Replace]をクリックすると、検索と置換のダイアログボックスが開きます。
![](https://assets.st-note.com/img/1693101735964-bTGp89mxx4.png?width=1200)
![](https://assets.st-note.com/img/1693101732295-EwLKwDmr17.png?width=1200)
一番上の[Find]と書かれたボックスに検索キーワードを入力すると、該当する行のコードが一覧表示され、語句に青のハイライトがついています。
![](https://assets.st-note.com/img/1693101791995-Mkd5tKh7Tz.png?width=1200)
その下の[Replace]と書かれているボックスに置換後の語句を入力すると、該当箇所のすぐ右に置換後の語句がハイライトされ表示されます。
![](https://assets.st-note.com/img/1693101930957-7ZFHFXs4cw.png?width=1200)
右下の[Replace All]をクリックすることで置換されます。
ただし、一括置換しかできません。
今回はここまで。
次回はこのプログラムの完成のためにさらにコードを追加・修正していきます。
よろしければサポートお願いします!いただいたサポート費はクリエイターとしての活動費に使わせていただきます!