Python3関連のことを調べてみた2023年07月15日

Python3関連のことを調べてみた2023年07月15日

Selenium4.10.0でwebdriver.Chrome()でエラー

# 事象
pip install seleniumで、7月14日時点で最新バージョンの4.10.0をインストール。

webdriver.Chrome(WEB_DRIVER_EXE)で以下の警告が現れる。
「Expected type ‘Optional[Options]’, got ‘str’ instead 」

“`python
# Chromeドライバ
WEB_DRIVER_EXE = r’chromedriver.exe’

driver = webdriver.Chrome(WEB_DRIVER_EXE)

“`

実行すると、
AttributeError: ‘str’ object has no attribute ‘_ignore_local_proxy’
となってコケる。

なお、chromedriver.exeは.pyと同フォルダにもちろん配置済み。

# 対応

seleniumのバージョンを4.8.3にさげたら通った。

元記事を表示

G++ Python

import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt
class G_n_plusplus:
def __init__(self, n_factor = 2) -> None:
“””
Augs
discount_factor_vec: 割引率のベクトル。スワップのCFに合う形を想定
“””
# ファクターの数を設定する。
self.n_factor = n_factor

# 初期値を設定する
self.variance_vec = np.array([1] * n_factor)
self.drift_vec = np.array([1] * n_factor)
self.a_vec = np.array([1] * n_factor)
self.correlati

元記事を表示

flaskで簡単にページネーションを作成した

# flask学習中
簡単にページネーション付けたいなー
![hirameki_man.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1228723/a8cc7fe8-bb38-ba42-e905-3e7505e549c2.png)

## 最終目標
一覧画面のリストにページネーションを付ける

## まずは設定
~~~md:python3
pip3 install Flask-Paginate
~~~

~~~md:cafe.py
from flask_paginate import Pagination, get_page_parameter
~~~
## 早速書いていきます
### パスを準備しておきます
~~~md:cafe.py
@app.route(‘/cafe/list’)
def list():
~~~

#### メソッド内です

~~~md:cafe.py
@app.route(‘/setting/cafe/menu/list’)
def list():
————ここ

元記事を表示

最も単純なデコレータ

#### 最も単純なデコレータ
“`py
def decorator(func):
return lambda *args: func(*args)

@decorator
def some_function(args):
pass
“`
デコレータは関数上の関数、つまり汎関数である。
今定義したデコレータ`decorator`はどんな処理もしない恒等写像である。

元記事を表示

Pythonでプログラミング! ~入門編 パート2~

# Python入門編 その2

