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

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

Pythonで実行中の関数と変数の名前を簡単に取得する

# 環境
Python3.6以降

# 取得する方法

例外処理などを書くときにで関数や変数を決め打ちして書き出すこともできるが、関数や変数の名前に変更があるとめんどい。

“`Python3
def hoge(fuga):

raise ValueError(“hoge関数のfuga変数の値がおかしい。”)
“`

なので、vscodeなどのエディターを使い、関数や変数の名前を一括して変更できる機能に期待して次のように書く。
何もインポートする必要はない。

“`Python3
def hoge(fuga):

f_name = hoge.__name__
v_name = f”{fuga=}”[:f”{fuga=}”.find(“=”)]

raise ValueError(f”{f_name}関数の{v_name}変数の値がおかしい。”)
“`

関数名のみ`inspect`をインポートすることで次のように書ける。この場合、関数名を書き換える際にエディターの名称を変更する機能を使う必要もなくなる。

“`Python3
import in

元記事を表示

Python 3 エンジニア認定実践試験対策 (4) – PEP8

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

### PEP8とは
– **目的**: Pythonコードを書く時の標準スタイルガイドであり、コードの可読性を向上させるためのルール。

– **利点**: 一貫したスタイルでコードを書くことで、チーム内での協力がスムーズになり、保守性が向上します。

### PEP8の主なルール

1. **コードのレイアウト**
– **インデント**: 半角スペース4つを使用します。
– **折り返しインデント**: 引数が複数行にわたる場合、最初の行のカッコに合わせてインデントします。
“`python
def sample_function(arg_one, arg_two,
arg_three,

元記事を表示

VSCodeでWindowsからリモートのUbuntu24.04上にあるPythonコードをデバッグする

Visual Studio Codeは予約語の補間をはじめとする様々な機能を備えた統合開発環境です。Pythonを勉強しようと思った際に、手元にあるWindowsからリモートのUbuntu24.04上のPythonコードをデバッグできたら…と思い立ち、試してみました。

![2024-11-11 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3919880/3ebeda14-cfbe-8870-f92c-1831065f1555.png)

### 参考にしたサイト

https://net-newbie.com/2020/04/11/vscode-python-remote-debug/

## Windows上での準備

### Visual Studio Codeのインストール

– Visual Studio Codeをインストールします
– Windows上のVisual Studio Codeに必要なパッケージをインストールします
– Japanese Language Pack

元記事を表示

Djangoのアプリを作成し、ローカル環境で動作させるまで

# 目的
– Django で簡単なアプリを作成
– 作成したアプリをローカル環境で動作

# 前提
– OS
– macOS Sonoma 14.6
– 各バージョン
– python 3.12
– Django 5.1.3

# 準備
### プロジェクトを作成
“`bash
django-admin startproject {プロジェクト名}
“`
“`bash
# 例)「sampleProject」というプロジェクトを作成
django-admin startproject sampleProject
“`

### アプリを作成
“`bash
cd {プロジェクトのディレクトリ}
python manage.py startapp {アプリ名}
“`
“`bash
# 例)「sampleProject」のプロジェクトに「sampleApp」のアプリを作成
cd sampleProject
python manage.py startapp sampleApp
“`

### ローカルサーバー起動
“`bash
python mana

元記事を表示

OpenCVを用いたコーナー検出のやり方

コーナー検出は、画像内の物体の形状やエッジの特徴を捉えるのに役立ちます。今回は、代表的なコーナー検出アルゴリズムであるHarrisコーナー検出とShi-Tomasiコーナー検出を使用します。

## 必要なライブラリのインポート
OpenCVとNumPyをインポートします。OpenCVは画像処理のため、NumPyは配列操作に使用します。
“`python
import cv2
import numpy as np
“`

## 1. 画像の読み込みとグレースケール変換
まず、解析対象の画像を読み込み、コーナー検出を行いやすくするためにグレースケールに変換します。
“`python
# 入力画像の読み込み
image = cv2.imread(“input.jpg”)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
“`
ここでinput.jpgは解析対象の画像ファイルです。

## 2. Harrisコーナー検出
Harrisコーナー検出は、エッジや角のような急激な変化のある領域を検出するアルゴリズムです。次のコードで、OpenCV

元記事を表示

OpenCVでの楕円フィッティングのやり方

画像処理において、物体の輪郭を検出し、その輪郭に基づいて形状をフィッティングするのはよく行われる手法です。特に楕円フィッティングは、物体の回転やスケール変化に対して比較的ロバストであり、特徴的な形状を表現するために便利です。本記事では、PythonとOpenCVを使用して楕円フィッティングを行う方法について詳しく説明します。

## 1. 必要なライブラリのインポート
まず、必要なライブラリをインポートします。OpenCVとNumPyを使います。OpenCVは画像処理、NumPyは配列操作に役立ちます。
“`python
import cv2
import numpy as np
“`
## 2. 画像の読み込みとグレースケール変換
次に、解析対象となる画像を読み込み、グレースケールに変換します。グレースケール化することで、画像の情報量を減らし、エッジ検出を行いやすくします。
“`python
# 入力画像の読み込み
image = cv2.imread(“input.jpg”)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
“`

元記事を表示

OpenCVを用いた色検出

## 1: 必要なライブラリをインポートする
“`
import cv2
import numpy as np
“`
## 2: 画像を読み込む
“`
# 画像を読み込む
image = cv2.imread(‘image.jpg’)
“`
## 3: 色空間を変換
HSV色空間に変換します。HSV色空間は、色調(Hue)、彩度(Saturation)、明度(Value)を使って色を表現し、特定の色範囲を選択しやすくなります。
“`
# 色空間をHSVに変換
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
“`
## 4: 色の範囲を定義
特定の色範囲をHSV値で定義します。ここでは例として、青色の範囲を定義しますが、必要に応じて調整してください。
“`
# 青色の範囲を定義(HSV空間)
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
“`
## 5: 色範囲内のマスクを作成
定義した色範囲に基づいてマスクを作成します。マスクは、

元記事を表示

PythonのPandasライブラリを使用して、Excelファイルへ

このコードは、PythonのPandasライブラリを使用して、Excelファイル内の複数のシートに対してデータ処理を行う部分です。各シートからデータを抽出し、解析し、結果をまとめるという一連の流れが実現されています。初心者の方でも理解できるように、コードの各部分を丁寧に解説していきます。

## 目次

1. [Excelファイル内のシートごとの処理](#excelファイル内のシートごとの処理)
2. [シートのデータ読み込み](#シートのデータ読み込み)
3. [必要な列の存在確認](#必要な列の存在確認)
4. [差の割合の計算](#差の割合の計算)
5. [結果のDataFrame作成](#結果のdataframe作成)
6. [グラフの色の設定](#グラフの色の設定)
7. [まとめと次のステップ](#まとめと次のステップ)

## Excelファイル内のシートごとの処理

### コード例

“`python
for sheet_name in sheet_names:
“`

### 説明

– **目的**:Excelファイル内にある複数のシートを

元記事を表示

【Python】re.searchとre.findallの違いは?サンプルコードで解説

# 概要
Pythonの`re.search`と`re.findall`を使ってみたのでサンプルコードで紹介します。

# サンプルコードと解説

それぞれ以下の違いがあります。

・`re.search`:文字列全体を検索し、最初に一致した部分文字列を含むマッチオブジェクトを返す
・`re.findall`:文字列全体を検索し、一致するすべての部分文字列をリストとして返す

上記の通り、`re.search`は最初の一致を確認するために、`re.findall`は一致するすべての部分文字列を確認するために使用されます。

“`py
import re

def find_all_emails(email_pattern, text):
emails = re.findall(email_pattern, text)

print(“抽出されたメールアドレス:”)
for email in emails:
print(email)

def search_first_email(email_pattern, text):
email

元記事を表示

[python] python初心者が覚えるべき事11選

# 参考目次:airplane:
#### 目次一覧
[はじめに](#はじめに)
[自己紹介](#自己紹介)
[python基礎](#python基礎)
 - [3-1-変数とデータ型](#3-1-変数とデータ型)
 - [3-2演算子](#3-2演算子)
 - [3-3制御フロー](#3-3制御フロー)
 - [3-4関数](#3-4関数)
 - [3-5モジュール](#3-5モジュール)
 - [3-6例外処理](#3-6例外処理)
[ココでお茶休憩tea](#ココでお茶休憩tea)
 - [3-7オブジェクト指向プログラミングoop](#3-7オブジェクト指向プログラミングoop)
 - [3-8-ファイル操作](#3-8-ファイル操作)
 - [3-9リスト内包表記](#3-9リスト内包表記)
 - [3-10デコレーター](#3-10デコレーター)
 - [3-11ジェネレーター](#3-11ジェネレーター)
[その他](#その他)
[おわりに](#おわりに)

## はじめに
 この記事は*Python*を勉強しようと思っている人向けの記事となっております。
 結構寒くなっ

元記事を表示

【Python】文字をペイント系ソフトのペンツールで描画する

# なぜ作ろうと思ったか
とあるサイトで、画面にマウスや指、アップルペンシルなどを使って描画したものをサーバーに送信できる機能がありました。自分はwindowsを使っているのでマウスでしか描画できません。そうした際に文字をきれいに描画することができないという問題が発生します。そういった問題を解決するため、このツールを作成することとしました。

# 制作過程とコード配布
pythonにあるpyautoguiとpillowというライブラリを組み合わせて作ることとしました。

pypiを使ったライブラリのインストールコマンド
“`
pip install pyautogui pillow
“`

ChatGPTが作ったコードを改良しただけではありますが、完成形を配布します!
*テキストとttfフォントへのパスは自分で指定してください。
(動作確認済みの環境:python 3.10)
“`py
import pyautogui
import time
from PIL import Image, ImageDraw, ImageFont

# 手書き風に描くテキスト
text = “描画

元記事を表示

Python 不動産ライブラリAPIを使ってみる デプロイ編

前回のお話 ⇒ コーディング編

streamlitで作ったアプリをデプロイする方法について書く。
デプロイとはサーバー上に展開し、誰でもアクセスできるようにすることである。

目次:
1.デプロイ方法は、1つだけではない
2.Streamlit Sharingとは
3.Githubでの作業
4.ディレクトリ構造と秘匿情報(APIキー等)の取扱い
5.Streamlit Community Cloudでの作業(デプロイ)
6.まとめ

1.デプロイ方法は、1つだけではない

Streamlitで作成したアプリをデプロイする方法はいくつかあるらしい。

① Streamlit Sharingでデプロイ
② Dockerを使ったデプロイ(AWS, GCP, Azureなどのクラウドサービス上でホスト可能)
③ Herokuでデプロイ
④ 自前サーバーや**VPS(仮想専用サーバー)**でのデプロイ

今回、最も簡単に

元記事を表示

Python3: paizaラーニング問題集「部外者をはじけ」を解いてみた

おもしろそうだったのでやってみました。

https://paiza.jp/works/mondai/b_rank_skillcheck_archive/finding_putliers_99

解答例のように個別に距離を測ってもいいんだけど、距離2の平行線の外側って考えると、計算がちょっと軽くならないかな、と思ってやってみる。

“`py:
from itertools import combinations
from math import sqrt
from dataclasses import dataclass

@dataclass
class NumberedPoint:
n: int
x: float
y: float

DISTANCE = 2.0

def outsiders(points):
min_outs = [*points]

for p0, p1 in combinations(points, 2):
tenp_outs = []

if

元記事を表示

【備忘】よくつかうコードスニペット: Python標準ライブラリ系

## 目的
鳥頭のため、ちょっと書いてないだけで基礎的な記法も忘れる始末。

## 一覧

### json

#### JSONデータのシリアライズ(PythonオブジェクトをJSON文字列に変換)

“`
import json

data = {
“name”: “Example Item”,
“price”: 19.99,
“in_stock”: True
}

# JSON文字列に変換
json_data = json.dumps(data)
print(json_data) # {“name”: “Example Item”, “price”: 19.99, “in_stock”: true}

“`

#### JSONデータのデシリアライズ(JSON文字列をPythonオブジェクトに変換)

“`
# JSON文字列
json_data = ‘{“name”: “Example Item”, “price”: 19.99, “in_stock”: true}’

# Pythonオブジェクトに変換
data = json.loads(

元記事を表示

【備忘】よくつかうコードスニペット: Python外部ライブラリ系

## 目的

コードを書く機会はそれなりに多いが、日ごろから持ち前の鳥頭が存分に活かされすぎているため書き方を一瞬で忘れる。
そのため、仕事用端末からもプライベートの端末からも閲覧できる形でスニペットとして残しておきたい
今のところ、1から書くと多すぎる上に他の記事などでうまくまとまってる可能性の高いもの(Pandasとか)はそちらを参照することにする。

## 一覧

### FastAPI(v0.103.1)、Flask(v2.3.3)

#### 基本的なAPIエンドポイント

FastAPI
“`
from fastapi import FastAPI

app = FastAPI()

@app.get(“/data”)
async def get_data():
return {“message”: “データを取得しました”}
“`

Flask
“`
from flask import Flask, jsonify

app = Flask(__name__)

@app.route(“/data”, methods=[“GET”])
def get_dat

元記事を表示

Python プロジェクト管理したくて uv に触れてみたメモ

# これは何
2024の春先だっただろうか、pythonを使った開発を新しく始めようと思ったとき、環境管理何がいいのかなー?と調べていたところ、2024のトレンドは rye だ!という情報を沢山見ていたが、最近改めて調べ直してみると uv がトレンドだという話題を見て触ったことないなと思ったので python素人の自分が uv を触ってみたメモ

# uv について
https://github.com/astral-sh/uv

自分はPython界隈の事情に一切詳しくないので、正しく解釈できていないかもしれないが、ざっと調べた限りでは uv は rye の後継ツールで、rye は終わり、uv へ移行している過渡期のようだった。なら、これから始めるなら rye より uv の使い方を覚えるのが良さそうと感じた

# uv をインストールしてみる
手元の環境(win11+wsl2+ubuntu) には brewを導入済みなので `brew install uv` でよかった。
他にも色々インストール方法はありそうだった https://github.com/astral-sh/uv

元記事を表示

Python 3 エンジニア認定実践試験対策 (3) - venv

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

### 仮想環境(venv)とは
– **目的**: プロジェクトごとに異なるPythonのバージョンやパッケージを独立して管理するための仕組み。
– **利点**: システム全体に影響を与えずに、特定のプロジェクトに必要な環境を構築できる。検証用環境として一時的に作成するケースにも利用されます。

### venvの使い方

1. **仮想環境の作成**
“`bash
python3.x -m venv <任意のディレクトリ名>
“`
例: `$ python3.11 -m venv myenv`
作成された仮想環境用ディレクトリに、仮想環境に必要なリソースが配置される。

2. **仮想環境の有効化**
– Unix系(bash/z

元記事を表示

Python 3 エンジニア認定実践試験対策 (2) - requirements.txt / constraints.txt

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

# Python パッケージバージョンの統一管理

## 1. requirements.txtとは?
`requirements.txt`は、異なる環境(開発環境や本番環境など)で同じパッケージバージョンに統一するために使用するファイルです。
– 環境ごとに異なるバージョンを使うと、不具合が発生することがあります
– このファイルを使うことで、パッケージのバージョンを統一できます

## 2. requirements.txtの作成
### 自動作成
“`bash
pip freeze > requirements.txt # 現在の環境のパッケージとバージョンを一覧にしたファイルを作成
“`

## 3. requirements.txtの書式
– コメントは `#

元記事を表示

Python 101: プログラミング初心者が知っておくべき5つの重要な概念

### Python 101: プログラミング初心者が知っておくべき5つの重要な概念

Pythonは初心者から上級者まで幅広いレベルで人気のあるプログラミング言語ですが、効率的に学ぶためには基礎となるいくつかの重要な概念を理解する必要があります。この記事では、Python初心者や中級者が特にミスしやすい、押さえておくべき5つの重要な概念を解説します。

### 目次
1. イントロダクション
2. ミュータブルとイミュータブル
3. リスト内包表記
4. 引数とパラメータ
5. `__name__ == “__main__”`の使い方
6. GIL(グローバルインタプリターロック)
7. まとめ
8. 参考文献

## 1. イントロダクション

Pythonで効率よくコードを書くためには、特定の基本概念を理解しておく必要があります。特にプロダクションコードを読んだり、自分でコードを再現する場面では、理解度が鍵となります。ここでは、開発者がPythonコードを自在に読み書きし、他の開発者とも共有できるようになるための基礎を解説していきます。

## 2. ミュータ

元記事を表示

Python 101: 知っておくべき10の重要な概念

### Python 101: 知っておくべき10の重要な概念

Pythonの基礎を学ぶ上で、押さえておくべき重要な概念を10個にまとめました。これらの概念を理解することで、Pythonプログラムの効率的なコード作成や読み取りが可能になります。

### 目次
1. はじめに
2. ファイル作成と変数の定義
3. データ型の基本
4. 型アノテーション
5. 定数の使い方
6. 関数の定義とパラメータ
7. クラスの基本
8. メソッドとselfの使い方
9. Dunderメソッドの活用
10. まとめと参考文献

## 1. はじめに

Pythonは初心者から上級者まで幅広く使われるプログラミング言語です。本記事では、Pythonプログラムを始めるために知っておくべき10の基本概念を解説します。

## 2. ファイル作成と変数の定義

– Pythonファイルは、`.py`拡張子を付けて作成し、Pythonインタプリタで実行されます。
– 変数は、`変数名 = 値` の形で定義され、再利用が容易です。たとえば、`name = “Bob”`、`age = 20

元記事を表示

OTHERカテゴリの最新記事