Python関連のことを調べてみた

Python関連のことを調べてみた
目次

500時間かけて作成したアプリ、ダウンロード数は5件で全て社内の人間だった件について

## はじめに
26歳で4年間勤めた酒屋を辞め、未経験からIT業界に飛び込みました。
最初の一年は運用監視の仕事に従事し、その後、転職して開発の世界に足を踏み入れました。未経験でアプリのリリースまでを振り返りました。
誰にでもあるような普通の転職ストーリーかもしれませんが、もしよければご一読ください。

## 作成した経緯とアプリ
携帯電話にかかってきた電話番号であればアプリでブロック等出来ますが、固定電話にかかってきた電話番号は手入力で検索しなければいけませんでした。
着信画面と検索バーをにらめっこしているうち電話は切れてしまいます。
そこでカメラから電話番号を認識して検索するAndroidアプリを製作しました。
https://play.google.com/store/apps/details?id=com.company.phonenumberOCR

1.png

元記事を表示

YAMLにpythonのコードを書きまくるのは何故ダメなのか

# はじめに

都知事選の安野候補、ポスターの貼り方と髪型・服装とYAMLファイルの書き方だけひたすら批判されている前代未聞の都知事候補となっている(※2024/6/26時点)
現職知事が公約未達や経歴詐称疑惑等で批判されている一方でこれはちょっと面白すぎる。

https://x.com/ssig33/status/1804740980643602792

そんなにダメなの?現職が8年も在任していたのに公約の花粉症撲滅を実現しなかったことより悪いことなの?

https://x.com/annotakahiro24/status/1805788500077559866

https://x.com/takahiroanno/status/1805787260018901419

https://github.com/takahiroanno2024/election2024/pull/113/files

あらゆる人の意見を爆速でキャッチアップし、リファクタリングしていて本当に凄い。現職には、花粉症もこのスピード感で撲滅してほしかった。

私はエンジニアでもプログラマでもないので、な

元記事を表示

GitHub ActionsでFastAPIテストを自動化

### 単体テストサンプル

FastAPIのテストのためのモジュールTestClientを使って、テストの対象となるFastAPIモジュールに対してテスト用のクライアントを生成します。`test_` で始まる関数は自動的にテストケースとして認識されるので関数名をtest_sampleにします。サンプルコードは下のようになります。

api/tests/test_sample.py

“`python
from app import app
from fastapi.testclient import TestClient

client = TestClient(app)

def test_sample():
response = client.post(
“/api/test-sample”,
json={
[
“test”:”requset-sample”
]
},
)
assert response.status_code == 2

元記事を表示

ひたすらCPUとGPUをいじめる

# 総合システム検査テストのたたき台づくり

– 市販ではBurnintestなどありますが、自分たちでどうにかならないとゆうしゅうn同僚が制作しているのを見て刺激を受けた
– Ubuntuしか仕事では最近使わないので、ちょっとつくってみる
– Windowsってなんだかんだすごいんだなと思うこともある

:::note info
For your reference
Regarding the English / CN explanation below link is better for non-Japanese speaker
:::

En

https://github.com/mi-kaneyon/Ubuntu_loadpower/tree/main

### Cn

https://github.com/mi-kaneyon/Ubuntu_loadpower/blob/main/%E4%B8%AD%E6%96%87.md

# できること![power_load.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

a^2+b^2=2025を満たす 自然数(a,b)すべての組「PASSLABO様の【面白実験】難問に変えてみた(mod3禁止)」をChatGPTとsympyでやってみたい。

・??? ChatGPT-3.5先生は、もっと虱潰しかと思いました。私。
https://www.deepl.com/ja/translator#ja/en/虱潰し
google 検索 虱潰し

コメント様より
>高々45までの偶数と奇数の組み合わせだから力業で…

# オリジナル
・PASSLABO 様 (0:00〜13:50)

# ChatGPT-3.5先生へ(1回目)

“`
a^2+b^2=2025を満たす
自然数(a,b)すべての組をもとめよ。
mod3禁止で
“`
“`python
日本語で
“`
…=2025 を満たす自然数の組は (27,36) と (36,27) です。

# ChatGPT-3.5先生へ(2回目)
“`
a^2+b^2=2025を満たす
自然数(a,b)すべての組をもとめよ。
“`
…aとbは1から45の間の数であることがわかります。…
“`python
import math

