Pythonのプログラムのパッケージ化
PythonのPytestを使ったテスト
Pythonを使って、コマンドライン上で動作するスケジュール管理プログラムを作成します。 このプログラムでは以下の機能を実装します: スケジュールの追加 スケジュールの表示 スケジュールの削除 プログラム名はsch.py(schはscheduleの最初の3文字)で、コ…
PythonでCSVファイルを扱う方法:csvモジュールの基本と応用 CSVファイルは、表形式のデータをテキスト形式で保存するための一般的なフォーマットです。 この記事では、Pythonのcsvモジュールを使用してCSVファイルを扱う方法について説明します。 CSVデータ…
前回の記事ではJSONについて学びました。 今回はその応用として、APIを利用してデータを取得する方法を学びます。 具体的には、Pythonのrequestsモジュールを使って、天気予報APIであるOpen-Meteoから気象データを取得するプログラムを作成します。 requests…
Pythonを学ぶ上で、データのやり取りや保存方法の基本としてJSON形式を理解することは重要です。 この記事では、Python標準モジュールのjsonを取り上げ、その基本と実用例を解説します。 JSONとは? JSON(JavaScript Object Notation)は、データを簡潔かつ…
Pythonのsysモジュールは、Pythonインタープリタやその環境に関する情報を提供し、プログラムの挙動を制御する機能を備えています。 このモジュールを使うことで、Pythonスクリプトをより柔軟に制御できます。 本記事では、sysモジュールの基本的な機能を解…
Pythonのshutilモジュールを使ったファイルとディレクトリ操作の基本 Pythonでファイルやディレクトリの操作を行う際、osモジュールに加えて便利なのがshutilモジュールです。 shutilは、ファイルやディレクトリのコピー、移動、削除、アーカイブ化など、よ…
Pythonでファイルやディレクトリを操作する際、従来はosモジュールがよく使われてきました。 しかし、Python 3.4から導入されたpathlibモジュールは、より直感的で簡潔なコードを提供します。 この記事では、pathlibモジュールの基本を学び、パス操作を効率…
これからしばらくは、Pythonの標準モジュールのうち、良く使われるものについて、その使い方を見ていきます。 どの言語でもそうですが、言語そのものだけでは不十分で、言語の提供するモジュール、あるいはライブラリが必要不可欠です。 今回の記事では、Pyt…
今回は、Pythonで単語カードを管理するモジュールを作成します。 このモジュールでは、単語の追加、削除、検索、さらにクイズ形式での学習が可能です。 モジュールを作ることで、再利用性が高く、複数のプログラムで簡単に使えるコードを提供できます。 モジ…
クラスの説明からは「初心者」から「初級者」にタイトルを変えることにします。 カッコ内の番号は通し番号にします。 プログラムをクラスという仕組みにまとめることができます。 例えば、電卓プログラムを作るとしましょう。 プログラムの中の次のような部…
プログラムを効率よく書くためには、同じ処理を繰り返し使える「関数」を理解することが重要です。 関数とは何か 関数とは、ひとまとまりの処理を名前を付けて定義したものです。 一度定義すれば、何度でもその処理を呼び出して使うことができます。 関数の…
辞書型は、Pythonの中でも非常に重要で便利なデータ型の1つです。この記事では、辞書型の基本的な使い方から、よく使うプログラムテクニック、さらには応用例として単語カウントプログラムの解説までを取り上げます。 辞書型とは? 辞書型(dict)は、キーと…
文字列の中から特定のパターンを探したり、置き換えたりする場合に正規表現(regular expression)が役立ちます。Pythonではreモジュールを使って正規表現を扱います。 reモジュールとは? Pythonのreモジュールは正規表現を使った文字列処理をサポートする…
文字列の操作は頻繁に行われます。 数字の操作よりもはるかに頻度が高いでしょう。 文字列操作には、演算子を使うものと、文字列のメソッドを使うものがあります。 それに加え、正規表現も多く使われますが、それは次回に回したいと思います。 文字列の演算…
標準入出力とは? 標準入力と標準出力は、Unix系のオペレーティングシステム(OS)の仕組みから来ています。 プログラムが起動されると、OSが以下の入出力先を自動的に用意します。 標準入力(stdin): デフォルトでキーボードが割り当てられる。 標準出力(…
コマンドラインには、引数を書くことができます。 例えば、echo.pyというPythonプログラムは引数をそのまま出力します。 > py echo.py abc abc このとき、echo.pyの中では、どのようにして引数を得ているのでしょうか? sysモジュール 引数を知るためには、s…
制御構造のうち、良く使われるだろうと思われるif文とwhiler文、for文について書きます。 また、int型のところで保留していた比較演算子についてここで解説します。 文と式 文はなんらかの処理を実行する単位です。 例えば print(1+2) は、全体として文です…
リストは他の言語では配列といっているものに似ています。 一列に要素が並んだもので、その要素はどのような型でもOKです。 リストは角のあるカッコ[と]で要素を囲みます。 a = ["Hello", "world"] b = [1, 2, 3, 4, 5] 変数aには2つの文字列"Hello"と"wor…
Pythonでは数にいくつかのタイプがありますが、ここではint型(整数型)とfloat型(浮動小数点型)を説明します。 int型とfloat型 コンピュータでは、数をメモリーに保存し、計算をするときはメモリーからCPUに移動して計算します。 詳しいことは長くなるの…
仕事の関係で今まで一度も触ったことのないPython言語を勉強することになりました。 だいたい2週間くらいで、簡単なプログラムが書けるところまでもっていきたいのです。 このブログはその勉強のノートです。 今までRubyやMarkdownのような自分の良く知って…
昨年から、マレーシアに来ています。 来年まで2年間、こちらで仕事をすることになっています。 マレーシアは公用語がマレー語ですが、英語も日常的に良く使われており、仕事はその性格上英語を使うことが多いです。 そのため、英語表現についていろいろ悩む…
※最初にお断りしておきますが、この記事は小中高校生の英語学習についての記事ではありません。 大学生、社会人向けの内容です。 最近は生成AI(具体的にはChatGPTとGemini)を英文を書く時のツールとして活用しています。 余談ですが、Geminiは英語では「ジ…
NIMと英語ではいい、日本では「石取りゲーム」「三山崩し」と呼ばれるゲームがあります。 チップ(硬貨を模したプラなどの円盤)を3か所に置きます。チップの数は適当で良いです。 この3つの場所を「山」ということもあります。 2人でゲームをし、交代でチッ…
RubyGemsはRubyのライブラリで、誰でも登録し、ダウンロードすることができます。 私は2つのGemを登録してあるので、ここで紹介したいと思います。 興味を持った方はぜひダウンロードして使ってみてください。 前提として、Rubyがインストールされていなけれ…
Ubuntuの新しいバージョン23.10がリリースされ、約2週間経ちました。 Ubuntu23.10をインストール リリース後すぐに23.04からのアップグレードができるかと思っていたら、どうもそうではなかったようです。 自分のUbuntuの設定では新リリースにアップグレード…
ファイル名に使える文字はOSによって違う Linuxでファイルを作るときにはほとんどの文字がファイル名に使えます。 厳密にいえば、OSというよりもOSの採用しているファイルシステムに依存します。 UBUNTU 23.04ではファイルシステムはext4です。 ext4ではスラ…
追記 2023/10/16 Calcのことで訂正があります。 単項マイナスとは 単項マイナスとは、式のなかに使われるマイナスで、その数字の符号を変えるためのものです。 例えば「−2」は2の符号をマイナスに変更する演算です。 「ー」には「引き算」を表す場合もあり…
パーサ・ジェネレータとは 少し複雑な文法 四則(加減乗除)計算のBNF Racc で実装 クラス定義、BNFの記述部分 ヘッダー、インナー、フッター コンパイルと実行 演算子の優先順位と結合における左右の優先順位 まとめ パーサ・ジェネレータとは パーサを日本…