今日は「プログラミング、特にPythonが何のためにあって、どういう風に作られてるのか」が分かる話です。
一つ一つはさらっと流すのですが、どんな環境で動かして、どんなことを書く必要があるのかがイメージできるかと思います。
入門者にオススメのpython書籍
ちなみに基礎から勉強する際は
スッキリわかるpython入門がオススメです。
Python 1年生とかはちょっと内容が薄すぎて使えませんし、
退屈なことはPythonにやらせようは入門にはちょっと難しい気がします。
Udemyとかで講座を受けるのもオススメですが、スッキリわかるPython入門あたりを読みながら何か作ってみてからの方が身につくと思います。
何も考えずにスクールに入るのはオススメしません。
作るだけならググったらいけますし。ただ構成は知っておいた方が良いかなと思いますので、お伝えします。
初めて作る方が「エラー処理忘れてた」とかなるのはあるあるな気がします。
今回のpythonデモプログラム(フォルダを500個作る)
今回どこかの配信者が、連番のフォルダ500個を用意する必要に迫られました。
まぁ私なのですが
こんな風に001_name,002_name・・・というかんじで作っていきたい
これ、さすがにコピペで500個はしんどいですよね。
フォルダ作るだけならまだしも名前を調整するのがしんどい
そんな時にも使えるのがプログラミングです。
組んだのがこちら
import os
#作業場所や設定
basefolder = "D:\demofolder"
foldername = "_test" #連番+foldername
dignum = 3 #連番の桁数
"""
start,span,endはフォルダ連番の指定です。
startからspan毎に作ります。endまで繰り返しますので、
500まで作りたければ501で指定してください。
全てintで指定してください。
"""
start_num = 1
span_num = 1
end_num = 500
os.chdir(basefolder)
try:
for i in range(start_num,end_num,span_num):
i = str(i).zfill(dignum)
dirname = i + foldername
if os.path.exists(dirname) == True:
print(f"{dirname}は存在するので処理をとばします")
pass
else:
try:
os.mkdir(dirname)
except:
print(f"ディレクトリ{dirname}を作れませんでした")
except (TypeError):
print('文字列で入力していませんか?')
except Exception as e:
print ('=== エラー内容 ===')
print ('type:' + str(type(e)))
print ('args:' + str(e.args))
pass
これは指定のフォルダに移動して
指定の数のフォルダを作る
という内容です。
基礎を詰め込んでいますので見ていきましょう
とても単純ですが、色んな要素を含んでいます。
0.環境
これはJupyterlabというのを使ってます。対話型っていうそうですね。
他にはGooglecolaboってのもあるんですが、自分のPC操作するのにどうするのかちょっとよくわかってません。
環境構築だけならGoogleの方が早いです。
1.import
import os
Pythonは、すごく便利なコマンドがたくさん開発されています。
それは「モジュール」という単位で、必要に応じて読み込めます。
今回読み込んだOSというモジュールは、ディレクトリを移動したりするコマンドが集まっているんだな、と思っていただければいいです。
2.コメントアウト
#作業場所や設定
"""
start,span,endはフォルダ連番の指定です。
startからspan毎に作ります。endまで繰り返しますので、
500まで作りたければ501で指定してください。
"""
行内で#以降はコメント扱いです。
“””で挟まれた間もコメントになります。
3.変数
basefolder = "D:\demofolder"
スーパーで買い物かごに野菜を入れるとしましょう
買い物かごが変数
変数の中身が野菜です。
↑でいえば「=」の左側が設定した箱
右側が入れた値です。
“D:\demofolder”を書き換えるだけで、他の部分は一切触らずに作業場所を変更できるようになります。
4.STRとINT
foldername = "_test" #連番+foldername
dignum = 3 #連番の桁数
文字と数字です。数字でもっていかないといけないところに文字列持っていっちゃうというのはあるあるです。
文字列は”で囲います。
数字は囲いません。
↑の1行目のtestは文字列、2行目の3は数字ですね
文字列で”1”+”1”は”11”、数字で1+1は2になります。
5.try-except
何事にもエラーはつきものです。
エラーが起きた時にはどうしてね、という指示を出しておきます。
6.for~in
プログラミングは順次処理、繰り返し処理、分岐処理でできています。
その繰り返し処理です。
for __ in range ()
範囲の数字を入れていきます。
for __ in ___list___
としたら、リストを1から入れていきます。
7.if-else
プログラミングは
順次処理、繰り返し処理、分岐処理でできています。
その分岐処理です。
8.==
Pythonでは おなじ を表すときに == を使います。
=は代入になりますね。
9.print()
画面に表示してね、という指示。
これがないといま何の処理をしているのかが分からなくなります。
10.Exception
エラーが発生した時の受け止め方。
どんな表示をするのか等を決められます。
11.f”_____”
これはもうオマケ。文字列の中に変数を表現できるようになりました。
print(f"ディレクトリ{dirname}を作れませんでした")
便利
まとめ
やりたいことに合わせて色々かわりますけど、大体の流れはこんな感じです。
インポートしてモジュールを整えて楽できるようにします。
適時コメントを入れて分かりやすくしつつ
エラー対応しながら順次処理、分岐、繰り返しの処理を行います。
もしエラーがあった場合はどうする、と指定しておきます。
で、エラー対処ができつつ目的の結果が得られたらOK
どう書いたらいいとかリストとかタプルって何?とかは
こちらが分かりやすいです。