今回扱うプログラムは[こちら](https://github.com/victor-von-pooh/Python_Learn/blob/main/Python%E5%85%A5%E9%96%80%E7%B7%A8/Python_1_2.ipynb)にあるので、是非ダウンロードしてみてください!
中身はここにあるものと一緒です。

## イントロダクション

こんにちは、東京理科大学所属の秋田と申します!
[前回](https://qiita.com/Hiroki_Akita/items/328698b7c40e8a040aed)は、Pythonに関する基本的な文法事項をメインに紹介しました。
今回はPythonのライブラリを使ってもっと便利なことをやってみましょう!

## Section 3. 「NumPyライブラリ」

キーワード :
* import
* エイリアス

NumPy([公式ドキュメント](https://numpy.org/))は、Pythonでの計算処理を高速化するためのライブラリです。
Pythonは「**インタプリタ

元記事を表示

【Python】マイクロ秒を含まない形式(2023-07-12 22:43:13)で現在の日時を取得する方法

# 概要
マイクロ秒を除外して現在の日時(秒までの情報)を取得するコードを3つ紹介します。
`2023-07-12 22:43:13`のような形式です。
標準ライブラリの`datetime`(日付と時間を操作するためのクラスや関数を提供するモジュール)を使用します。

# サンプルコード解説

“`py
from datetime import datetime

# 1
now = datetime.now().strftime(“%Y-%m-%d %H:%M:%S”)
print(now)

# 2
now = datetime.now().replace(microsecond=0)
print(now)

# 3
now = datetime.now().strftime(“%Y-%m-%d %H:%M:%S.%f”)[:-7]
print(now)

# 出力結果
# 2023-07-12 22:43:13
# 2023-07-12 22:43:13
# 2023-07-12 22:43:13
“`

上記、いずれの場合も同じように「`2023-07-12 22:43:

元記事を表示

【Web開発者必見】Flaskの便利ライブラリ10個まとめてみた

# はじめに
みなさん、Flask使っていますか?
小〜中規模のwebアプリ開発なら大抵のことはFlaskで実装可能です??‍?

今回の記事では、**Flaskの便利ライブラリ10個まとめました**?
サンプルコードも記載しているので、参考になれば幸いです。

また、Flaskのおすすめ技術書も載せているのでご興味あれば購入して読んでみてください!

## Flaskのおすすめ技術書
### [Python FlaskによるWebアプリ開発入門 物体検知アプリ&機械学習APIの作り方](https://amzn.to/3O5mDCs)

[![画像タイトル](https://m.media-amazon.com/images/I/81pe2xY1XXL._AC_UL800_FMwebp_QL65_.jpg)](https://amzn.to/3O5mDCs)

**Webアプリの作り方からAPI化、デプロイメントまで
エンジニアとデータサイエンティストのためのFlask入門**

Pythonのフレームワーク「Flask」によるWebアプリ開発の入門書です。
まずは、最小のアプリの作

元記事を表示

【Python】Pytestで3種類のテストをやってみる

# 初めに

私は最近QA分野にはまっており、QAエンジニア資格であるJSTQBのシラバスを読んでいます。

シラバス31ページ`2.2 テストレベル`にはテストの種類が書いてあります。

今回はその3種類のテストをPytestでやってみます。

# テスト対象は`FizzBuzz`

テストする都合上、Fizz&Buzzの判定を関数化しています。

“`python
def IsFizz(num: int)-> bool:
return num % 3 == 0

def IsBuzz(num: int)-> bool:
return num % 5 == 0

def main():
for i in range(10, 16):
if IsFizz(i) and IsBuzz(i):
print(“FizzBuzz”)
elif IsFizz(i):
print(“Fizz”)
elif IsBuzz(i):
print(“Buzz”)

元記事を表示

指じゃんけんWebアプリのモード追加

# 1.はじめに
 先日、SKJvillageの動画内で作られた謎ゲーム「**指じゃんけん**」を遊ぶことができるWebアプリを開発しました!今回は、「ハードモード」「extraモード」を加えてみたので紹介します。

↓前回の記事

https://qiita.com/nyar_ramen/items/37aa7b996e9c612f31f0

# 2.SKJvillageとは?
 [SKJvillage](https://www.youtube.com/@SKJVillage)は、3人組のゲーム実況系YouTubeチャンネル。高校時代の親友で「早稲田・慶應・上智」大学にそれぞれ進学し、大手企業を退職後、2018年に3人でYoutube活動開始。
(https://www.youtube.com/@SKJVillage/about より参考)

# 3.指じゃんけんについて
 改めて指じゃんけんとは何かを紹介します。指じゃんけんは下記のリンクに掲載した動画内のくだりであり、マリオメーカーの勝敗を決めるために行われたゲームです。指で1から5を作り遊びます。

https://www.yo

元記事を表示

【ChatGPT初学者】OpenAIのAPIでAIチャットボット機能を作ってみた

## はじめに

流行りのAIでラフに開発したいなぁというモチベを抱き早3ヶ月。
「AIってむずかしそう」「開発のレベル高そう」って謎にこじらせていました。
たしかに、やったことないことに挑戦するのはハードルが高いです。
しかし、そういう時こそ「まずは手を動かしてみる」ことでした。(猛省)

今回は、たった10分で多くの人がChatGPTの門戸を叩けるような開発備忘録を残したいと思います。
テーマは「AIチャットボット開発」。
この開発が完了して実行したら、チャットボットにありがちな文章がターミナルで表示されていることです。
写経でも動かせるプログラムなので、ぜひ10分チャレンジに挑戦してみてください。

参考URL:https://udemy.benesse.co.jp/development/system/chatgpt-chatbot.html

#### 想定読者のレベル
* python初学者
* OpenAI APIでの開発未経験者

#### 開発環境
* vs code

#### 使用言語
* python (python3)

#### 使用ライブラリ
* O

元記事を表示

Pythonの環境構築でつまづいたこと

こちらの記事を見ながら進めています。

https://prog-8.com/docs/python-env

行った手順は下記の通りです。Homebrewとpyenvのインストールと設定はできています。
“`
% brew -v
Homebrew 4.0.28

% pyenv -v
pyenv 2.3.22
“`

# エラーが起きたところ

“`
# インストールできるPythonのバージョンを確認
% pyenv install –list
(省略)
stackless-3.7.5

# ↓インストールを試みるもエラー
% pyenv install 3.7.5
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.5.tar.xz…
-> https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz
Installing Python-3.7.5.

元記事を表示

【Python】勤怠入力アプリ作成

勤怠入力のデスクトップアプリを簡易的に作成しました。
随時、更新をしていきます。

### 入力前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/4c30934a-9d63-8c6b-22d8-ee0feb7425e9.png)

### 入力後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/0380ecb9-a87d-636e-d1bb-8d3cc834f75b.png)

### ソース
“`python
import tkinter
from datetime import datetime

def days_func():
”’日付を取得しラベルにセットする。”’
import datetime
t_delta = datetime.timedelta(hours=9)
JST = datetime.timez

元記事を表示

chatGPTを用いてpythonでテキスト+イメージを新規イメージ保存

## はじめに

pythonをchatGPTを用いてコードを書かせる。
プロンプトエンジニアリングを実際に使用することで向上させたいと思っています。

## 目的

常に目的は同じです。自動化推進です。
楽したいは正義でしょう。

## 今回

画像にテキストを埋め込みそのまま画像として保存したい。
chatGPTへ出力依頼。

“`
プロンプト参考.txt

//当方メモレベルです。。
pythinでテキスト AAAA とpngファイルをまとめて画像として保存するプログラムを記述してください。
なお上記コードで各処理を関数で処理するようにプロのコーダのように記述してください。また適切なコメントアウトをおこないより可読性に優れたコード構成をしてください
またデバッグしやすいようにデバッグプリント関数を追加してください
“`

非常に適当ですね。(いやいい塩梅です。このぐらいでいいのです。)
結果が大事です。出力しながら学習しましょう。

## 出力結果

“`
text_plus_image.py

from PIL import Image, ImageDraw, Image

元記事を表示

dataclassとjsonを相互変換

# TL;DR
– dataclasses.asdictとjson.dumpのdefaultを使うとデータクラスをjsonに簡単に変換できる。
– match文とjson.loadのobject_hookを組み合わせるとjsonのオブジェクトを分かりやすくデータクラスに変換できる。
– 組み合わせればデータクラスとjsonの相互変換が楽!
– 標準ライブラリだけで完結するのでシンプル。
– match文は3.10からなので古い環境だとオブジェクトの型チェックを書くのが面倒なので微妙。

## 今回使うデータクラスのサンプル
“`python
@dataclasses.dataclass(frozen=True)
class Student:
number: int
name: str
birthday: date

@dataclasses.dataclass(frozen=True)
class Classroom:
grade: int # 学年
class_: int # 組 classが使えないので末尾に_を付けています。

元記事を表示

Python初心者の備忘録 #04

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #03](https://qiita.com/Yushin-Tati/items/f28cb6d8bd6a2b33a82d)
次の記事:まだ

今回の記事はオブジェクト指向ついてまとめてあります。
## ■学習に使用している資料
Udemy:

元記事を表示

gpt3.5(ChatGPT?)が変数名考えてくれるアプリをpythonで作った

**[GitHub](https://github.com/mizugame634978/NameMaster)** に上げたプログラムのコア部分の解説

# 3行で教えて!
– 関数名や変数名を考えてくれる
– 出てきた名前の説明もしてくれる
– 作成するのにAIの深い知識は必要ない
# なぜこの記事を書いたのか
何かしらの技術記事を書いてみたいと思っていたが1から書くのはハードルが高いので、過去にGitHubでREADMEを書いたプログラムを解説することにした。
# 本編

このアプリはpython,gpt3.5のapi,tkinter(pythonでGUIプログラムを作るためのライブラリ)で作成しましたが、この記事で伝えたいことはgpt3.5に適当に入力を与えていい感じの出力をもらう部分なのでpythonを知らない人が見てもなんとなく理解できると思います。

なのでこの記事の想定読者はtkinterでgpt3.5を使ったアプリの使い方を学びに来た人ではなく、gpt3.5をアプリにいい感じで組み込んだ例を見に来た人です。
## 動作原理
“`
ユーザーから何らかの方法で関数や変数

元記事を表示

【Python】PDM Scriptsでタスクランナーを作成する

[前回の記事](https://qiita.com/quag_cactus/items/70201acbdb4f9ad554e6)でPDMのスクリプト機能(`PDM Scripts`)についてまとめましたので、これをタスクランナーとして活用するためのユースケースを確認しようと思います。

## タスクランナーとして活用

今回は以下のCSV入出力をチェーンしていくプログラムスクリプトを用意します。

### テストソース

1. 行方向に数値が記述されたCSV(`CSV-0`)を横方向に変換したCSV(`CSV-1`)を出力するスクリプト

ソースコード

“`python:csv_conver.py
import sys
import pathlib
import csv

def Main(args):

print(f’execute: {args[0]}’)
print(‘ args:’, args)

元記事を表示

UDPマルチキャストで複数台の受信機からの返信を同時受信

## 実現したいこと
・一台のサーバから複数台の受信機に対して同じデータを送信する
・効率の良い送信を行うため,マルチキャストを使用する
・マルチキャストを使い,複数台の受信機に対してほぼ同時にデータを配信した後,それぞれからの返信を受信する.

## 実装
### 実装環境
・本記事では**自身のラップトップをサーバ**とし,複数台のESP32に対してデータ送信行いましたが,どんな環境でもできるはずです.

### 使用するライブラリ

・Threadingライブラリ
簡単に説明すると非同期処理を行うライブラリです.

https://docs.python.org/ja/3/library/threading.html

### 実装方法
サーバから受信機であるESP32に対して,簡単な挨拶メッセージを送り,それに対して個々から返信をもらうプログラムです.おまけに受信時間を記録しています.

今回のコードでは,respond関数をメインスレッドから切り離し,受信機からの返信が到着したタイミングでrespond関数内の処理を行います.
またソケットがタイムアウト(指定秒以内に受信しな

元記事を表示

【FastAPI】Jinja2Templatesのデリミタ(マスタッシュ記法)を変更する

FastAPIでHTMLを返したあと、フロントエンドでVueを使用したときのデリミタ`{{ }}`の競合を解決する方法です。
Vue側のデリミタを変える方法はすぐ見つかりますが、Jinja2Templates側のデリミタを変える方法がなかなか見つからないので議事録として残します。

“`python
# Jinja2テンプレートの設定
dir_path = os.path.join(os.path.dirname(os.path.abspath(__file__)))
templates = Jinja2Templates(
directory=os.path.join(dir_path, “templates”),
# フロントエンドでVueを使用しており変数プレースホルダーが被るため変更する
variable_start_string=”{$”,
variable_end_string=”$}”,
)

@router.get(
“/login”,
summary=”ログイン画面”,
description=”ログイン画面

元記事を表示

【python】プログラミングイントロダクション備忘録①

Python言語によるプログラミングイントロダクションについて勉強をしているのでその記録として記事を投稿します。
備忘録です。
### 総当たりによる平方根の近似
“`python
x = float(input(‘数字入力->’))

epsilon = 0.01
step = epsilon ** 2
num_guesses = 0
ans = 0.0

while abs(ans ** 2 – x) >= epsilon and ans <= x: ans += step # 近似 num_guesses += 1 # ループ数 print(f'繰り返しの数→{num_guesses}') if abs(ans ** 2 - x) >= epsilon:
print(f’近似解→{x}’)
else:
print(f'{ans}root→{x}’)
“`
### 2より大きな素数か判定せよ、もし違う場合、最小の約数を表示せよ
“`python
def practice_v1():
# 2より大きな素数か判定せよ、もし違う場合、最小の約

元記事を表示

OTHERカテゴリの最新記事