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

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

colspanとrowspanを考慮してテーブルをパースする

Pythonでスクレイピングなどする際、BeautifulSoupを用いてHTMLをパースすることがよくあると思います。表をパースする場合はTableタグのパースをすれば良いので同様に対処できます。

しかし以下のようなcolspanやrowspanが設定されている表の場合には工夫が必要になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/437488/6d13399b-5d36-53e3-297e-d86e555deaa5.png)

“`html:sample.html

クラスの継承

https://paiza.jp/works/mondai/class_primer/class_primer__inheritance

さて、これもなかなかあまりないので
手探りでやってみましたがだめでした。

“`py
class Ghest():
def __init__(self,number,food_name,age,order):
self.number = int(number)
self.food_name = food_name
self.age = int(age)
self.order = int(order)

def __str__(self):
“””表示文字列に変換する”””
return f”{self.number} {self.food_name} {self.age} {self.order}”

def getnum(self):
return self.numbe

LaTeXのforestパッケージのforest環境で樹形図を作成するときにオフサイドルールで簡略化させるPythonコード

# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。

# はじめに
言語学をやっていると避けて通れないのが樹形図(句構造木)作りです。樹形図を作成する方法としては、PowerPoint(もしくはKeynote)を使用したり、AdobeのIllustratorやInDesignを作成するというのが手っ取り早い方法ですが、よほどバランス感覚が優れていなければ、やはりLaTeXを使わざるを得ません。というのもLaTeXには[forestパッケージ](https://ctan.org/pkg/forest)という非常に強力な樹形図作成ツールが存在しているからです。

とはいえ、forestの記法は非常に面倒です。“[“と“]“をひたすらネストさせて、
“`LaTeX:ベタ打ち (1)
\begin{forest}
wherenchildren=0{tier=word}{}
[VP[DP[John]][V’[V[sent]][DP[Mary]][DP[D[a]][NP[letter]]]]]
\end{forest}
“`
みたいに記述しなければいけないわ

Python3: Wikipedia, WiktionaryのID取得、AmazonのASIN取得、YouTubeのチャット取得、そうでない場合はパーセントエンコード

# はじめの前のおねがい
できれば「いいね♡」をお願いします。励みになります。

# はじめに
今まで私のマイページ[^1]では「Python, Pythonista3 & Automator: AmazonのURLからASINのみが記載されたURLを生成する[^2]」などで、1つのコードであれもやりたい、これもやりたいと、色々な機能を含めてきたわけですが、実際に自分で運用していく中で、まあこのくらいのことができれば良いだろうという段階まで出来上がりました。つまり

1. WikipediaのページID取得
1. WiktionaryのページID取得
1. AmazonのASIN取得
1. YouTube Liveのチャット取得
1. パーセントエンコード[^3]

をそれぞれ、`http://`以降の文字列を参考にして判別し、`〒`の場合は「[乗換案内](https://www.jorudan.co.jp/norikae/)」の住所検索用に郵便番号の部分を取ったものを出力し、それ以外の場合はパーセントエンコードをするといったものです。

[^1]:「頭痛が痛い」みたいな表現になってし

Python初心者の備忘録 #12 ~統計学入門編02~

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

本記事は**確率、正規分布、標準化**についてまとめてあります。
## ■学

PythonでCloud Vision APIを使用して画像からJSON形式でテキストを読み込む

コードのみ貼り付けます。
導入手順については[画像内のテキストを検出する](https://cloud.google.com/vision/docs/ocr?hl=ja)から。

“`python
from google.cloud import vision
import io
import json
import tkinter as tk
from tkinter import filedialog

def save_and_download_text(image_path):
# クライアントを初期化
client = vision.ImageAnnotatorClient()

# 画像ファイルを読み込む
with io.open(image_path, ‘rb’) as image_file:
content = image_file.read()

image = vision.Image(content=content)
image_context = vision.ImageContext(langu

クラスのメンバの更新

https://paiza.jp/works/mondai/class_primer/class_primer__change_member

コメントで頂いたコードを元に作成。
メンバの更新するときに、いろんなWebページでよくあるコードをみると
変数の名前がgetするときもchangeするときも、同じ変数を使っている事が多いんだけど
私としてはよく分かりづらいので、new_をつけてみた。これでわかりやすいはず。
phpのときもこれどの値が入るのかがわかりづらかった。

“`py
class Employee():
def __init__(self,number,name):
self.number = int(number)
self.name = name

def getnum(self):
return self.number

def getname(self):
return self.name

def change_num(se

Pythonでの閏年判断

閏年で不幸になる人を少しでも減らすためのメモ

# 閏年の特徴

↓とてもわかりやすいサイト↓
https://www.casio.com/jp/watches/contents/leap-year/

– 閏年は、西暦年が4で割り切れる年
– ただし、100で割り切れる年は閏年ではない
– しかし、400で割り切れる年は閏年になる
このルールにより、閏年は一般的に4年に1度発生するが、上記の例外によって調整される

検索条件で1年前以降とかを指定する時に何も考えずにyear – 1とかしちゃうと閏年の日にエラーになる(戒め)

# 指定した年が閏年かどうかを判断

Pythonでは、calendar モジュールの isleap(year) 関数を使用して、指定した年が閏年かどうかを判断できる

“`python
is_leap = calendar.isleap(2024)
print(is_leap) # 出力: True
“`

# 指定した範囲内の閏年の数を計算

calendar モジュールの leapdays(y1, y2) 関数は、指定した範囲内の閏年の数を返す

コーディング面接対策で有名なサイト「LeetCode」で問題を解いてみた

[Supership](https://supership.jp/)の名畑です。待ちに待ち続けた[うる星やつらの「扉を開けて 前編」](https://www.youtube.com/watch?v=yKhj-JPn9Ek)、本当に良かったです。[OVA版](https://filmarks.com/movies/45059)からもう35年以上経っているんですね。当時繰り返し見たなという懐かしい記憶。後編も楽しみすぎる。そして、きっと、原作34巻、つまりは[完結編](https://filmarks.com/movies/26956)の令和版も今後ありますよね?

## はじめに

会社によってはプログラミング職での採用試験の際にコーディングテストを応募者に課すところがあります。
要は経歴や口頭試問だけでは能力を測らず、実際にコードを書いてもらうというものです。

ホワイトボードで書いてもらうような形式もあれば、試験問題を提供するWebサービスに挑戦してもらう場合もあるでしょう。

そんなコーディング面接対策で有名なサイトとして[LeetCode](https://leetcode.c

DockerとFastAPIでHello Worldした

## 実行環境
– Visual Studio Code: 1.87.0
– OS: MacOS Sonoma 14.2.1

> 学習者が記録用に書いた記事です。
> ご指摘、追加情報などあれば些細なことでもコメントからいただけると励みになります。

## ファイルの構成

“`shell
$ tree .
.
├── app
│ └── main.py
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
“`

## Dockerfile

“`Dockerfile
FROM python:3.11-slim-bullseye
EXPOSE 8000
WORKDIR /app
RUN apt update -y && apt-get update -y
RUN pip install –upgrade pip
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY app .
CMD [“uvicorn

Pythonメモ

# 概要

Pythonでなにかしらを書いているときに、よく調べたりしていたちょっとした処理をまとめます。

# ファイル処理

ファイルの読み込み、書き込みについてまとめます。

## ファイル書き込み

“`python
# ファイルに書き込む文字列
s = ‘test string’
# ファイル名
path = ‘test_write.txt’

# ファイルに書き込む処理
with open(path, mode=’w’) as f:
f.write(s)
“`

## ファイル読み込み

“`python
# ファイル名
path = ‘test_write.txt’

# ファイルから読み込む処理
with open(path) as f:
s_read = f.read()

# 読み込んだ内容を表示
print(s_read)
“`

venv(仮想環境)コマンド自分まとめ

pythonのプロジェクトごとに環境を管理するvenvのコマンドをまとめた。
## コマンド
venv(仮想環境)ディレクトリの作成.

[ターミナル]
python3 -m venv [name]

仮想環境に入る.

[ターミナル]
source [name]/bin/activate

仮想環境から出る(仮想環境の無効化)

[ターミナル]
deactivate

venv(仮想環境)内にインストールされているライブラリ一覧をテキストファイルに出力する.

[ターミナル(仮想環境内)]
pip freeze > [name(requirements.txt)]

出力したテキストファイルを元にライブラリを一括インストールする.

[ターミナル(仮想環境内)]
pip install -r [name(requiirements.txt)]

seleniumでchromeブラウザを操作してウェブサイトを開く

# 概要

seleniumを使い、ウェブブラウザを操作できるところまでまとめます。

# seleniumのインストール

“`
pip install selenium
“`

# selenium webdriverのダウンロード

https://chromedriver.chromium.org/downloads

上記からダウンロードを行いました。操作するchromeブラウザのバージョンをURL欄にchrome://versionを入力して調べてからそれに対応するものをという記事をネットで読みましたが、あまり気にせず似たようなバージョンのものをダウンロードしてきました。

# 動作例

## サンプル1

はじめのサンプルとしてgoogle.comのページを開くものを作りました。

### コード

コードは下記のものを使いました。このコードはgoogle.comをchromeブラウザで開くという動作を想定しています。開いてすぐ閉じてしまうことを防ぐために3秒まつ処理を最後にいれています。

“`python
import time
from selenium im

インストールをなるべく行わないでpython環境構築

# 概要

Windows 11にPythonの実行環境と開発環境を構築することを目的としています。インストーラーを使った作業をなるべく行わないようにしています。

# Python3

## 本体ダウンロード

https://www.python.org/downloads/windows/

上記のリンクより、Windows embeddable packageをダウンロードしました。私の場合は、環境が64-bitなのでそれをダウンロードし、解凍しました。

## 実行

解凍したフォルダの中に、python.exeがあるので、それをpowershellで実行しました。パスを考慮したうえでしたのようなコマンドを打って、動作確認しました。バージョンの数字が表示されると思います。

“`
python.exe -V
“`

## pipのダウンロードインストール

https://bootstrap.pypa.io/

上記のリンクよりget_pip.pyをダウンロードしました。右クリック->リンク先をファイルに保存。

パスを考慮して、下記コマンドを実行しました。

“`
p

Python開発環境構築時のメモ(Windows 11 + Python3 + VSCode)

# はじめに
SpeakerDeckで公開されている[競技プログラミングことはじめ](https://speakerdeck.com/e869120/20221122-jing-ji-puroguramingukotohazime)を見て、[AtCoder](https://atcoder.jp/?lang=ja)を始めるためにPython開発環境を整えたので、そのときのメモ。

>インストール作業日:2024/3/2
導入環境(OS):Windows 11 Home(23H2)
導入したPythonのバージョン:Python 3.12.2

# インストール手順
基本的に[Python.jp](https://www.python.jp/index.html)さんの[Visual Studio Code でPython入門 【Windows編】](https://www.python.jp/python_vscode/windows/index.html)の通りに作業を実施。

実際には、手順の「1.Windowsエクスプローラの設定」はもともと設定済、「2.不要なPythonを整理

YOLOv8モデルを使って物体検出アプリケーションをFLASKで作成してみた

# [Python]初心者がYOLOv8モデルを使って物体検出/セグメンテーション/画像分類アプリケーションをFLASKで作成してみた

## はじめに
こんにちは。リスキリングを目的にプログラミングを学びなおしている元プログラマー(現なんちゃってプロジェクトマネージャー)の @Nuts12 です。
現在私はIT企業に勤めながら、**Aidemy** というプログラミングスクールで夜な夜なPythonと機械学習に取り組んでいます。 本投稿はAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しているブログ記事の第二弾となります。 今回は色々と試行錯誤を繰り返しながら学習を進めることとなりました。失敗談を含んだ奮闘記となっておりますので、これから物体検出にチャレンジされる皆さんの少しでもご参考になれば幸いです。

## 開発環境について
以下、今回の開発環境になります。
Operating System: Windows 11 Home 64-bit
System Model: Surface Pro 6
Processor: Intel(R)

画像認識AIを使わずにデジタル数字認識(小説風)

:::note info
この記事はChatGPTを使って作成されています。温かい目で見ていただけますと幸いです。
:::

# プロローグ
ある日、科学者たちが集まって、画像から数字を読み取る新しい方法を発明しようとしていました。彼らはAIに頼らず、脳筋アルゴリズムでこの難題に挑むことを決意しました。果たして、彼らの試みは成功するのでしょうか?

# 科学者たちの集い
ある日、科学者たちが大切な会議のために集まりました。彼らの目的は、画像から数字を読み取る新しい方法を発明することでした。会議室には、様々な分野の専門家が集結し、情熱と興奮が空気を支配していました。

![mensetsu_group_discussion.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3468749/fddaa18d-1530-4c06-d436-7cf42e6ee18e.png)

科学者1: 「AIを使わずに、画像から数字を読み取る方法って、可能なのかな?」

科学者2: 「もちろん可能さ!AIに頼らなくても、私たち

【Python】スクレイピングして企業概要を取得する①

# はじめに
スクレイピングを利用して会社概要ページから必要なデータを取得するツールを実装したので紹介いたします。

## 目的
企業概要ページから、とりだいデータ(今回の場合は、会社名、本社所在地、代表名、電話番号、FAX番号、企業HPのトップページのURL、問い合わせ先メールアドレス)を取得します。

## 対象企業
3年半前にHPを作成した企業さんの会社概要を使います。(現在は当時とHP構造が大きく変わったため)

## ソースコード
“`python3
# 企業概要取得ツール
# 新規開発 2024/3/2
# Create by 乃木坂好きのITエンジニア

#ライブラリのインポート
from bs4 import BeautifulSoup
import urllib3
import codecs
import datetime
import re
import os
import requests

#会社概要ページのURLの定義
get_url = “https://flora-inc.co.jp/page/company.php”
# 現在日時の取得
dt =

Python入門編[その1]

# はじめに
どうもこんにちは.Qiita初記事です.
今回はプログラミング初心者,Python初心者を対象とし,演算子と基礎的な文法が扱えるようになることを目標とします.
また,シリーズを通して最終的にはpythonで大体のことができる(超大雑把)ようになることを目標としています.写経するもよしコピペして動作確認するもよしといった記事にするつもりです.

:::note
なお,私の環境はPython 3.10.10となっていますので,もしこれ以降に示すスクリプトが動かない場合はバージョンを確認してみてください.
ちなみにバージョンを確認するコマンドは以下の通り.
“`
python3 -V
“`
:::

# 基本構文と演算子,文法
## 演算子について
以下の表に基本的な演算子を示します.

| 演算子 | 意味 |
|:———–|————:|
| + |和 |
| – | 差 |
| * | 積 |
| \/ | 商 |
| %

dockerのイメージの種類と選び方

## Dockerコンテナイメージのバリエーション
### dockerのイメージの種類がたくさんあってどれを選べばいいかわからない
### イメージの種類は大きく分けて4つ
### 1. 公式
### 2. Alpine Linux
### 3. Debian
### 4. windows

## 結論
開発環境や手軽に試したい場合はAlpine Linuxがおすすめ
しっかりした環境を必要な場合は公式イメージがおすすめ

## 具体的なDocker Hubのpython3.10のイメージを解説
### Debian Bookworm バリエーション
– **3.10.13-bookworm, 3.10-bookworm:**
– ベースイメージ: Debian Bookworm
– 特徴: Debianの最新バージョンを含む
– 用途: 最新のパッケージと機能が必要な場合

### Debian Slim バリエーション
– **3.10.13-slim-bookworm, 3.10-slim-bookworm, 3.10.13-slim, 3.10-slim:**