LiuK

台湾・台北市在住。最近、Arduino UNO R3とRaspberry Pi 4 を…

LiuK

台湾・台北市在住。最近、Arduino UNO R3とRaspberry Pi 4 をいじり始めたので、それらの備忘録的にnote を使わせてもらおうかと思っています。

マガジン

  • Python関連

    Python関係の備忘録

  • 日台重籍問題関連

    日本の国籍法における台湾の扱いについての情報整理

  • 電子ピアノ関係

  • Delphi関係

  • Arduino関係

    Arduino、電子工作関連の自分の記事。

最近の記事

リファクタリング的な作業(5)

(Python学習初心者の試行錯誤・備忘録です)  前回、データベースを操作する「モデル」のコード mvctest_model.pyが一段落したので、 で書いていたtest.pyを書き換えます。mvctest_model.pyをimport して、Cardsクラスを利用する形に置き換えます。  Cardsクラスに用意した関数は、これまでのところ __init__() _create_table() loadfromcsv(csvfilename:str)  loadfro

    • リファクタリング的な作業(4)

      (Python学習初心者の試行錯誤・備忘録です) からの続きです。  前回はSELECT文で、条件に合わせた要素数を求める select_count_where という関数を、Cardsクラス内に作ったところまで。  次はSELECT文で条件・優先順位に応じてカードを一枚取り出す、 select_topcard_whereという関数を考えます。結果は辞書型で取れるようにします def select_topcard_where(self, condition, *p

      • リファクタリング的な作業(3)

        (Python学習初心者の試行錯誤・備忘録です) 前回 で、AIのCopilot先生からは、 ・SQLでテーブル名や要素名を指定するのにプレースホルダは使えない ・「(pythonの)f-stringを使ってテーブル名をSQL文に直接埋め込」むことはできるが、「SQLインジェクションのリスクを高める可能性がある」 とアドバイスがありました。  ならば無理せず、テーブル名は固定でいい、と昨日の段階では思っていました。が、実際に始めて見るとSQL文中に「 t_cards 」と直

        • リファクタリング的な作業(2)

          (Python学習初心者の試行錯誤・備忘録です)  素人が「MVCモデル」などと、知ったようなことを言うと、笑われてしまうかもしれません。ただ、基本的な考え方は、「DBの操作」と「画面の操作」と「このアプリ自体のロジック」とは分離する、と言うことだろうと解釈しています。それを意識しつつソースコードをバラしてみます。 MVC分離 メインプログラムmvctest.py の外に、自作モジュールのファイル M: mvctest_model.py V: mvctest_view.py

        リファクタリング的な作業(5)

        マガジン

        • Python関連
          39本
        • 日台重籍問題関連
          26本
        • 電子ピアノ関係
          12本
        • Delphi関係
          5本
        • Arduino関係
          48本

        記事

          リファクタリング的な作業(1)

          (Python学習初心者の試行錯誤・備忘録です) 半月ほど前に書いた が一応動いたことで、ちょっとした高揚感(笑)にしばらく浸っていました。少し時間が経って、冷静になってみると、コードの中身がひどいもんなので、初心者なりに「リファクタリング」的な作業をしてみようと思います。 test.py import csvimport sqlite3import TkEasyGUI as egfrom myspeech_lib import myspeechmydb = "mydb.

          リファクタリング的な作業(1)

          PythonからのSQLite操作についてCopilotが教えてくれた

          (Python学習初心者の試行錯誤・備忘録です) 昨日は と、「テーブルが無い時の自動作成」ができたことで、自分は大いに感激していたのでした。  その後、Copilotにリレーションのあるテーブルの扱い方を漠然と聞いたところ、(特に注文していないのに)「テーブル自動作成」をするサンプルコードを書いてくれました。自動作成は「当たり前」の話だったのか(^_^;) import sqlite3# データベースに接続するconn = sqlite3.connect('school

          PythonからのSQLite操作についてCopilotが教えてくれた

          SQLiteのテーブル自動作成が便利

          (Python学習初心者の試行錯誤・備忘録です)  今回のはやってみたところ、便利すぎて感動した件を書き留めておきます。経験値が上がった気がします(笑) 背景 Pythonのプログラムから、SQLiteを使う話は一月ほど前のこの記事で などと書いています。以来、自分は ・DBファイルと、中身のテーブルは別ツールの「DB Browser for SQLite」で、作成、準備する。 ・Pythonのプログラムからは、「お膳立てが整った」DBファイルにアクセスする。 と言うやり

          SQLiteのテーブル自動作成が便利

          with文と変数のスコープの勘違い

          (Python学習初心者の試行錯誤・備忘録です)  自分が大きく勘違いをしていたポイントを書き留めておきます。   たとえばテキストファイル"test.txt"があるとします。これを読み出すときwith文で with open("test.txt") as tempfile: temptext=tempfile.read() print(temptext) として実行すると、ターミナルにテキストファイル"test.txt"の内容が表示されます。これは直感的に分

          with文と変数のスコープの勘違い

          辞書パッケージを試す(3)

          (Python学習初心者の試行錯誤・備忘録です) 前回までで、英単語から、対応する訳語を取得する方法として 英⇒日 および、英⇒中(簡)の場合は、 ・PyDictionary・・・利点:速い。欠点:使えない時間帯がある。 ・PyMultiDictionary・・・利点:これまでのところ、いつでも使える。             欠点:遅い。 中(簡)⇒中(繁)には ・OpenCC ・chinese_converter いずれかを使うことで、実現できました。ただ、繁体字中文に訳

          辞書パッケージを試す(3)

          繁体字にしたい

          (Python学習初心者の試行錯誤・備忘録です) 台湾で使われる「中国語(台湾華語)」の表記は「繁体字」の漢字です。「簡体字」表記の文書を「繁体字」にしたい場面は結構あります。で、Pythonでそういう「変換」の処理をできないか?  例によってCopilotに聞くと chinese-converter OpenCC hanziconv TEST 3つとも、と思ったんですが、最新バージョンのリリース日を見たら、 hanziconv が2016年9月1日 chinese

          繁体字にしたい

          日本は「二重国籍」を認めないと言う議論の前提にひっかかる

          Jackさんの を読んで、大いに同感でした。  ただ、私はこの議論、Jackさんの意見にではなく、別のところ:議論の前提には違和感を覚えるのです。  前提になる「日本は二重国籍を認めていない」という話は、戦後、新憲法下になって、法務省の国会答弁などでそう主張されるようになってきた。実際、そういう発言が戦後の国会会議録には残っている。それは確かにそうです。しかし、なにか奇妙だと思いませんか? >日本は「二重国籍」を認めない  それ、いつからなのか?と聞くと、明治時代にできた

          日本は「二重国籍」を認めないと言う議論の前提にひっかかる

          辞書パッケージを試す(2)

          (Python学習初心者の試行錯誤・備忘録です) 一旦は動いたはずのPyDictionaryが、動かなくなってしまいました。 こちらの記事・コメント欄見ると・・ 8年前(2016年)にも「一旦は動いたはずのPyDictionaryが、動かなくなって」困っていた人がいたみたい。 ※その後、2024/04/29 19:30(台湾時間 :日本時間だと20:30)にテストしたら、PyDictionary復活していました。一日の処理回数の上限とかがあって、そこまで行くと使えなく

          辞書パッケージを試す(2)

          辞書パッケージを試す(1)

          (Python学習初心者の試行錯誤・備忘録です) Pythonで試作した単語暗記アプリについて要望をもらっています。 ・日本語訳も出るようにしたいが、自前で訳を用意するのは面倒 とのこと。それで当初はウェブブラウザで辞書サイトサービスへのリンクを開く方法を考えていました。  ただ、Pythonパッケージの中には、辞書の機能を提供するものもあるそうです。Copilotに聞いたらPyMultiDictionaryとPyDictionaryの二つを紹介されました。折角ですので試

          辞書パッケージを試す(1)

          英単語の抽出コマンド

          (Python学習初心者の試行錯誤・備忘録です)  英語のテキストファイルがあります。そこから単語を全抽出して出現頻度情報をつけてリスト化したい。・・・なんてことを考えています。  とはいえ、まあ、そんなことは、きっとどこかのどなたかが既にやっていらっしゃるはず・・・。と、検索したら、早速、見つかりました。 mkunu様のQiitaの記事です。 特に関心があったのは 「3.txt内の各単語の登場回数を調べる。」の部分 import re #正規表現 from colle

          英単語の抽出コマンド

          コマンドラインのコマンドを作ってみる

          (Python学習初心者の試行錯誤・備忘録です) コマンドラインのコマンドを作ってみたい。つまり、 >copy a.txt b.txt みたいな感じで >コマンド 元ファイル名 処理結果ファイル名 と打ち込んで使うヤツ。MSーDOS 時代を思い出すあれです。 コマンドライン引数の取得方法 Copilotに聞いたら、説明と例をくれました。 まあ、引数可変で無くて、決め打ちならenumerate とか要らなくて、直接 sys.argv[1],sys.argv[2] で取れる

          コマンドラインのコマンドを作ってみる

          ウィンドウが縮む問題:完全解決

          (Python学習初心者の試行錯誤・備忘録です) グラフ表示のウィンドウと、制御用のウィンドウを分けた場合に関して を書きました。最初に「一瞬」グラフを表示させると言う、あやしいことをやって対策をしたのですが、カッコ悪い。 ・ウィンドウを別にするのではない「埋め込み式」の場合は、こちらのbear_montblanc(Be4rR)様の のコードを試してうまく行きました。 この記事のソースコードの中に # GUIがぼやける現象を防ぐための関数def make_dpi_aw

          ウィンドウが縮む問題:完全解決