- 1. そもそもVBA(Visual Basic for Application)とは
- 2. これまでPHP、Laravel、Python(と少しだけJava)を少し勉強してきた中であまり聞いたことのないような謎方言や謎文化が時々出てくるので集めてみた~その壱~
- 2.1. ①「解放」=「削除」(+「エクスポート」)
- 2.2. Tello ドローンの操作とプログラミング
- 2.3. Hawkes過程をざっくり理解したい
- 2.4. Python で PDF にハイパーリンクを追加する
- 2.5. Oracle Machine Learning for Pythonをインストールしてみた。(2024/01/30)
- 2.6. ChatGPTとPythonで学ぶ OSMnx
- 2.7. 【2024年】ITエンジニア本大賞まとめ
- 2.8. PythonでOCR(テキスト検出)
- 2.9. Pythonスクリプトを複数ディレクトリにループで実行する
- 2.10. Google Colab でアップロードされたファイルを指定のファイル名に変える
- 2.11. クラスでオブジェクトを大量生産する例
- 2.12. Atomic Simulation Environment (ASE)の使い方
- 2.13. 画像生成AI for WindowsをPythonでやってみた
Python学習9日~モジュール~
## モジュール
プログラムを構成する部品のこと
Pythonでは作成したファイル(.pyファイル)のこと## パッケージ
モジュールを詰め合わせたもの## ライブラリ
組み込みではない(Python処理系に内蔵されていない)機能### random
擬似乱数に関するモジュール~~~Python
import random
random.randint(1,10)
~~~
~~~:実行結果
4
~~~**randint関数**は指定した範囲でランダムに整数を生成してくれる関数
~~~Python
import random as r
~~~
モジュールに任意の名前をつけることができる
上記例ではrandomモジュールをrとしてimportしている### from節
モジュール名なしで機能を使えるようにする~~~Python
# 特定のモジュールだけを使えるようにする
from モジュール名 import 機能名,…# モジュール内すべての機能を使えるようにする
from モジュール名 import *# インポートした機能に別名をつける
# f
アナログなタスクを自動化して楽しよう
## 目次
[こんなタスクがありました](こんなタスクがありました)
[pythonで自動化しよう](pythonで自動化しよう)
[下準備](下準備)
[コード](コード)
[まとめ](まとめ)# こんなタスクがありました
もらったエクセルを元にしてDBにデータを追加するお仕事。
エクセルからコピペでSqlServerにデータを追加するという超アナログタスク。
コピペするにはDBのテーブルカラムと列を合わせる必要があるので
新しいエクセルシートを作成して列毎に情報を一つ一つセルに書き込む下準備が必要。
その上、定期的に仕事がやってくるのでメンドくさいorz# pythonで自動化しよう
手動でエクセルを用意してデータ追加するのではなく、プログラムにやらせよう。
作業時間が大幅に短縮されるし、コピペミスも無くなる!ということで openpyxl, sqlalchemy を使ってタスクの自動化をしていこう。
※openpyxlとは、PythonでExcelファイルを作成できる便利なツールである# 下準備
もらったエクセル(例えばdata.xlsx)をデスクトップに置こう。
顔画像から年代を推定するアプリを作ってみた
*このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。
# 自己紹介
イタリアンが好きなただの会社員です。AIについて何も知らないなーと思って、いくつかAI関連資格を取得しましたが、知識があっても現場で応用できないことに気づいたので、Aidemyさんの「アプリ作成講座」を受講しました。今回は作成したアプリの内容について話します。# 本アプリ作成に至った経緯
##### 迷い道
現場で応用できるようにと意気込んだ手前、しっかりしたアプリを作ろうと思っていました。講座を受け始めた時はこういうの作りたいな、これは役に立ちそうだな、と思い巡らしていました。ところがどっこい、学べば学ぶほど実現出来る出来ないがはっきりしてきて、しばらく悩むことになります。物は試しとYouTubeのサムネイルから再生数を予測したり、10円玉の大きさから物の大きさを測るコインメジャーだったりを作ろうとしましたが、うまくいかず断念しました。いっそエンターテインメント系に振り切ろうと思って、ボディービルダーの画
Python: isinstance(False, int) == True
“`python
> isinstance(False, int)
True
> isinstance(True, int)
True
“`まじかー知らなかった。
————-
これはこうなんだなぁ。
“`python
> isinstance(1, bool)
False
> isinstance(0, bool)
False
“`※ python3.11 です
実践的なオブジェクト思考の考え方を説明してみる
# 目次
[1.オブジェクト思考とは](#1-オブジェクト思考とは)
[2.実例](#2-実例)
[3.おわりに](#3-おわりに)# 1. オブジェクト思考とは
※前提条件:本記事は初心者に向けてイメージを掴んでいただくものであるため、厳密には違うかもしれません。
私のプログラミングメンタリングを長らく受講していただいている方に向けて、オブジェクト思考をわかりやすく説明したかったのですが、良い記事が見つからず、本記事を執筆することにしました。
オブジェクト思考とは、プログラムを機能単位(オブジェクト)に分けて、その中にメソッド(実行単位)を記載していく設計思想です。PythonやSwiftなど、モダンな言語に採用されています。# 2. 実例
以下は、挨拶をするプログラムの例です。
– parents:この機能は何を実装すれば良いのかの設計書
– child:parentsに書かれた設計書をもとに機能を実装
– main:プログラムを実行するだけのもの
~~~python:perents_greet.py
# class宣言
class Human:# コンストラ
【Python】数値を有限bitの符号付整数として解釈する方法
`0b10000000` を8bitの符号付整数として解釈すると `-128` になるが、Pythonでは `128` と解釈されてしまう。
Pythonのintは有限bitではないので、先頭のビットが符号ビットとして解釈されないことが理由なのだが、ラズパイでセンサーなんかを触っていると8bitの符号付整数として扱いたいときがある。
そんな時に、intを任意bitの符号付整数として解釈する方法を残しておく。# 8bitの符号付整数として解釈する
“`python
n = 0b10000000 # 128
mask = 0b11111111 # 8bitのマスクを用意# nを8bitの符号付整数として解釈する
# – `n ^ mask` : 単純なビット反転
# – `~` で符号を考慮したビット反転
~(n ^ mask) # -128
“`# 16bitの符号付整数として解釈する
“`python
n = 0b100000000000000 # 32768
mask = 0b1111111111111111 # 16bitのマスクを用意#
【Python】int,bytes,strの相互変換と表示
# ■ 2進数・16進数で数値を宣言する
“`python
# 2進数
n = 0b1111111111111111 # 65535# 16進数
n = 0xffff # 65535
“`# ■ intからbytesに変換
## int -> bytes“`python
n = 0b1111000111110010
# 2バイトでビッグエンディアン
n.to_bytes(2, ‘big’) # b’\xf1\xf2′# 2バイトでリトルエンディアン
n.to_bytes(2, ‘little’) # b’\xf2\xf1′# 4バイトでビッグエンディアン
n.to_bytes(4, ‘big’) # b’\x00\x00\xf1\xf2′# 4バイトでリトルエンディアン
n.to_bytes(4, ‘little’) # b’\xf2\xf1\x00\x00′
“`### structを使う方法
https://micropython-docs-ja.readthedocs.io/ja/latest/library/struct.h
VBA学習備忘録③ Python等の他言語から見たVBAの独自な文化&方言①
そもそもVBA(Visual Basic for Application)とは
https://qiita.com/thinking-weed/items/b322d1e34b888aa3ca22
これまでPHP、Laravel、Python(と少しだけJava)を少し勉強してきた中であまり聞いたことのないような謎方言や謎文化が時々出てくるので集めてみた~その壱~
※以下の文にあるコードは、基本Subプロシージャ(指定した操作を実行する基本的なマクロ)に用いるものであり、冒頭のSub マクロ名()と末尾のEnd Subは省略してあります。
①「解放」=「削除」(+「エクスポート」)
details
上記Qiitaの通り、VBE(VBAのエディター)を開いて、**挿入** ⇒「~モジュール」を開くと
以下のような画面が出てきますが、例えば無駄なモジュール追加しちゃった場合、
最初削除どこにあるん??(´。`)??ってなりました。![module_release.
Tello ドローンの操作とプログラミング
# はじめに
DJIの[Telloドローン](https://www.amazon.co.jp/%E3%80%90%E5%9B%BD%E5%86%85%E6%AD%A3%E8%A6%8F%E5%93%81%E3%80%91-%E3%83%88%E3%82%A4%E3%83%89%E3%83%AD%E3%83%BC%E3%83%B3-%E3%83%96%E3%83%BC%E3%82%B9%E3%83%88%E3%82%B3%E3%83%B3%E3%83%9C-Powered-DJI/dp/B07GJ74CDL/ref=sr_1_3?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2CHH1UEMJ6JMP&keywords=Tello&qid=1706583703&sprefix=tello%2Caps%2C166&sr=8-3&th=1)は、初心者でも簡単に操作できるコンパクトで多機能なドローンです。この記事では、Telloドローンの基本的な操作をPythonを使用して説明します。
## **ライブラリのインストール**
Hawkes過程をざっくり理解したい
# 💡 Hawkes過程をざっくり理解する
Hawkes過程は、イベントの発生が後続のイベントの発生頻度を増加させるという自己励起性を持つ点過程モデルです。金融市場の取引活動、地震の発生、社会的活動の拡散など、自己励起的な特性を持つ現象をモデル化するのに広く用いられています。
Hawkes過程のこの自己励起性は、その**強度関数**によって特徴付けられています。強度関数への理解を深めるために、まず定常ポアソン過程、次に非定常ポアソン過程、そして点過程の一般理論に沿った発展の順を追って説明していきます。
### 強度関数とは
強度関数 $\lambda(t)$ は、ある時刻 $t$ におけるイベントの発生率を表します。
### 定常ポアソン過程の強度関数
定常ポアソン過程では、イベントは時間が経つにつれて独立してランダムに発生します。ここでは、全ての時間間隔でイベントの発生率(強度) $\lambda$ は一定です。時間が経っても発生率は変わらないため、「定常」と呼ばれます。
### 非定常ポアソン過程の強度関数
対照的に、非定常ポアソン過程ではイベントの発生率 $\la
Python で PDF にハイパーリンクを追加する
## はじめに
PDF ドキュメントは情報やコンテンツの共有に広く使用され、ハイパーリンクを追加することで読者が簡単に関連する場所にアクセスできるようになります。例えば、文書内の特定のページ、ウェブサイト、メールアドレス、またはファイルへのリンクを作成することができます。Python で PDF にハイパーリンクを追加する方法について、この記事では詳しく説明します。
## ツール
* Python 3.12.0
* [Spire.PDF for Python](https://www.e-iceblue.com/Introduce/pdf-for-python.html)ライブラリこのライブラリは購入する必要がありますが、[30 日間の無料試用版](https://www.e-iceblue.com/TemLicense.html)も提供されています。
もっと多いサンプルコードについて、[Spire.PDF for Python](https://www.e-iceblue.com/Download/Spire-PDF-Python.html)をダウンロードして参照してください。
Oracle Machine Learning for Pythonをインストールしてみた。(2024/01/30)
# はじめに
Oracle DatabaseのIn-Database機械学習機能であるOracle Machine Learningは、PL/SQL、R言語に加えてPythonも利用することができます。
これまでAutonomous Databaseで利用可能だったOracle Machine Learning for Python(OML4Py)がAutonomous Database以外のOracle Databaseでも利用できることになりました。
Autonomous Databaseには、あらかじめインストールされていますが、それ以外のOracle Databaseでは、必要なPythonライブラリおよびOML4Pyサーバー・コンポーネントをデータベースにインストールし、OML4Pyクライアントをインストールする作業が発生しますので、インストールしてみました。今回はOracle Linux8上のOracle Database 19cの環境にインストールしています。
# 作業ステップ
1. OML4Pyをインストールするシステム要件
1. Pythonのインストール
ChatGPTとPythonで学ぶ OSMnx
おはこんばんちわ。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ OSMnx」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。
—
### **assistant**:
おはようございます、どの時間帯でも対応可のChatGPTです。前回の雑談から引き続き、今日はOSMnxについて一緒に学びましょう。Pythonを使った地図操作や分析のための強力な道具です。
OSMnxはOpenStreetMap(オープンストリートマップ)のデータを収集し、Pythonで扱えるデータとして利用するためのライブラリです。主に地理情報分析、都市計画、交通路ネットワークの分析などに用いられます。
OSMnxを使うと、特定の地域や地形の地図を取得し、それを分析したり、視覚化したりすることができます。また、道路や交通路などのネットワーク情報も取得できるため、ネットワーク分析のための強力なツールとなっています。
それでは、一緒にOSMnxの基本的な使い方を学んでみましょう。まずはOSMnxライブラリをインストールします。以
【2024年】ITエンジニア本大賞まとめ
# [アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知](https://amzn.to/3HA29NY)
[![画像タイトル](https://m.media-amazon.com/images/W/MEDIAX_849526-T1/images/I/81RMFL5D0sL._SL1500_.jpg)](https://amzn.to/3HA29NY)
**チーム・組織にプラクティスを導入し、根付かせるために!
116の手法を一冊にまとめた“実践”の手引き**チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。
プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。
本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。
架空の開発現場を舞台にしたマン
PythonでOCR(テキスト検出)
# かんたんにテキスト検出
![2a173197-7beb-4840-b095-5e7d7c0e14c6.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/ba10e89c-c032-fce5-4a33-98f6381ef01d.jpeg)
# 手順
### インストール
“`shell
pip install easyocr
“`### 実行
“`python
import easyocrimage_path = ‘texts.jpg’
reader = easyocr.Reader([‘en’]) # this needs to run only once to load the model into memory
results = reader.readtext(image_path)
“`これだけ。
結果は
[xyxy座標, テキスト, 信頼度]>[([[1242, 3507], [2285, 3507], [2285, 4207], [1
Pythonスクリプトを複数ディレクトリにループで実行する
親ディレクトリの子ディレクトリ全てについて、
“`shell
python detect.py –source {子ディレクトリ}
“`
を実行する例。“`python
import os
import subprocessscript_name = ‘detect.py’
parent_directory = “datasets/”
# ディレクトリを走査
for dirpath, dirnames, _ in os.walk(parent_directory):
for dirname in dirnames:
# 完全なディレクトリパス
full_dir_path = os.path.join(dirpath, dirname)# スクリプトを引数と共に実行
result = subprocess.run([‘python’, ‘detect.py’, ‘–source’, full_dir_path],
Google Colab でアップロードされたファイルを指定のファイル名に変える
毎回、思い出すのが面倒なのでメモ
“`
def upload_as(new_name: str):
import os
from google.colab import filesuploaded_name = [k for k in files.upload().keys()][0]
os.rename(uploaded_name, new_name)
“`
クラスでオブジェクトを大量生産する例
![噴水2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411052/e400a75b-4ba5-66ac-bb2a-30ae63654cf5.gif)
クラスを使うメリットの一つに、オブジェクトを大量生産できるというものがあります
以下はたった一つの水滴を雨あられのように降らせてみたらどうなるかというデモです。
もうちょっと正確に言うと、1粒の水滴を記述したクラスからインスタンスを大量につくるデモです。ちょっとずつ進めていきますので、VSコードエディタを使っている人はcompare selectedでコードを比較しながら見ていただけると幸いです。
前提:グラフィックライブラリとしてpygameを使います。
circle()をつかって小さい丸を描きこれを粒とします。いつものpygameのテンプレートを使っていきます。
ここからマルを書く部分をクラス化していきます。“` py
import pygame
from pygame.locals import *
impor
Atomic Simulation Environment (ASE)の使い方
## Atomic Simulation Environment (ASE)とは
* 第一原理計算/量子化学計算を行うpythonのライブラリ
* 計算の自動化ができる
* いろいろな計算パッケージをcalculatorに用いることができる## 基本的使い方 (VASP利用)
### エネルギー計算
“`python
from ase.build import bulk
from ase.calculators.vasp import Vaspmg = bulk(name=”Mg”, crystalstructure=”hcp”, a=3.1)
calc = Vasp(prec=”normal”, xc=”PBE”, encut=300.0)
mg.set_calculator(calc)
mg.get_potential_energy()
“`### 構造最適化
“`python
from ase import Atoms,Atom
from ase.calculators.vasp import Vasp
from ase.build import fcc111
画像生成AI for WindowsをPythonでやってみた
背景:
昨今、画像生成AIがメディアに登場し、筆者もやってみた。
なお、今回はAIモデルそのものを構築するのではなく、構築されたものを使用することとする。
※筆者はAI生成モデルを構築できるほどの知識量はないため目的:
Pythonを使用して、プログラムを駆使して、画像の生成まで挑戦する
※Promptについては、深追いしません。環境:
– OS: Windows
– IDE:VSCODE
– Git for windowsインストール済
– 必要ソフト:CUDA12.3
– Pythonの仮想環境整備済準備:
① CUDAのインストールは[ここ](https://developer.nvidia.com/cuda-downloads?target_os=Windows)
②関連ライブラリをpipでインストール
“`terminal
pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu121
pip install –upgrade diffu