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

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

cantilever,a downward point load 第6章 はりのたわみと不静定はり 基本例題6.01 p155「材料力学演習(20221021)」をsympyでやってみたい。

# オリジナル
[基本例題6.01 p155 (pdf)](http://zairikiweb.starfree.jp/zai_enshuh/zai_enshuh_ver.3.3.pdf#page= )<[「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy](https://qiita.com/mrrclb48z/items/c3274daf5f7a99cfe027#%E4%BD%9C%E6%A5%AD%E4%B8%AD%E7%A7%81%E3%81%AE%E8%A7%A3%E7%AD%94sympy)
        ???タブレット等で、pdfを開く事ができないかも。??? 
# sympyで
“`python
# ver0.1
# 基本例題6.01 P155
from sympy import *

var(‘P,l,EIz,vA,vC,x,a,z’,real=True)
θA = Symbol(‘θA’)
θC = Symbol(‘θC’)
RA = Symbol(‘RA’)
repxz={x:z}
repxa={x:a}
r

元記事を表示

Python の正弦波で曲を演奏する

入り用があって Python の正弦波で曲を演奏するスクリプトをかきました。Python で正弦波を wav 出力する記事は他にもありますが、本スクリプトは幅広い音階、和音、複数パートに対応しています。なので色んな楽譜が演奏できると思います。そんなに Python の正弦波で演奏したいかはわかりません。

なお、以下のスクリプトは聞きやすさのためにやや倍音を重ねて & 減衰を入れているので実は正弦波ではないです。

## スクリプト
メヌエットを演奏します。
“`python
import numpy as np
import IPython # Jupyter で再生するモジュール用に要ります.
from scipy.io import wavfile # wav 書き出しにつかっています. IPython のモジュールからもダウンロードできます.
import librosa # wav にした後からピッチシフト (移調) したいときにつかいます.

def _coef(k): # 鍵盤を k ずらしたとき周波数が何倍になるか (平均律)
return 2.0

元記事を表示

unittest の基本的な使い方 ~ 自動テストのメリット・デメリットを添えて ~

# はじめに
皆さん、ユニットテストは手動でやられてますか?
自分は今まで手動でやってきてました。
ですが、手動で行うと不便に思う部分が出てきており、回帰テストなんかを行う際は
データの準備や実施が面倒になります。

そこで業務効率化を図れないかと思い、ユニットテストのフレームワークについて調べてみました。

その中で今回は、`Python` の `unittest`について調べてみて、
ユニットテストフレームワークのメリット・デメリットや`unittest`の使い方も少し調べてみたのでそのまとめになります。

# ユニットテストの概念
ユニットテストを使用してテストを作成から実施まで、以下の概念に沿った機能がunittestでは提供されています。

元々、unittestはJavaのJUnitから影響を受けているらしく、基本的な概念や機能などは似ているようです。

テストフィクスチャ (test fixture)
テストフィクスチャ (test fixture) とは、テスト実行のために必要な準備や終了処理を指します。例: テスト用データベースの作

元記事を表示

DockerのPython公式イメージにおけるタグの指定について

## 1. はじめに
私が行った研究において,Pythonイメージのタグについて多くのことを知ることができたので,今回得た知識をまとめてみました.なお,自分でタグをつけるという使い方もありますが,今回はDocker Hubからイメージをpullしてくる際に指定できるタグについて触れていこうと思います.
## 2. タグとは
Docker Hubからイメージをpullしてくる際に指定できるタグには,主にバージョンを指定するという役割があります.タグを指定するときは,以下のように指定します.
“`Pythonイメージのバージョン3.9をpullする場合
docker image pull python:3.9
“`
コロン(:)以降がタグの内容となっています.
本記事では,Pythonのバージョンを3.9または最新バージョンを用いていきます.
## 3. タグの種類
タグでは主にバージョンを指定しますが,そうでない場合もあります.それらは厳密にはバージョンを指定するものではあるのですが,直接数値を指定するものではないため,それぞれ固有の指定の仕方をする必要があります.
### 3-1.

元記事を表示

プログラミング初学者がやってよかった勉強 まとめ

## プログラミング初学者がPythonを学ぶときやってよかった勉強まとめ

ざっと箇条書きにすると以下(思いつき次第更新予定)

1. 「PaizaLearning」, 「Progate」, 「ドットインストール」すべての基礎コースを通る
1. 「ゼロからのPython入門講座」をやる

### 1. 「PaizaLearning」, 「Progate」, 「ドットインストール」のすべての基礎コースを通る

同じ内容を扱っていても、意外と教材ごとに教え方の切り口が異なるので、ある教材ではわかりにくかったところを、別の教材だと納得して理解できた。そういう経験ができるのでよかったです。

具体例として、以下のコードの(self)。これがなんで書いてあるのか、一つの教材をやった時には「そういうものだから」としか答えられなかったけど、別の教材では、そこがわかりやすく解説されていたので納得できました。
“`
class Menu:
def __init__(self):
print(“Hello”)

menu1 = Menu()
“`
最初に学んだときに、なんとな

元記事を表示

PythonでPowerPoint(PPT/PPTX)をPDFに一括変換する方法

プレゼンテーションは情報伝達、意見発表、コンテンツ共有の一般的な形式であり、特にPowerPointプレゼンテーションは、あらゆる業界で広く使用され、スピーチなどの場で必須のツールとなっています。しかし、プレゼンテーションには制約もあり、デバイスの要件が高く、異なるソフトウェアやデバイスでプレゼンテーションを行うと、異なる効果が表示され、サポートされない要素が表示される場合があります。このような場合、プレゼンテーションをPDFドキュメントに変換することで解決できます。PDF形式は高いクロスプラットフォーム性を持ち、異なるデバイスで同じ外観を表示することができ、特別なソフトウェアのインストールも必要ありません。また、PDFファイルは印刷などの操作も簡単に行えます。大量のPPTをPDFに変換する必要がある場合、個別に開いて保存する方法は非常に効率が低いです。Pythonプログラミング言語の強力なツールを使用して、このプロセスを自動化し、バッチ変換を簡単かつ効率的に行うことができます。
この記事では、**Pythonを使用してPowerPointプレゼンテーション(PPT、PPTXなど)をP

元記事を表示

vlc.media_list_player の画面を基本画面に埋め込む方法

## 目的
vlc.media_list_player の画面を tkinter の基本画面に表示するプログラムです。
イベント処理も含めています。

## 実行環境
python
tkinter
python-vlc

## プログラム
要点のみのコードです。

“`ruby:Media List Player
Instance = vlc.Instance()
list_player = Instance.media_list_player_new()
player = Instance.media_player_new()
list_player.set_media_player(player)

if platform.system() == ‘Windows’:
player.set_hwnd(frame.winfo_id())
else:
player.set_xwindow(frame.GetHandle())

events = player.event_manager()

元記事を表示

ChatGPT4:ノーコードでPythonデータ可視化 -データ前処理-

以下のようなデータの前処理は、ChatGPT(Code interpreter)にお願いすると楽ですよぉ。

![IMG_1977.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/1bc5fffd-17dd-211a-57ca-f8728a5a9aec.jpeg)
    ↓↓↓↓↓↓
![IMG_1975.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/8fa071e8-d334-ef12-8b79-15aed8628e14.jpeg)

## 実施したデータの前処理

このデータは仮想データです。
![IMG_1977.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/a3273ef0-8154-ed18-e1ba-5645acdd7ccc.jpeg)

数値(int, float)、

元記事を表示

AtCoder茶色になりました

# はじめに

こんにちは、Pittaです。

ABC335(2024/01/06)、新年一発目のABCで入茶できました!

たくさんのいいねありがとうございます。

嬉しいのでポエム記事を少し書きたいと思います。

# 軽い自己紹介

– 23歳、社会人一年生です。
– 中受経験済み。
– シンガポールに住んでいます。(シンガポールの競プロ勢、ぜひ声をかけてください!)
– 大学では環境学を専攻し、鳥を追いかけていました。
– 昨年の12月にやっと働き始めました
– 競プロに興味を持ったのは、QuizKnock鶴崎さんが楽しそうにAntsを解説する動画を見たことがきっかけです。

# 入茶までの軌跡

6回目のコンテストで入茶しましたが、それぞれのコンテストの軽い振り返りと反省をこの記事に毎週書いています。

https://qiita.com/Pitta/items/2527131a8

元記事を表示

OpenCVを使った画像の抽出とリサイズ

# 目次
[1.OpenCVとは](#1-OpenCVとは)
[2.画像の読み込み](#2-画像の読み込み)
[3.画像のインライン表示](#3-画像のインライン表示)
[4.画像のリサイズ](#4-画像のリサイズ)
[5.おわりに](#5-おわりに)

## 1. OpenCVとは
オープンソースの画像(動画)ライブラリのことです。もともとインテルが開発し公開したそうです。このライブラリを使うと、画像形式の変換から、フィルター処理、さらに顔認識や物体認識、文字認識など画像に関連するさまざまな処理を行うことができます。動作対象OSが幅広く、ライセンスの制限もある程度許容されているとのことで様々なプロダクトで利用されているようです。

![スクリーンショット 2024-01-04 21.18.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124100/64053959-43ff-ff7b-d2c2-59037a7fbff6.png)

[openCVのWebサイト](https://open

元記事を表示

ラズパイでもtodo txt cli導入できた

# ラズパイに導入する方法

WSLかどっかから(もちろんgithub siteでもOK)

– todo.sh
– todo.cfg
– todo_completion

もってきて、ホームディレクトリにコピーする。

私の場合は、tフラグをつかいたかったので、.todo.actions.dというディレクトリーの中にfutureTasksというファイルがはいったものもコピーした。

あとは [ここ](https://github.com/todotxt/todo.txt-cli/wiki/Quick-Start-Guide)をみてください.

“`
chmod +x todo.sh
“`

.bashrcのどっかに`source todo_completion`と書き込んでください。

“`
cd .todo.actions.d
chmod +x futureTasks
“`

これでいけるはずです。それではハッピーラズパイライフを

元記事を表示

微分方程式の数値計算 オイラー法~ルンゲクッタ法

## 微分方程式の時刻歴応答の数値計算の基本
微分方程式をコンピュータによって計算するための基本は、離散時間において数値積分を実施することである。最も基本的な解法がオイラー法となる。

【前進オイラー法】
連続関数の$y(t)$を離散化し、計算ステップを$Δt$、 $t = n×Δt (n:タイムステップ数)$ の $y(t)$ を $y[t]$ として離散時間積分を行う手法で、将来の値を計算するために現在の値のみを使用するものが前進オイラー法である。
“`math
\begin{align}
y[t+Δt] &= y[t] + Δt×\frac{dy[t]}{dt} \\
\end{align}
“`
(※$dy[t]/dt$ は、時刻$t$における$y(t)$の微分係数とする。)

前進オイラー法は、$y[t+Δt]$ を計算するのに $y[t]$ しか必要としないので順番に計算していけばおのずと解が得られる。こうした手法を「陽解法」と呼ぶ。

【後退オイラー法】
後退オイラー法は、微分係数に将来の値を用いる。
“`math
\begin{align}
y[t+Δt] &

元記事を表示

書籍『Pythonでスラスラわかる ベイズ推論「超」入門』補足 Amazonレビュー分析

## はじめに
書籍『Pythonでスラスラわかる ベイズ推論「超」入門』著者です。
連休でようやくまとまった時間が取れたので、前からやってみたことを試し、その記録をここに残すことにします。
それは何かと言いますと、私の書いた7冊の本(共著を含む)のAmazonレビュー結果を使ってベイズ推論をすることです。
このシナリオは、本の6章のユースケースに含めることも一瞬考えたのですが、誰でもすぐに適用できるユースケースかというと、そうではなさそうなので、シナリオに含めることを断念したものになります。

## ベイズ推論の考え方
次の表を見て下さい。

| book | score5 | score4 | score3 | score2 | score1 |合計|
| – | -| – | – | – | – | – |
| Pythonで儲かるAIをつくる | 126 | 60 | 48 | 7 | 10 | 251 |

これは、私の著作の一つ『Pythonで儲かるAIをつくる』に対してAmazon上で読者から

元記事を表示

lambda(無名関数)

# lambda(無名関数)

## lambdaとは

lambdaを使うと関数定義を簡潔に表現することができます。

処理内容が少ない関数を実装したい時に便利です。

lambdaは関数作成方法のひとつで、無名関数とも呼ばれています。

defとlambdaの違いはdefは宣言文(ステートメント)であり、lambdaは式になります。

defを使う場合、事前に宣言が必要となりますが、lambdaは式ですので式として簡潔に表現できます。

## サンプルプログラム

“`Python

y = lambda x: x+1
print(y(1))
“`

## 実行結果

出力結果は以下の通りです。

lambdaにて、1+1を計算を行いました。

![スクリーンショット 2024-01-08 102904.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/544972/a3a1ff6a-f4c8-205b-dc3e-374eed089df0.png)

> 2

元記事を表示

【Python】Djangoのログアウト実装でエラー「HTTP 405」が出た件について

## 発生した問題
事前に以下の通り記述した上で、home.htmlで`{% url ‘logout’ %}`としたところ、ログアウトされず代わりに *accounts/logout/* にリダイレクトされた。
“`project/urls.py
path(“accounts/”, include(“django.contrib.auth.urls”)),
“`

## 表示されたエラー
“`
Method Not Allowed (GET): /accounts/logout/
Method Not Allowed: /accounts/logout/
[08/Jan/2024 00:17:08] “GET /accounts/logout/ HTTP/1.1” 405 0
“`

## 原因
[こちら](https://terakoya.sejuku.net/question/detail/33882)で回答されている通り、本来はPOSTでなければいけないところ、GETしていたため弾かれていた。

よってhtmlの`form`を使用して、以下のように記述することで解決できた

元記事を表示

【RDKit】MolsToGridImage()で複数行のlegendを大きく表示する

# はじめに

RDKitで複数の分子構造を描画する方法の一つとして、`rdkit.Chem.Draw.MolsToGridImage()`があります。`MolsToGridImage()`では分子構造とセットでlegendを表示させることができますが、legendを複数行にした場合、デフォルトの設定ではlegendのフォントサイズが小さくなってしまいます。本記事では、`MolsToGridImage()`でのlegend(を複数行にした場合)のフォントサイズを調整する方法を紹介します。

![before-after.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1236393/1943feb0-2c9d-db0f-4ce5-29a170378cbf.png)

# 環境・ライブラリ

– python: 3.12
– rdkit: 2023.09.3

# スクリプト

以下のスクリプトはnotebook上で実行することを想定しています。
(notebookは[Google colaborator

元記事を表示

異様な書き方でプログラミング

異様な書き方でコラッツの問題を解くプログラムを書いてみる。

– `式1 if 条件 else 式2` 構文を使う。
– `式1`,`式2`は複数の式から構成されてもよい。ただし,
– 全体を `( )` で囲む
– それぞれの式は `,` で区切る
– 関数の引用も式である
– 代入文の場合はいわゆるセイウチ演算子 `:=` を使う
– 実行される複数の式の結果をタプルとしてセイウチ演算子で捕捉しておくこともできる

“`python
n = 976
oddcount, evencount = 0, 0
while n != 1:
(junk1 := (print(‘n =’, n, ‘is even. =>’, n//2), n := n//2, evencount := evencount + 1)) if n % 2 == 0 else (junk2 := (print(‘n =’, n, ‘is odd. =>’, n*3 + 1), n := n*3 + 1, oddcount := oddcount + 1))
prin

元記事を表示

[無料][2024年版] LINE Messaging API v3 + Python(Flask) でボットを作る [その8 – Flex Message 編]

## Flex Message とは

まずは公式ドキュメントのリンクからどうぞ。

https://developers.line.biz/ja/docs/messaging-api/using-flex-messages/

https://developers.line.biz/ja/reference/messaging-api/#flex-message

> Flex Messageは、通常のLINEメッセージに比べ、より豊かでインタラクティブなレイアウトが可能なメッセージです。通常のLINEメッセージでは、テキスト、画像、動画など1種類のソースしか配信されません。しかし、Flex Messageでは、CSS Flexible Box(CSS Flexbox) (opens new window)の仕様に基づいて、レイアウトを自由にカスタマイズできます。

> Flex Messageの構成要素は、コンテナ、ブロック、コンポーネントです。各Flex Messageは、メッセージバブルを含むコンテナという単一の最上位構造を持ちます。コンテナには複数のメッセージバブルを含めるこ

元記事を表示

Pythonで「辞書に含まれるすべてのキーと値を取得する」の動作を確認してみた

# 概要

Pythonで「辞書に含まれるすべてのキーと値を取得する」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/python/dictionary/index8.html

# 実装

以下のファイルを作成しました。
“`sample.py
mydict = {“L”:”Lemon”, “O”:”Orage”, “G”:”Grapes”}
print(mydict.keys())

mydict = {“L”:”Lemon”, “O”:”Orage”, “G”:”Grapes”}
for mykey in mydict.keys():
print(mykey)

mydict = {“L”:”Lemon”, “O”:”Orage”, “G”:”Grapes”}
mylist = list(mydict.keys())
print(mylist)

mydict = {“L”:”Lemon”, “O”:”Orage”, “G”:”Grapes”}
print(mydict.values())

mydict

元記事を表示

loggingの簡単な使い方

# はじめに
こんにちは、[@nano_sudo](https://twitter.com/nano_sudo)です!
今回は、ライブラリ紹介シリーズ第3弾として、`logging`を紹介します!
`logging`は、Pythonの標準ライブラリでありながら、とても強力な機能を持っています。
今回は、初心者の方でも簡単に理解できるように、`logging`の基本的な使い方を紹介します。

# loggingとprintの違い

– **`print`**
– 主にデバッグ用
– ログレベルを指定できない

– **`logging`**
– ログレベルを指定できる
– ログをファイルに出力できる
– ログのフォーマットを指定できる
– ログの出力先を複数指定できる
– かっこいいログを出力できる(外部ライブラリ使用)

# インストール
`logging`は、Pythonの標準ライブラリなので、インストールは不要です。

# loggingの基本的な使い方

## 各種ログレベルの出力
`logging`には、以下のようなログレベルがあります。(下に行くほ

元記事を表示

OTHERカテゴリの最新記事