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

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

PythonのコードをRustから使う その6 Python関数の引数にserde_json::Valueを渡す

## 前の記事
https://qiita.com/ysuga/items/b4f2fd81e11bf6aa29a6

## 概要
関数の返り値はPyDictからserde_json::Valueに変換してたけど、その逆をメモしてなかったから買いとく。

## ファイルツリー
“`terminal
$ tree
.
├── Cargo.toml
├── scripts
│ ├── mymodule.py
│ └── othermodule
│ └── __init__.py
└── src
└── main.rs
“`

### Cargo.toml
“`toml
[package]
name = “pyo3_test”
version = “0.1.0”
edition = “2021”

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
serde = {version =

元記事を表示

無料サインアップして試してみよう!Amazon BedrockをNew Relic AI Monitoringで観測!

# はじめに
AWS Summit Japan 2024の開催が近づいていますね!!
今年は次の時代を創り出すキー・テクノロジーとして**生成AI**が取り上げられることになっており、注目トピックスになっていますね!基調講演以外のセッションも生成AI関連の話を取り上げられる方が大変多いようです。

今回、2024年3月にGAになった**New Relic AI Monitoringで話題のAmazon Bedrockをモデルとして利用したAIアプリケーションを観測**してみます。New Relic AI Monitoringを利用することで、AIアプリケーションから呼び出しているAmazon Bedrockのパフォーマンスや品質を観測できるようになります。

ハンズオンを通して確認してみましょう。

:::note info
このアップデートの詳細はこちら
[New Relic アップデート(2024年3月)](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202403 “New Relic アップデート(2024年3月)”

元記事を表示

USB TEMPer温度計のデータをPython+InfluxDB+Grafanaで可視化する

## TEMPerって?

10年ぐらい前から売っているUSBの温度計。私のAmazon購買履歴だと2014年に購入している。

当時、こいつを会社にBYODし、最初は[MRTG](https://oss.oetiker.ch/mrtg/)にて、その後[Zabbix](https://www.zabbix.com/)でグラフ化して室温の推移を同僚に見せていた。そして色々あって必要なくなったので、ここ数年は自宅に持ち帰り引き出しの中で寝かせていた。

TEMPer自体のQiitaの記事で検索するとここらへん。古いデバイスなのでZennにはない模様。

https://qiita.com/nekyo/items/bf5d22f3741e23d3679d

https://qiita.com/zembutsu/items/9b718416f6b30a19d83c

https://qiita.com/zembutsu/items/0f8e570c4016ddb4aefa

## 再活用

というか自宅にSwit

元記事を表示

「アダマールテストって直感に反しない?」という疑問を計算で解決する

# はじめに
こんにちは、ユーゴです。今回は、量子コンピュータについてお話ししたいと思います。この節は余談的なのでスキップ可です。

最近は量子コンピュータの勉強をしており、直近では[Quantum Computation using Qiskit v0.2X](https://www.ibm.com/training/certification/ibm-certified-associate-developer-quantum-computation-using-qiskit-v02x-C0010300)を取得しました。
さらに見識を深めるため、最近では[Quantum Native Dojo](https://dojo.qulacs.org/ja/latest/index.html)というページで学習を進めています。今回紹介するのは、こちらのページを進めていたときに、「アダマールテスト」という直感に反する現象を確認したので、紹介します。

# 本題
量子コンピュータの分野で、「[アダマールテスト](https://dojo.qulacs.org/ja/latest/notebook

元記事を表示

pythonの言語仕様について学ぶ。初学者の学び直し日記

本日はpython classのself引数のお作法について

“`
class enemy():
def __init__(self):
self.hp = 100
# self.attack = 50
self.defense = 10
def attack():
print(“attack”)

