- 1. Python 3 エンジニア認定実践試験対策 (5) – Flake8
- 2. Python3: paizaラーニング問題集「マップの判定・縦横」やってみた
- 3. Pythonで実行中の関数と変数の名前を簡単に取得する
- 4. Python 3 エンジニア認定実践試験対策 (4) – PEP8
- 5. VSCodeでWindowsからリモートのUbuntu24.04上にあるPythonコードをデバッグする
- 6. Djangoのアプリを作成し、ローカル環境で動作させるまで
- 7. OpenCVを用いたコーナー検出のやり方
- 8. OpenCVでの楕円フィッティングのやり方
- 9. OpenCVを用いた色検出
- 10. PythonのPandasライブラリを使用して、Excelファイルへ
- 11. 【Python】re.searchとre.findallの違いは?サンプルコードで解説
- 12. [python] python初心者が覚えるべき事11選
- 13. 【Python】文字をペイント系ソフトのペンツールで描画する
- 14. Python 不動産ライブラリAPIを使ってみる デプロイ編
- 15. Python3: paizaラーニング問題集「部外者をはじけ」を解いてみた
- 16. 【備忘】よくつかうコードスニペット: Python標準ライブラリ系
- 17. 【備忘】よくつかうコードスニペット: Python外部ライブラリ系
- 18. Python プロジェクト管理したくて uv に触れてみたメモ
- 19. Python 3 エンジニア認定実践試験対策 (3) - venv
- 20. Python 3 エンジニア認定実践試験対策 (2) - requirements.txt / constraints.txt
Python 3 エンジニア認定実践試験対策 (5) – Flake8
### Flake8とは
– **目的**: Flake8は、Pythonコードの静的解析を行うコマンドラインツールで、PEP8スタイルガイドに基づいてコードの品質をチェックします。文法エラーや潜在的なバグ、コードの複雑さを検出します。– **構成**: Flake8は以下の3つのツールで構成されています。
– **pycodestyle**: PEP8に準拠しているかをチェックします。
– **Pyflakes**: 潜在的なバグを検出します(フレーク=小さな塊=不具合箇所の意)。
– **McCabe**: コードの複雑さを測定します
– 複雑度を表すマッケイブ指標が由来。
– デフォルトでは無効化されているため、複雑度を指定するオプションを指定すると有効化されます。### Flake8のインストール
“`bash
$ pip install flake8
“`### 静的コードチェックの実行
“`bash
$ flake8 <チェック対象ファイル名>
“`### エラーコードの確認
Flake8が出力するエラーコードの詳細は
Python3: paizaラーニング問題集「マップの判定・縦横」やってみた
なんとなく解き方あったなと思ったのでやってみました。
https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_map_boss
マップのある場所の四方を調べる的なことなので、マップの廻りを何かで取り囲んでやると場合分けが少なくなる的なことです。
“`py:
H, W = map(int, input().split())BORDERED = tuple(
(True,) * (W + 2)
if j == 0
or j == H + 1
else
(True
, *(i == “#” for i in input())
, True
)
for j in range(H + 2)
)every_side_surrounded = (
(j – 1, i – 1)
for j in range(1, H + 1)
for i in range(1, W
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 redef 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):
[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: floatDISTANCE = 2.0
def outsiders(points):
min_outs = [*points]for p0, p1 in combinations(points, 2):
tenp_outs = []if
【備忘】よくつかうコードスニペット: Python標準ライブラリ系
## 目的
鳥頭のため、ちょっと書いてないだけで基礎的な記法も忘れる始末。## 一覧
### json
#### JSONデータのシリアライズ(PythonオブジェクトをJSON文字列に変換)
“`
import jsondata = {
“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 FastAPIapp = FastAPI()
@app.get(“/data”)
async def get_data():
return {“message”: “データを取得しました”}
“`Flask
“`
from flask import Flask, jsonifyapp = 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の書式
– コメントは `#