プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.5
お疲れ様です、ムクドリです。
少し更新期間が空いてしまいました。仕事、プライベートがたまたま忙しく、pythonの勉強に取り組めておりませんでした。モチベーションはまだまだ高いのでできるときになるべく更新していきたいと思います。
いよいよ、夏らしくなってきましたね。夏祭り、花火大会なども感染症対策無く従来通りの開催で参加できるようになりました。これからのお休みの日はこういったイベントに顔を出して充実させたいものです。
さて、今回のポイントは
①数値の変数intを用いた四則演算
②浮動小数点数float変数のルール
です。
①数値の変数intを用いた四則演算
数値はintegerという変数に格納されるようです。数値を入力した場合でも、数値として格納する場合はintに、文字列として扱う場合はstrに、という風に変数を使い分けます。
今回は、主にint変数を扱って計算の演習を行いました。
四則演算では、その記号さえ押さえとけば特に問題なく計算できました。
足し算 : +
引き算 : -
掛け算 : *
割り算 : /
②浮動小数点数float変数のルール
今回の肝はこの浮動小数点数の扱いでした。
数値は一緒くたにint変数で括られているわけではなく、小数点以下の数字を含む場合はfloat変数となります。
intをfloatに変換することもできるようで、先ほどの四則演算を応用した少数の計算などをやりました。
さらにここで、このintからfloatへ変数を変える関数を用いて簡単な検証を行いました。
こういった形で、int変数に格納されている「100.5」をint,float変数に変換すると数値がどうなるか調べました。
前提として、+0.5のように小数点以下となる値が入力された場合、int変数は自動でfloatに変わるようです。
各print関数に与えた条件として1つ目のprintから順に、
①値をそのままintとしてprint
②float変数に変換してprint
③int変数に変換をいれてprint
④値に0.5を足してprint
⑤値をintに変換し、さらにfloatに変換してprint
そしてその結果がこちらです。
個人的に特筆するべきと思った点は⑤ですね。floatからintに変換する場合は、小数点以下は切り捨てであることがわかりました。
したがって100.5→intへ変換(値が切り捨てられて100へ)→0.5を足す→値を出力→100.5となる
という処理がなされていることが確認できました。
今回の所要時間は50分でした。検証に時間をかけてしまいましたね。少々早いですが、今回はこのあたりで終わろうと思います。みなさまお疲れさまでした。
プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.4
みなさん、今日もお疲れ様です。
ムクドリです。
入社して3か月が経過し、研修期間も終わりました。
いよいよ、ぬるま湯低温調理期間が終わり、熱々の炭焼きになって働く日々が待ち構えていると思うとおちおちご飯もつつけません。(鳥ジョーク)
注意:当ブログでは、python入門サイトPython-izm | Python の入門から応用までをサポートする学習サイトを用いて学習を進めた記録となります。
さて、今回はpython学習第四回ということで以下について取り組みました。
今回のポイント
①コンソールからの入力
②文字列の勉強
①コンソールからの入力
今までは、コマンドプロンプト上でコードを入力してHello worldを出力、もしくはテキストファイル上で記述したものをコマンドプロンプトで実行してHello worldを出力を行うものでした。
次は、両方を組み合わせて、テキストファイルには、出力したい内容を伺うコードを書き、実行することでコマンドプロンプト上でその質問に答えて、内容を記述させるというものを作りました。
作業は割とすぐに終わったのですが、一か所だけ戸惑いました。formatという関数を用いた時に、「.」を使わなくてはいけないことに気づかず、抜かしたまま実行しようとして上手くいきませんでした。しかし、、
「Perhaps you forgot a comma?」
やはりPythonは天才だ!と思いましたね。コードが上手く動かない時、どこがだめなのか指摘してくれる機能はよくあると聞きますが、ちゃんとformat関数のピリオドがないことを理解して教えてくれるようになっているのは、初心者にとってとてもありがたいですね。
自己紹介を無事終えました。
②文字列の勉強
次に、文字列の勉強です。要約すると以下のようになりました。
前提知識 : pythonの文字列(=コードとは切り離されたただの表示用テキスト)
「'」または、「"」で挟むことで記述
行をまたぐ場合は、いずれかのクォート記号3つで挟む
関数
Ⅰ 文字列をくっつける場合は + を用いる。 変数 = 変数 + '文字列'
Ⅱ 元の文字列に後ろにそのままくっつける場合は、+= で代用可能。
Ⅲ 指定回数文字列を繰り返す場合は、 * を用いる
Ⅳ 出力されたものを文字列へ変換するときは、 strを用いる。
(アルファベットや数字はコードとして認識される、数字はintのようです。)
Ⅴ 文字列を置換する関数は 対象の変数.replace('', '')を用いる。
Ⅵ 文字列を特定の文字で分割する場合はsplit関数 変数.split('条件')
Ⅶ 文字列の桁そろえをする場合はrjust関数 変数.rjust(修正後桁数,'追加する文字列')
Ⅷ 右に元の文字を詰めて左に文字列を置く場合は、rjust,逆ならljust,右に詰めて0を置く場合はzfill
Ⅸ 文字列の検索
ⅰ 文字列の最初に含まれるかを判別→変数.startwith('条件')
ⅱ 文字列の中に〃→'条件' in 変数
Ⅹ 大文字に変換 変数.upper()/小文字 lower
Ⅺ 文字列の削除 ★右側から、条件に含まれる文字列以外にぶつかるまでカットrsprit 、★左側から〃lsprit
例文中ではprintと組み合わせて関数を実行するコードが見本となっていましたが、分割した二文にもチャレンジしましたが、どちらでも行けました。(下図)
今回は、作業としては結構かかってしまいましたが、だいぶ知識がついたかなと思います。
目安 所用時間 90分
それでは今回はこの辺で。ありがとうございました。
プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.3
今日もお疲れ様です、ムクドリです。
私事ですが、ムクドリは鳥が好きです。私のユーザー名がムクドリなのも鳥が好きなところから由来しています。焼き鳥も大好きです。見るのも食べるのも好きなのははたして許されるのでしょうか。そのうち焼き鳥ブログも始められたらなと思います。笑
さて、今回のトピックは
①対話型シェルでの実行
②モジュールの基本構造の理解
に焦点を当てていきます。
注意 :このブログではpython入門サイト Python-izm | Python の入門から応用までをサポートする学習サイトを参考にpythonを勉強した記録を記述しています。
①対話型シェルでの実行
vol.2で実行した「python ファイル名.py」コマンドは、予め記述されたスクリプトを実行せよという指示を出す形です。これに対し、
「対話型シェル」というのは、目的語を抜きにして実行したい指示のみを入力する。そしてコマンドプロンプトに「何を実行したいの?」と聞かれ、それにこたえる形、すなわち対話をするようにコマンドを実行していくスタイルのことらしいですね。
あらかじめコードを書かなくてよくて楽である一方で、コードを保存できないので、複雑な指示になればなるほど使わなくなりそうだなと思いました。
今回は、対話型シェルで同様に「Hello World!」の出力に挑戦。
前回学んだ、pythonのアプリが格納されているフォルダにあらかじめ移動することに気を付けて…
よいしょ!今回はあまり苦労せずに行けました。
②モジュールの基本構造の理解
だんだん内容が複雑になってきたので、概要をサクッと。
・エンコードの宣言
→Python3系では宣言不要みたいですね。
エンコードは機械専用の言語の総称であり、実際に使われるプログラㇺは、特定の エンコードに変換してから用いられるようです。Python3系では特に記述がない場 合、UTF-8というエンコードに自動で変換するらしく、楽でありがたいです。
・インデントを合わせる
インデントとはコードの頭にスペースをいれて字下げすること。
pythonにおいて、同じインデントをいれたコードはひとまとまりとして判断する (インデントによるブロック構造)という仕様があります。他の言語だとカッコで括ったりするようです。
最初、理解せずに行頭がずれた状態で入力していたときは全く動かなくて「???」となっていました。めちゃくちゃ需要でしたね。
・コメントアウト#
行頭に#をつけると自分のメモとして使える。
・__main__と__name__
記述した.pyを実行した場合は、「スクリプトとして直接呼び出した」ことになります。この時は、__name__は、__main__と書き換えられます。それ以外の場合、例えば実行したコードの中に、別で作成したモジュール(.pyファイル)を呼び出すことがありますが、この場合は、__name__は指定した別の名前に書き替えられることになります。
これを利用して、スクリプトとして直接呼び出したかどうかで指示を分岐させられます。(if 構文)
「スクリプト」という言葉の定義については、以下のサイトがとても分かりやすかったので参考に。
スクリプトとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 (i-3-i.info)
実行したコードを載せて置きます。
少々長くなってしまいましたが、今回は対話型シェル、スクリプトとして直接呼び出した時のみ実行する条件付き、の2種で「Hello World!」を記述できました。
次回以降も気合入れて頑張っていきたいと思います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
参考
Python-izm | Python の入門から応用までをサポートする学習サイト
スクリプトとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 (i-3-i.info)
プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.2
皆さん、今日もお疲れ様です。
ムクドリと申します。
一昨日に続きまして、pythonの勉強を行いました。
ほんとに最初の初歩中の初歩です。
が、さっそく挫折しかけました。
今後やっていけるのだろうか…
とりあえずサクッとやったことをまとめたので振り返ってみたいと思います。
ポイント
①python環境構築(python 3系 のインストール)
②コマンドプロンプト上での"Hello world"の出力
※当ブログでは、有志のpython入門サイト
"Python-izm | Python の入門から応用までをサポートする学習サイト"
を用いて練習を行っております。あらかじめ、ご了承ください。
また、当該入門サイトの内容をすべて記載することはありません。内容に関して
詳細に知りたいという方は、ぜひ上記リンクよりご確認願います。
まずは、python-izmの案内に従い環境構築を行いました。操作は、無料で公開されているpythonのソフトをインストールするだけ。大学時代に使い古したオンボロのノートPCでも簡単にインストールできました。
インストールしたのはpython3系。少し前に2系からアップデートしたはいいけど互換性がなかったために、既存のプログラムは乗り換えができず、そのまま使うこともあったとか。
②コマンドプロンプト中での"Hello world"の出力
まずは、コードとして"cd"を練習。以下に続くテキストに該当するフォルダに移動するプログラムとのこと。python自体がフォルダという名前の部屋に入ってコードを実行するというイメージがとても分かりやすかったです。
早速、指示通りprintを用いたコードをpyファイルとして保存し、
プログラミング第一歩にふさわしい「Hello World! 」にいざ対面しようとしたものの…
「あれ...出ない、、?」
実行しようとしても出力されるのは謎の「Python」の文字。
テキストファイルは元の通りに入力したはずなのですが。
いろいろ試しながら紆余曲折10分、ついに原因が判明
・Pythonを実行するには .pyファイルと同フォルダ内に
Pythonのアプリが格納されていなくてはならない
ということに気が付きました。
使っている人には当たり前なのでしょうが、初めて触った私にとっては大発見。自力で解決できてよかったです。
さて、同フォルダ内にPythonアプリを移動させて、改めてコードを実行。
初課題、.pyファイルを使ってcmd上にHello Worldを表示させることができました。
よくよく考えてみると、自分にpython学習サイトを紹介してくれた大学時代の友人は
確かに、実行したいファイルをpythonのソフトと同じフォルダに置いていましたね。笑
実作業時間としてはインストールも含めて30分程度でした。
無事、最初の一歩を踏み出せたところで今回のブログは以上にしたいと思います。
ご覧いただきありがとうございました。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
プログラミング経験ゼロの新社会人がPythonの運用を始めてみた vol.1
みなさん、今日もお疲れ様です。
ムクドリと申します。
夏らしさを感じる季節となってまいりました。
これから梅雨入りするというのが信じられませんね。
さて、今日はブログを始めるきっかけとなった、
Pythonの勉強に関するブログです。
本日の要点
①Pythonを始める理由
②Pythonを学ぶ方法
③最終的な目標
①Pythonを始める理由
私がPythonを始めようと思った理由はなによりもまず
【仕事で使えるから】です。
一般に、pythonはデータ処理の効率化や機械学習(AI)まで幅広く用いることができるプログラミング言語です。(参照1)
理系出身、メーカーに入社したムクドリですが、例にもれずpythonの出番がたくさんあるようです。来るべき日のためにpythonの運用スキルを身に着けておいて、会社でスキルを求められた際に、役立てたいと考えております。
プログラミングを始める二つ目の理由として
【プライベートでも活用したい】
というのが挙げられます。こちらは後述するのでいったん飛ばしますね。
このブログはそのpython練習の軌跡を残し、少しでも後続に活用してもらえればと思い始めました。
②Pythonを学ぶ方法
ムクドリはpythonを独学で学ぼうと考えています。一体それはどういった方法で学ぶか?候補として様々な方法があります。
有料のスクール、個人のオンライン指導、会社の自己研鑽プログラム、書籍 etc... 現在では、学校の授業としても導入されていますね。
これはpython学習を始めるにあたって、学生時代からの友人からアドバイスをいただき、ツールを決めておきました。
【 Python-izm】(参照2)
python入門の練習を目的としたサイトです。
本ブログでは、こちらのサイトを用いてプログラミング練習をやろうと思います。
コードを載せるだけでは味気ないので、所要時間、見つけたコツや豆知識などを併記できればなと思います。
③最終的な目標
ムクドリが最終的に掲げる目標が2つあります。
・会社でのPython運用に十分なスキルを身に着ける
・個人的にツール開発を行う
前者は上述した通り、シンプルに会社で用いるためという意味です。
後者は、あるツールを開発したいと思っています。
まだ詳細に明言は出来ませんが、大まかにいうと、
ある特定の分野についてデータベース化→そのデータを元にしたツール
を作成したいと思っています。
目標期間は2024年12月末尾です。大枠的には、今期(2023年12月末)までにpython-izmの基礎編と応用編は学び終え、来期から実用的な活用を始めたいと考えております。
閲覧していただきました皆様には、アドバイスや感想など色々なコメントを頂けますと、ムクドリとしても刺激となりまた参考になるので助かります。
長期的なブログになると思われますが、どうぞお付き合い願います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
参考文献
参照1.
Pythonの活用事例はこんなに幅広い!Pythonでできることや特徴もおさえよう | サービス | プロエンジニア (internous.co.jp)
参照2.
Python-izm | Python の入門から応用までをサポートする学習サイト