en1 = enemy()
en1.attack()
“`

上記のコードはエラーとなる。

エラーコードは

“`
Cell **In[21], line 10
** 7 print(“attack”)
** **9 en1 = enemy()
**—> **10 en1.attack()TypeError: attack() takes 0 positional arguments but 1 was given
“`

となります。

GPT曰く、

このエラーメッセージは、[`attack`](vscode-file://vscode-a

元記事を表示

VScode Shift + EnterでPythonが実行されるのをやめる

## 事の発端
VSCodeでPythonで書かれたプロジェクト触っているとき、`Enter`を押そうとして間違えて`Shift + Enter`を押してしまい、Pythonコードが実行されてしまう事件が多発していました。

どうやらPythonの選択範囲実行という機能がキーバインドに割り当てられているみたいです。

消しましょう。

## 消す

![](https://storage.googleapis.com/zenn-user-upload/31bc48b9d381-20240420.png)
`⌘ + K`,`⌘ + S`または、VSCodeの右上か左下にある歯車マークを押して「キーバインド」を選択します。

そうすると、キーバインド一覧が出てくるので、検索窓に「shift enter」を入れてフィルタリングしましょう。
![](https://storage.googleapis.com/zenn-user-upload/00e5deea33fb-20240420.png)

出てきた「Python: Python ターミナルで選択範囲」を右クリックで削除します。

##

元記事を表示

Requestsを使ってWebデータの取得

ウェブ上のデータを取得するためにPythonを使用する場合、便利なライブラリの一つがRequestsです。
Requestsは、HTTPリクエストを簡単に行うためのPythonライブラリで、ウェブスクレイピングやAPIとの通信に広く使用されています。

#### Requestsのインストール

まず、Requestsライブラリをインストールします。以下のコマンドを実行してください。

“`bash
pip install requests
“`

#### Requestsの基本的な使い方

##### 1. GETリクエスト

GETリクエストは、最も基本的なHTTPリクエストの一つです。
指定したURLからデータを取得するために使用されます。

“`python
import requests

# URLの指定
url = ‘https://api.example.com/posts/1’

# GETリクエストの送信
response = requests.get(url)