solutions = []
for a in range(1, 46):

元記事を表示

Discord Botの作り方 超初心者向け #00

# はじめに
このシリーズは自分がものすごく暇なため記載していくQiitaです。
最終目標はスラッシュコマンドを利用してユーザーの操作をするぐらいまで行こうかと思います
超初心者向けということなので知識のある方は退屈に感じるかもしれませんが、一からすべて説明していきたいと思います!

# 準備するもの
PC(Windows 10,11)
ブラウザソフト (Chrome,Firefox,Edgeなんでも良い)

# 手順1 pythonをインストール
まずdiscord.py(discord botをpythonで実行するための物)を動かす環境をPCに入れていく作業をします。
https://www.python.org/downloads/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3793169/d700915b-03a2-b49f-e136-219264d9204b.png)
ファイルがダウンロードされるのでクリックしてインストール
![image.png](https://qi

元記事を表示

Jupyter + Matplotlib

よく知らなくても何となく使えてしまう [matplotlib](https://matplotlib.org)。しかしちょっと凝ったことしようとするとめちゃ難しい。。。という事で調べてみました。

目標: Pandas で描いたグラフに線を重ねてみたり色々工夫したい。

参考: https://matplotlib.org/stable/users/explain/quick_start.html

“`python
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
“`

Pandas では、とても簡単にグラフを描く事ができます。例えば Series オブジェクトの `plot()` を呼ぶだけでグラフになります!

“`python
ax = pd.Series(np.sin(np.linspace(0, 2 * np.pi, 100))).plot()
print(“plot() の戻り値は: “, ax)
“`

plot() の戻り値は: Axes(0.125,0

元記事を表示

JavaScriptのfor文をPythonで書き直そうとしたら躓いた話

現在Pythonを学習しているのですが、私は最初にJavaScript(以下JS)を少し学習してからPythonを始めたため、日々の頭の体操としてJSの関数をPythonに置き換えるという事を行っていました。
多くは似たような書き方になるのですが、for文で躓いたためその時のことを書いていこうと思います。

# JSの構文を真似たらエラーが……
いつも利用させていただいている「JavaScript Coding Challenges」という問題集から下記の設問を引用させていただきます。
リンクも張らせていただきますので、よろしければご自身でもチャレンジしてみてください。
頭の体操にもなります!
リンク:[JavaScript Coding Challenges](https://github.com/jahidulislamzim/JavaScriptCodingChallenges “JavaScript Coding Challenges”)

> 13.Add up all the numbers from 1 to the number you passed to the fu

元記事を表示

Athenaでdouble型(実数型)を取得したら指数表記になってたので変換した話

# はじめに
LambdaとAthenaを使ってデータを取得、返却するプログラムを作りテストをしたところ「0.0003」などの小数が「3.0E-4」などの指数表記で帰ってきていました。
1つのLambdaで指定したテーブルの全列を取得できるような仕様にしており、特定の列をCASTするといったアプローチは取れなかったため指定されたテーブルのスキーマーをもとに取得列を動的に作成するLambdaを作成しました。

# 本題
“`python:main.py

import json
import awswrangler as wr

DATABASE = ‘database_name’
TABLE_NAME = ‘table_name’
OUTPUT_LOCATION=’s3://example’

def lambda_handler(event, context):

try:

# テーブルの列名、型を取得
query = f”””
select
*
from information_sche

元記事を表示

簡単なPythonのC++コード生成ツール

## code-generation

最近は生成AIでコード生成も簡単にできますが、特定のルールで多数の類似コードを作りたい時など、一般的なツールを使ったほうが良いこともあります。

code-generationはPythonのモジュールでC++コードを簡単に作ることができるので試してみました。

https://pypi.org/project/code-generation/

#### インストール

“`console
$ pip install code-generation
“`

#### ファイルの作成

“`example.cpp“`というファイルを作成

“`python
from code_generation import code_generator
cpp = code_generator.CppFile(‘example.cpp’)
“`

#### 定数
`CppFile`は文字列型を受け取り、そのまま書き込むことができます。

“`python
cpp(‘int n = 0;’)
“`
↓(作成されたコード)
“`
int n =

元記事を表示

ラズパイでpygameを使ったアプリでウィンドウにフォーカスを当たっていなくてもジョイスティックの入力を取得したい

# 結 論
xvfbを使って、仮想ディスプレイを作成して起動しましょう!

# 検証した環境
ラズパイ4Bで確認しました。
“`bash
$ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
$ cat /etc/os-release
PRETTY_NAME=”Debian GNU/Linux 12 (bookworm)”
NAME=”Debian GNU/Linux”
VERSION_ID=”12″
VERSION=”12 (bookworm)”
VERSION_CODENAME=bookworm
ID=debian
HOME_URL=”https://www.debian.org/”
SUPPORT_URL=”https://www.debian.org/support”
BUG_REPORT_URL=”https://bugs.debian.org/”
“`

# 背 景

– ラズパイでGPIOに色

元記事を表示

グラフデータを用いてニューラルネットワークを構築する

# 1. はじめに
概要だけ簡単に書きます。Pythonによる実際のモデル構築とかはChatGPTに聞けば勝手にやってもらえると思うので、どういうタスクに使えるのか?他モデルと比較した時の長所は?等、コンペでのモデル選択になるべく役立つような形で説明します。
# 2. グラフデータとは?
こちらの記事で超ざっくり説明してます。

https://qiita.com/iamtaro/items/a0bae824e1de9acc1a82

# 3. ニューラルネットワークの種類
ニューラルネットワーク(NN)とは、複数の人工ニューロンを層状に組み合わせてデータのパターンを学習し予測を行うアルゴリズムの総称です。画像処理で使う畳み込みNN、グラフデータを処理するグラフNN、時系列データや言語データなど順番が大事なデータを処理するリカレントNN等、様々なものがあります。入力データの種類に応じて呼び名が変化しています。本記事ではグラフデータを扱うのでグラフNN(以下GNN)を取り上げます。

# 3. モデルの構造
最初に入力データの紹介だけして、モデルの内部構造である入力層・中間層・出力層につ

元記事を表示

漢数字を含むテキストの漢数字部分を半角数字に変換するPythonスクリプト

世の中には数字を漢数字で出力してくるサービスがまあまあ有りまして、(Amaz○n Transcribeっていうんですけど)

例えば「1972年」などは、「千九百七十二年」などと出力してきます。

また別のシステムでは「一九七二年」などと表示してきます。

見栄えが悪いので、一律半角数字にしたいです。

調べたところ、kanjizeというライブラリが有りました!

https://qiita.com/nagataaaas/items/154751c4f23b468e1c15


とてもよいライブラリですが、
テキストをまるっと投げると、当然ながらエラーになってしまいます。

>>> kanji2number(‘千九百七十二’)
1972
>>> kanji2number(‘千九百七十二年’)
Traceback (most recent call last):
File ““, line 1, in
File “/home/eievui/anaconda3/lib/python3.7/site

元記事を表示

st image clipboard

“`python

import streamlit as st
from PIL import ImageGrab
import io

def get_image_from_clipboard():
image = ImageGrab.grabclipboard()
if image is not None:
return image
return None

def main():
st.title(“クリップボード画像アプリ”)

st.write(“クリップボードに画像をコピーし、以下のボタンをクリックしてください。”)

if st.button(“クリップボードから画像を貼り付け”):
image = get_image_from_clipboard()
if image is not None:
st.image(image, caption=”クリップボードからの画像”, use_column_width=True)
else

元記事を表示

AWSのPublic IP一覧を表示するPythonスクリプト(Lambdaとか)

LambdaのPublic IPの一覧がほしかったので、調べてみました。

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/aws-ip-ranges.html

リンク先の記事にあるように、
AWSのPublic IPの一覧は、下記のURLにjson形式で公開されています。

https://ip-ranges.amazonaws.com/ip-ranges.json

が、大方の予想通り、あまりにも巨大でブラウザで見るにはとてもつらいため
必要なデータだけ抽出するようなPythonスクリプトを作成しました。

import requests

REGION = “us-west-1”
SERVICE = “EC2”

ip_ranges = requests.get(‘https://ip-ranges.amazonaws.com/ip-ranges.json’).json()[‘prefixes’]

ips = [item[‘ip_prefix’] fo

元記事を表示

【Pybulletサンプル解説】物体間の制約の生成と更新【constraint.py】

お疲れ様です。秋並です。

Pybullet公式gitリポジトリのサンプルコードを解説するシリーズです(一覧は[こちら](https://qiita.com/akinami/items/7b433b60aeb5115ba4d7))。

今回は、constraint.pyを解説します。(コードのリンクは[こちら](https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/examples/constraint.py))

本コードを実行すると、箱状のオブジェクトが時間とともに制約が変更されていくことで、位置や角度が変化していく様子を確認できます。

![constraint.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2030125/4cd008d1-1302-a046-8821-42a46877222b.gif)

# 使用している機能
本コードは、以下の機能を使用して「制約の作成、更新」を実現できます

元記事を表示

Polarsの読み込みエラー対処

![eyecatch-polars-1-960×504.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/986141/bd716ce9-e760-0f13-ed4d-41507c14c65a.jpeg)

**Polars**は並列処理エンジン、効率的なアルゴリズム、SIMD(Single Instruction, Multiple Data)によるベクトル化の使用により、Pandasよりも30倍ほど早く処理できると言われているサードパーティのライブラリです。使い勝手はPandasを意識してつくられています。

https://pola.rs/

## 課題
例えば、こちらのkaggleのデータセットを読み込もうとすると次のエラーが出ます。

https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques/overview

“`python
[in]
import polars as pl
df = p

元記事を表示

【実例付き】累計3万人が使うDiscordのBotを3年間運営し続けて得た知見まとめ

# 読み飛ばしてください
おはようございます、しなもんです。
プログラムコードを人生で初めて書いたのがDiscordBotというくらいには、
いろんなbotを作ってきた気がします。

というわけで、DiscordのBotを3年間作り続けて得た知見をまとめようと思います。
よろしくお願いします。

:::note warn
今回の記事において、Botの構築方法などは紹介しません。
あくまでDiscordのBotを自力で構築できる程度の知識を事前に必要とするものとします。
:::

# 0. アクティブデベロッパーバッチというものを貰える
※これは知見というよりおまけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1927831/5c372236-88c0-7c39-49ef-9412cbf0292b.png)

DiscordのBotを**所有**し、かつ**過去30日以内に一度でも使用された**場合、
アクティブデベロッパーバッチというものを申請できます。
(申請基準が非常に低

元記事を表示

データマスキングしたテストDBデータを作る

# はじめに

本番環境から取得したデータを使用する際のデータマスキング についてまとめる

– 特定の列や値を匿名化または置換。
– 主要なデータ項目に対し、尤もらしい形式を保持しつつ、匿名化するpython処理

# Fakerを使用した簡単な例

Fakerライブラリを使用して、リアルな偽のデータを生成します

“`python

import pandas as pd
from faker import Faker

# サンプルの匿名化前のデータ
data = {
‘name’: [‘山田太郎’, ‘鈴木花子’, ‘佐藤健’, ‘田中美穂’],
‘email’: [‘yamada@example.com’, ‘suzuki@example.com’, ‘sato@example.com’, ‘tanaka@example.com’],
‘phone’: [‘090-1234-5678’, ‘080-2345-6789’, ‘070-3456-7890’, ‘090-4567-8901’],
‘address’: [‘東京都港区1-2

元記事を表示

PythonからローカルにあるExcelファイルをGoogleDriveにスプレッドシートとしてアップロード

## 事前準備

**認証情報の作成**
PythonからGoogleDroveに連携するため、下記のURLから認証情報を作成する。

https://console.cloud.google.com/

認証情報の作成は、サイドメニューバー >[APIとサービス] > [認証情報] から作成する。

![スクリーンショット 2024-06-23 11.36.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780659/59b8da06-9200-d912-df50-b1a23ec9e222.png)

[+ 認証情報を作成] > [OAuth クライアント ID]を選択する。

![スクリーンショット 2024-06-23 11.43.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780659/e827b3f3-f6bc-888b-0643-e93d15cfb433.png)

[アプリケーションの種類

元記事を表示

OTHERカテゴリの最新記事