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

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

ZED SDK の設定可能な候補を見つける

ZED SDK はStereoLabsのカメラ zed2, zed-x, zed mini を使うためのライブラリである。
そのZED SDK を概観するために、各項目で設定できる項目には何があるのかを見つけるためのpythonスクリプトをメモする。

## 想定する読者
stereolabsのzed2, zed mini, zed z などのステレオカメラの利用者
いまどきのステレオカメラは何ができるのかを知りたい人
## 前提
ZED SDK 4.0

## 注意
無保証です。

## 実施方法
– 以下のスクリプトを実行する。

“`:.py
import inspect

import pyzed.sl as sl

def show_params(some_params):
for k, v in inspect.getmembers(some_params):
if k.find(“__”) < 0: print(f"{type(some_params)} {k} {v}") if __name__ == "__main

元記事を表示

静的メンバ

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

“`py
class Ghest():
def __init__(self):
#初期化
self.sum = 0

def take_food(self, price):
self.sum += int(price)
def take_softdrink(self, price):
self.sum += int(price)
#ここでデフォルト引数追加
def take_alcohol(self, price=500):
pass
def get_sum(self):
return self.sum

class Adult(Ghest):
def __init__(self):
super().__init__()
#初期化
self.al

元記事を表示

デフォルト引数

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

すみません、デフォルト引数を使わないまま
解答しました。。。

“`py
class Ghest():
def __init__(self):
#初期化
self.sum = 0

def take_food(self, price):
self.sum += int(price)
def take_softdrink(self, price):
self.sum += int(price)

def take_alcohol(self, price):
pass
def get_sum(self):
return self.sum

class Adult(Ghest):
def __init__(self):
super().__init__()
#初期化

元記事を表示

Tello-Console2 メソッド一覧

# メソッドとは
 メソッドとは、簡単にいうと **ある機能そのもの** を指します。TELLO-CONSOLE2 では、ドローンを制御したり、ドローンから状態を取得するなどさまざまな機能をメソッドとして提供します。


# メソッド一覧
 Tello Console2 に含まれるメソッドは **[TELLO SDK 3.0](https://dl.djicdn.com/downloads/RoboMaster+TT/Tello_SDK_3.0_User_Guide_en.pdf)** に準拠しています。
## 基本制御メソッド
– **[takeoff](https://qiita.com/GAI-313/items/8cdb167368a620d809d8#takeoff)**
– **[land](https://qiita.com/GAI-313/items/8cdb167368a620d809d8#land)**
– **[up](https://qiita.com/GAI-313/items/8cdb167368a620d809d8#up)

元記事を表示

Tello-Console2 の紹介

# Tello-Console2
:::note
この記事は短期間かつ不定期に更新します。
:::
 こんにちは。GAI-313 です。前回2年ほど前に Tello-Console を開発し、数多くの方々にご利用いただき、さまざまな意見をいただきました。その結果以下の重大な問題が見つかりました。

– **Windows での動作が安定しない**

 私の環境では Windows がなかったこともあり、Windows に対応するパッケージをうまく開発できませんでした。しかし、ここで新たにクロスプラットフォームで動作する新たな Tello-Console。**Tello-Console2** をリリースします。

## Tello-Console と Tello-Console2 の違い
 わざわざ番号を振って分けたのは、ドローンを制御およびドローンからの情報を取得するコードの記述方法を大幅に変更したことあります。Tello-Console ではすべて OpenCV を用いて画像データの取得を行っていたことで、データ受信に大きな遅延が発生してしまいました。しかし Tello-Consol

元記事を表示

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を整理