# ステータスコードの確認
print(f”ステータスコード: {response.statu

元記事を表示

cos2π/9+cos4π/9+cos8π/9,cos2π/9 cos4π/9 cos8π/9「2015 兵庫県立大学 前期工学部【5】」をChatGPTとsympyとWolframAlphaでやってみたい。

・ステキな問題です。

# オリジナル

・大学入試数学問題集成 様> 前期工学部【5】 テキスト

https://mathexamtest.web.fc2.com/2015/201511613/2015116130100mj.html#top-0110

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

【5】 次の値を求めよ.

(1) 
cos
2
π
9

+cos

元記事を表示

Python venv メリットと使い方

## はじめに

今日はPythonのvenv(仮想環境)についてです。venvって何?どうやって使うの?って疑問に答えていきます。

## venvとは
venvは手軽に仮想環境を作成・管理できる、Pythonのライブラリの一つです。Pythonの仮想環境を作成するための軽量な仮想環境の作成を行ってくれます。
また、venvはPythonバージョン3.3以降の標準ライブラリとして提供されており、バージョン3.3以降のPythonをインストール済みの方はvenvを別途インストールすることなく利用可能です。

## venvのメリットって?
続いて、venvのメリットを見ていきましょう。

1. プロジェクトごとに環境を分けられる
例えば、あるプロジェクトではPython 3.8を使っていて、別のプロジェクトではPython 3.9を使いたいなんてことがありますよね。venvを使えば、各プロジェクトごとに異なるPythonのバージョンやパッケージを管理できるので、干渉してしまう…という困り事を解消できます。

2. 依存関係の管理が楽
複数のプロジェクトで同じパッケージを違うバー

元記事を表示

1/x+1/y=1/144,x>=yを満たす(x,y)の個数とx+yの総和「PASSLABO様の東大模試初見を、初見でChatGPT-3.5先生に聞きました。」をChatGPTとsympyでやってみたい。

・なんだかスゴすぎる。
・出題者も点検しておられるかも。

# オリジナル
PASSLABO 様 (0:00〜12:25) **以下は、1:20 Let’s go(レッツゴー)** からです。
>やっぱり実験をして…

# ChatGPT-3.5先生へ(1回目の繰り返し)
・???**実行する毎に、結果が異なります。**
 オリジナル様と同じ結果のときもあります。謎?
 私の聞き方が悪いかもです。
・「日本語で」がないと、英文で出ることがあります。
“`
1/x+1/y=1/144,x>=y
を満たす(x,y)の個数と
x+yの総和を求めよ
“`

“`
日本語で
“`

**結果 いろいろ**
・…条件を満たすペアは23組あり、そのペアの 𝑥+𝑦x+y の総和は 68,599 です。 ​
・他

# ChatGPT-3.5先生へ(2回目)sympyで
“`
sympyで
“`

“`python
import sympy as sp

# 変数の定義
x, y = sp.symbols(‘x

元記事を表示

【Python】PEP 8を読んだら新たな発見があった件

Pythonのコーディング規約として公開されているPEP 8に今更ながら目を通すと理解が深まりました。

https://pep8-ja.readthedocs.io/ja/latest/

(需要はないと思いますが) 私視点で勉強になったことをまとめます。

## 式や文中の空白文字

### スライス

> スライスではコロンは二項演算子のように振る舞います。よって、(コロンは優先度が最も低い演算子として扱われるので)両側に同じ数(訳注: 無しでも可だと思われる)のスペースを置くべきです。拡張スライスでは、両側に同じ数のスペースを置かなければなりません。例外: スライスのパラメータが省略された場合は、スペースも省略されます。

“`python
# 正しい:
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[lower:upper], ham[lower:upper:], ham[lower::step]
ham[lower+offset : upper+offset]
ham[: upper_fn(x) : st

元記事を表示

Dify Code interpreter Pythonのモジュール追加制限 解除する方法

## 記事の要約
DifyのSandbox環境では、使用できるPythonモジュールに制限があります。ダミーモジュールに差し替えることで制限を無効化します。

## 前提条件
以下の前提条件を満たしていることを確認してください:
– Dify 0.6.10をローカル環境にインストール済み
– 基本的なDockerの知識がある
– Linuxの知識がある
– gcc,make インストール済み

## 注意事項
– 制限を解除することは、セキュリティレベルを下げるため、本番環境での使用は推奨されません。開発やテスト環境での利用に留めてください
– 本番環境ではCodeInterpreter処理をコンテナ化しHTTP Requestで処理することを推奨します

## ダミーモジュール作成手順

### 1. ダミーモジュール用のソースコード作成
以下のコードを使用して`dummy_python.c`ファイルを作成します。

“`c
#include
#include
#include

// DifySeccomp関数のプ

元記事を表示

Slack `chat.postMessage`API: ``形式で指定したURLに半角スペースが含まれていると、リンクが貼られない

# 環境
* slack_sdk: 3.27.1
* Python 3.12.1

2024/06/13に動作確認しました。

# はじめに
Slackの[chat.postMessage](https://api.slack.com/methods/chat.postMessage) APIでメッセージを投稿する際、``という形式のメッセージを`text`引数に渡すとテキストにリンクを貼れます。

https://api.slack.com/reference/surfaces/formatting#linking-urls

ドキュメントにも記載されている通り、URLに半角スペースが含まれているとリンクが貼られません。

>URLs with spaces will break, so we recommend that you remove any spaces from your URL links.

`url`部分に問題ありそうURLをいくつか指定して、Slackアプリではどのように表示されるかを確認しました。

# 結果
以下のPythonファイルを実

元記事を表示

Azure FunctionsでGPT-4oのストリーミングを実現する方法

## はじめに
この記事では、Azure Functionsを使用してGPT-4oのストリーミングを実現する方法について説明します。具体的には、Azure OpenAIサービスと連携し、リアルタイムでデータをストリーミングする方法を紹介します。

## 前提条件
– Azureアカウント
– Azure Functionsの基本的な知識
– Pythonの基本的な知識
– `dotenv`ライブラリを使用して環境変数を管理する方法

# 導入
## 環境設定
まず、Azure Functionsのプロジェクトを作成します。VScodeでAzureにログインします。
左側のメニューのWORKSPACEからCreate Function Projectを選択します。プロジェクトフォルダーを選択します。次のパラーメータでFUNCTIONを作成します。
Language: python Model V2
path: python.exeのパス (例)”C:\Users\admin\anaconda3\envs\py311\python.exe”
template: HTTP trigger

元記事を表示

Engine Simulatorの作法 その15

# 概要
Engine Simulatorの作法を調べてみた。
githubでエンジンジェネレータ見つけた。
練習問題やってみた。

# 練習問題
V型8気筒エンジンを作れ。

# 写真

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/9bf1af97-8e5d-1f56-05da-c369dcbdc320.png)

# サンプルコード

“`

def generate_v8():
cylinders0 = []
cylinders1 = []
cylinders = []
for i in range(4):
cylinders0.append(i * 2)
cylinders1.append(i * 2 + 1)
cylinders += [i * 2, i * 2 + 1]
b0 = Bank(cylinders0, -45)
b1 = Bank(cylinders1, 45)
engine = Engine([b0, b1], cyl

元記事を表示

Engine Simulatorの作法 その14

# 概要
Engine Simulatorの作法を調べてみた。
githubでエンジンジェネレータ見つけた。
練習問題やってみた。

# 練習問題
直列6気筒エンジンを作れ。

# 写真

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/cc669c19-83c2-8ae7-1e64-012cecd7f5fd.png)

# サンプルコード

“`

def generate_L6():
cylinders0 = []
cylinders = [0, 4, 2, 5, 1, 3]
for i in range(6):
cylinders0.append(i)
bank = Bank(cylinders0, 0)
engine = Engine([bank], cylinders)
engine.engine_name = “L6”
engine.starter_torque = 400
engine.chamber_volume = 70
engine

元記事を表示

【Python】socket使ってみた

マシン間でデータをやり取りしたくなることありますよね?
ということで初めてsocket使ってみました。
(といいつつ今回のサンプルはlocalhostです)

ソケットそのものについては省略。

https://ameblo.jp/bakery-diary/entry-12754672383.html

## 使うもの
“`socket“`モジュールを使用する。それだけ。標準ライブラリなのも良い。

予めサーバー側で準備しておいた後、クライアントとサーバーのやり取りは以下のようにされる。

“`mermaid
sequenceDiagram
participant クライアント
participant サーバー
クライアント->>サーバー:接続要求(connect)
サーバー->>クライアント:接続確認(accept)
クライアント->>サーバー:データ送信(send)
サーバー->>クライアント:データ受信(recv)
クライアント->>サーバー:データ送信(send)
サーバー->>クライアント:データ受信(re

元記事を表示

テトリス風落ち物パズルを作る part02 ミノ配置

[前回](https://qiita.com/comet725/items/5ecc49da19bfac3d25db)ではフィールドの表示を行った、
今回はテトリミノを配置してみる。

# Tiled で編集

前回のようにTiledでデータを作っていく

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398956/d57bed24-dc3f-eea4-4b50-3a7c895a8d7d.png)

出来上がったファイル

mino_block.tmx

“`xml:mino_block.tmx

元記事を表示

ndarrayのindex参照より、item()のほうが早かった

会社で「asscalar()が使えなくなった」という叫びが聞こえました。

勉強不足だったのですが、asscalar()なんて初耳で、
調べてみるとnumpy v1.23.0でたしかに消えてました。

The alen and asscalar functions have been removed.
(gh-20414)

https://numpy.org/doc/stable/release/1.23.0-notes.html

このasscalar()は、コードコメント(実行時のワーニング)を見ると、
どうやらndarray.item()に置き換えるのが良さそう…

DeprecationWarning: np.asscalar(a) is deprecated since NumPy v1.16, use a.item() instead

しかし、私は思いました。index指定のほうが早いんちゃう?と。
関数コール挟むよりアドレス参照したほうが早いでしょ?と。(C言語脳)

そんなわけで、会社の叫んでいた人に、
「公式的にはit

元記事を表示

BABYMETAL LEGEND-MM 神器を光らせたい ~ ライブ会場でのLED一斉制御のはなし ~ (ラズパイの初期設定から詳しく解説)

# 概要

– BABYMETALのライブの演出に会場一斉制御で光るLEDリストバンドみたいなのがあった
– スイッチとかが無いから持ち帰っても光らないけどやっぱり光らせたいよね
– 多くの方の情報もあって頑張ったら光らせることができた!
– せっかくなので自分がやった方法とその作り方を共有する
– 赤外線信号のフォーマットとかちゃんと判明していない部分も多いから有識者気になることあったら教えてほしい!

# はじめに

BABYMETAL LEGEND-MM は、2024年3月2,3日に、メンバーのMOMOMETALの聖誕祭として横浜アリーナにて行われたライブです。
BABYMETALは、なんと2023年にはワールドツアーで全世界25か国、国内外で通算94公演を実施というなかなかにすごいことをしたのですが、その終盤にあったこちらのライブにて、「神器」と呼ばれる、リストバンド型のLEDライトが入場者全員に配られました。一部の曲では、会場の照明に合わせてこの神器も一斉に光り、とても綺麗な演出がされていました。

そんな神器ですが、裏側に電池を入れ替えるフタはあるものの、スイッチな

元記事を表示

OTHERカテゴリの最新記事