2022年2月24日の投稿[6件]
Pythonはオブジェクト指向な書き方が出来ると驚くほど書きやすいですね。人気No.1言語なのが納得です。
継承におけるsuper()の使い方が感覚に入ってきていませんが、今日書いたテキスト画面の基本制御classを継承して定型画面を表示するclassを書いて習得しましょう。
出来るだけ細かくclassで書いておけばC++への移植で都合が良いかもしれません。C++はゴリゴリのオブジェクト指向言語ですから、方言的な違いをclass単位でホローすれば全体の構造はそのまま行けるだろうという皮算用です。もしくは、全部をC++化しなくても、重い処理や繰り返しが多い処理だけPythonにimport出来るクラス・ライブラリとしてC++で書き直せば良いかもしれません。
#Python
継承におけるsuper()の使い方が感覚に入ってきていませんが、今日書いたテキスト画面の基本制御classを継承して定型画面を表示するclassを書いて習得しましょう。
出来るだけ細かくclassで書いておけばC++への移植で都合が良いかもしれません。C++はゴリゴリのオブジェクト指向言語ですから、方言的な違いをclass単位でホローすれば全体の構造はそのまま行けるだろうという皮算用です。もしくは、全部をC++化しなくても、重い処理や繰り返しが多い処理だけPythonにimport出来るクラス・ライブラリとしてC++で書き直せば良いかもしれません。
#Python
オレメモ
Pythonで文字列からANSIエスケープシーケンスを取り除く方法
ソース
import re
text_ansi = '\033[2KTest\033[2;3HText'
pattern = re.compile( r'\\033\[[0-9;]{1,}[a-zA-Z]{1}' )
text_noansi = pattern.sub( '', text_ansi )
print( text_noansi )
実行結果
TestText
参考にしていた書き込みが間違っていました。
制御文字(\や[)に対するエスケープ[\]がありませんでした。
解決に時間がかかったのは自分の無知が故です。up主に文句を言ったらいけません。
文字数を{}で指定しなくてもいいのですが、自分としてはこの方がメンテナンス性がいいかなと。
あ、ここに書く時もそうなのですが、[\]を表示させるには注意があります。
[\]を表示させるには[\\]としないといけない場合があります。
「\\033」や「\[」と表示するには「\\\033」や「\\[」と打たねばならん事があるということです。システムによって若干違うようですが。
これが原因でup主の書き込みがおかしくなっていたのかな?
それにしても奇妙な字面です・・・
#Python
Pythonで文字列からANSIエスケープシーケンスを取り除く方法
ソース
import re
text_ansi = '\033[2KTest\033[2;3HText'
pattern = re.compile( r'\\033\[[0-9;]{1,}[a-zA-Z]{1}' )
text_noansi = pattern.sub( '', text_ansi )
print( text_noansi )
実行結果
TestText
参考にしていた書き込みが間違っていました。
制御文字(\や[)に対するエスケープ[\]がありませんでした。
解決に時間がかかったのは自分の無知が故です。up主に文句を言ったらいけません。
文字数を{}で指定しなくてもいいのですが、自分としてはこの方がメンテナンス性がいいかなと。
あ、ここに書く時もそうなのですが、[\]を表示させるには注意があります。
[\]を表示させるには[\\]としないといけない場合があります。
「\\033」や「\[」と表示するには「\\\033」や「\\[」と打たねばならん事があるということです。システムによって若干違うようですが。
これが原因でup主の書き込みがおかしくなっていたのかな?
それにしても奇妙な字面です・・・
#Python
出来るだけclass記述を用いてPythonを書いていますが、慣れるといいですね、コレ。
そういうモノなので当たり前ですが、自分で書いたライブラリが通常のライブラリと同じ様に使えます。通常関数か、スレッドか、プロセスか、その辺りの書き分けもclass側に持たせること出来るのでメインソースがかなりシンプルになります。
ただ、後で迷わないようにするために、ソースコード内のコメントに使い方を記述するなど、運用のコツを掴まないといけません。
書いた本人が後日も使えるようにしておくのが一番難しかったりして・・・
#Python
そういうモノなので当たり前ですが、自分で書いたライブラリが通常のライブラリと同じ様に使えます。通常関数か、スレッドか、プロセスか、その辺りの書き分けもclass側に持たせること出来るのでメインソースがかなりシンプルになります。
ただ、後で迷わないようにするために、ソースコード内のコメントに使い方を記述するなど、運用のコツを掴まないといけません。
書いた本人が後日も使えるようにしておくのが一番難しかったりして・・・
#Python
ポリエステル樹脂が硬化しなかった原因は予想の通り添加した顔料の量でした。
顔料は色によって許容添加量が違うらしく、最初に試した青は最大8%ですが、黒は最大4%です。お察しの通り、黒を青の量でやってしまったのです。
今回は黒の顔料を2%、アセトンを15%添加したのですが、5時間経過でベタ付きが無くなっています。アセトンが揮発して完全に硬化するには丸一日かかりそうですが、解決が見えたので一安心です。
黒の顔料は2%でも完全な真っ黒になったので、今後は1%くらいでも良さそうです。添加物は少ないに越したことはありませんからね。他に比べ価格の割りに量が少ないのですが、少ない量で効果が出るなら安いと言えます。
塗布方法ですが、FRP用のローラーを使って解決。このローラーは一晩アセトンに付け込んでも劣化する様子はありません。専用品ですから当たり前?
ブラシが硬いためかペーパーで下地を均しても表面の仕上がりが僅かに波打つので避けていたのですが、書き物をする面ではありませんし、少し凹凸があるとゴム脚が滑りにくく貼り付きません。エアガンは平らに仕上がりますが、周囲への被害を考えると避けたい選択肢です。FRP用ローラーが妥協線かなと。
客席テーブルver4.5はトップコートとして顔料無添加のポリエステル樹脂を塗布して完成にしたいと思います。艶消し剤を添加しなくても半艶に仕上がるので機械強度を第一にします。
#ガチ工作
顔料は色によって許容添加量が違うらしく、最初に試した青は最大8%ですが、黒は最大4%です。お察しの通り、黒を青の量でやってしまったのです。
今回は黒の顔料を2%、アセトンを15%添加したのですが、5時間経過でベタ付きが無くなっています。アセトンが揮発して完全に硬化するには丸一日かかりそうですが、解決が見えたので一安心です。
黒の顔料は2%でも完全な真っ黒になったので、今後は1%くらいでも良さそうです。添加物は少ないに越したことはありませんからね。他に比べ価格の割りに量が少ないのですが、少ない量で効果が出るなら安いと言えます。
塗布方法ですが、FRP用のローラーを使って解決。このローラーは一晩アセトンに付け込んでも劣化する様子はありません。専用品ですから当たり前?
ブラシが硬いためかペーパーで下地を均しても表面の仕上がりが僅かに波打つので避けていたのですが、書き物をする面ではありませんし、少し凹凸があるとゴム脚が滑りにくく貼り付きません。エアガンは平らに仕上がりますが、周囲への被害を考えると避けたい選択肢です。FRP用ローラーが妥協線かなと。
客席テーブルver4.5はトップコートとして顔料無添加のポリエステル樹脂を塗布して完成にしたいと思います。艶消し剤を添加しなくても半艶に仕上がるので機械強度を第一にします。
#ガチ工作
ネットを何気に見ていてPythonの「継承」が具体的にわかってきました。
「継承」はclassを使って新たなclassを作る方法です。classの中で別なclassからオブジェクトを作って使っても同様の結果を出せますが、「継承」は別なclassのインスタンスをインスタンスのまま呼んで使います。C言語をご存じの方なら、classの中で別なclassのインスタンスをincludeするイメージでよいと思います。ちょっと説明が難しいところですね。
Pythonといいますか、オブジェクト指向言語独特の考え方のようです。実体であるオブジェクト、オブジェクトを作るレシピのインスタンス、インスタンスを呼び出せるようにまとめたクラスとなるようです。俺様関数を楽に作る方法ですから、これなら一度書いたことを多目的に利用できますで、同じことを何度も書かずに済ますことが出来ます。
ここで重要になるのがsuper()です。ただ、これがあって初めて継承が可能になるのに、これについての説明が書籍でもネットでも弱い気がします。
また、最もシンプルな基礎用法を題材に説明するのではなく、最もシンプルな応用例を題材に説明する文書が多いので、機能の核心を理解するのを遠ざけている傾向を感じます。
#Python
「継承」はclassを使って新たなclassを作る方法です。classの中で別なclassからオブジェクトを作って使っても同様の結果を出せますが、「継承」は別なclassのインスタンスをインスタンスのまま呼んで使います。C言語をご存じの方なら、classの中で別なclassのインスタンスをincludeするイメージでよいと思います。ちょっと説明が難しいところですね。
Pythonといいますか、オブジェクト指向言語独特の考え方のようです。実体であるオブジェクト、オブジェクトを作るレシピのインスタンス、インスタンスを呼び出せるようにまとめたクラスとなるようです。俺様関数を楽に作る方法ですから、これなら一度書いたことを多目的に利用できますで、同じことを何度も書かずに済ますことが出来ます。
ここで重要になるのがsuper()です。ただ、これがあって初めて継承が可能になるのに、これについての説明が書籍でもネットでも弱い気がします。
また、最もシンプルな基礎用法を題材に説明するのではなく、最もシンプルな応用例を題材に説明する文書が多いので、機能の核心を理解するのを遠ざけている傾向を感じます。
#Python
客席テーブルにポリエステル樹脂を上塗りをしたのですが、顔料を入れて過ぎたためか硬化不良になってしまいました。要は固まらない。
完全に硬化反応したポリエステル樹脂はアセトンでほぼ溶けないようです。硬化が怪しい時はアセトンで拭いてみるとわかるのかもしれません。
このままでは使えないのでアセトンで拭き取ってやり直しです。
#ガチ工作
完全に硬化反応したポリエステル樹脂はアセトンでほぼ溶けないようです。硬化が怪しい時はアセトンで拭いてみるとわかるのかもしれません。
このままでは使えないのでアセトンで拭き取ってやり直しです。
#ガチ工作