Python関連のことを調べてみた2021年09月25日

Python関連のことを調べてみた2021年09月25日

BusterからBullseyeにアップデートしたRaspberry PiでPythonの動作環境を整える

## 1. はじめに

[Raspberry Pi 3 Model B](https://ja.wikipedia.org/wiki/Raspberry_Pi#%E4%B8%BB%E3%81%AA%E4%BB%95%E6%A7%98)が死蔵状態にあり、これを活用するためにBullseyeにアップデートしたので、後々Ansibleを動かすために、Pythonの動作環境を整えます。

前回はこちら
[死蔵していたRaspberry Piを起動できるようにしBullseyeにアップデートする](https://qiita.com/ukichi/items/fa4152a0bfaf5061469a)

## 2. バージョンの確認

“`bash
$ python –version
-bash: python: command not found
“`

BusterからBullseyeにすると`python`がない・・・?

“`bash
$ python3 –version
Python 3.9.2

$ python2 –version
Python 2.7.18
“`

元記事を表示

Wiggle Trace のプロット方法

地震データなどの波形処理をしていると、観測記録をWiggle Traceで表示することが多いので、
そのプロット方法を考えてみた。

##コード
“`py
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection, PolyCollection

nt=200 #sample 数
data=np.sin(np.linspace(0,10*np.pi,nt)) #今回はsin波をプロットする
data=np.asarray([data]*10)
amp=0.5 #プロット時の振幅のスケーリング

y=np.arange(nt)
xs_all=[]
xs_pog=[]
for i in range(len(data)):
pog=data[i].copy()
pog[pog<0.0]=0 #極性が正のデータ xs_pog.append(pog/data[i].max()*amp+i) xs_all.append(d

元記事を表示

体育会系出身者がE資格を取得した話

## 0. はじめに
私は大学をスポーツ推薦で行くような**ガッツリ体育会系の人間**です。
大学院には進学しましたが、ここでも体育学専攻です。
卒業後、2年間教員(もちろん保健体育)として働いた後、今年の4月からIT会社に入社。

**ITはもちろんのこと、数学の知識なんて全くありません**。。。

そんな私でも**4ヶ月の学習でE資格を取得**することができました。
しかもギリギリ合格といったことはなく正解率約88%だったので余裕を持って合格できました。
分野別の得点率のスクショを下記に貼っておきます。

応用数学と機械学習の得点は私自身驚きました笑

E資格に関しての学習時間ですが、**300−400時間程度**だと思います。
基本的に平日は朝、夜に1時間づつ。休日も同じ程度か全くやらないか笑
2時間 × 30日 × 4

元記事を表示

[Python]Playwrightを用いたE2Eテスト方法メモ

* ブラウザ自動操作ツールPlaywrightを用いたテスト方法についてメモする。

## 事前準備

* ライブラリ類インストール

“`shell
pip install playwright
playwright install
pip install pytest-playwright
“`

* テストレポートツール`allure`インストール

* 筆者はWindows環境を利用しているため、パッケージ管理ツール`scoop`を使用する。

* `scoop`インストール方法は[こちら](https://qiita.com/rhene/items/d8a0c0c7d637904e14da)を参照。

“`
scoop install allure
pip install allure-pytest
“`

## テストコード

* `test.py`

1. 「Playwright Python」でGoogle検索
2. 検索結果に含まれるPlaywright-Python公式Git

元記事を表示

Python信者だけどプログラミングを最初に学ぶのにPythonはまずいと思う件について

#はじめに
どうも。
いつもはPythonに関する記事を書いている者ですが、今日は少し打って変わってタイトルにあるようなことを書いていきます。
私が勝手に思っていることなので、間違っていることだらけかもしれませんが、良ければ見ていって下さい。
#そもそもPythonとは

![Python_logo_and_wordmark.svg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/835335/945ab2fb-bef0-1540-e71d-32e3be2ab670.png)

そもそもPythonとは1990年代に公開されたプログラミング言語で、分かりやすさ、読みやすさが特徴的な言語です。
また、ライブラリが非常に豊富で高い汎用性や実用性があります。用途としては機械学習、Webシステム、システム管理ツールなど多様です。私もよく研究している制御工学の検証や、スクレイピングなどいろいろやっています。
一言で言うと、「ガチで便利かつコードが組みやすい言語」です。
とまあ、このように最高の言語の一つでありますが

元記事を表示

ABC95 C – Half and Half から学んだ

https://atcoder.jp/contests/abc095/tasks/arc096_a

![ABC95_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/de7cfeb1-ac3a-9ebf-7292-f99cfe1ba9d8.png)
![ABC95_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/80d2c7a1-0388-2fce-4ab3-4222507884c7.png)
![ABC95_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/300081f9-19a5-6af4-2811-0c3f0a06d21e.png)

考えても良くわからず、以下のページの冒頭、”AB ピザの全探索” が見えてピンときた。

https://blog.hamayanhamayan.com

元記事を表示

Google colabの90分切れに対応する

# はじめに
Google Colab、便利でいいですよね。無料でGPUも使えるし機械学習、特にディープラーニングでガシガシ画像処理したい時はお世話になってます。

ただ厄介なのが90分制限。90分何も操作しないと自動的にセッション切れしてしまって学習が止まってしまうやつです。

まぁ学習中に論文見て手法考えたりとかすればいいんですけど、息抜きしたいとか、寝てる間に学習進めたいとかもあると思うので、それに対応しようと思います。

# 環境
chrome
Google colab
あとjupyter 環境もあるといいです

# pyautoguiを使う
要は自動的にマウスなど動かしてあげればいいのでそういうライブラリがないかと調べてみたらありました。

pyautoguiというやつで色々便利なことができそうです。

pipでインストール

“`python

pip install pyautogui

“`

必要なものをインポート

“`python
import time
import pyautogui as pgui
“`

以下のコードを学習を実行している環境(今回だ

元記事を表示

M1 Macでkivyを動かすようにする(Miniforge)

#はじめに
M1のMacに関係なく,kivyは環境構築がややこしいので
備忘録としてまとめてみます.
環境については,以前書いた記事と同様にminiforgeを用います.

https://qiita.com/go_new_innov/items/eb90338c72d8bcfb2046

##仮想環境の作成
作成するpythonのバージョンは3.9と新しいのにしました.
3.8以前のバージョンだと動かなかった記憶があります.(曖昧)

“`
conda create -n kivy python=3.9
“`

##ライブラリのインストール
次に,kivyとそれに必要なライブラリをインストールしていきます.
以下の順番でインストールして動作しました.
(自動で周辺ライブラリがインストールされる都合で,順番が大切という記事もありました)

ffpyplayerは,kivyを動かす際には,必要ありませんが
kivyを用いて,動画を扱う場合に必要となります.

“`
pip install cython
pip install git+https://github.com/kivy/

元記事を表示

sklearn.model_selection の簡単まとめ (1) Splitter Classes について

## 0. 対象読者
– Q : [sklearn.model_selection](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.model_selection) のSplitter Classesってどれ使えばいいんだろう.

という問いに明確に答えられない方や,

– 英語読むの苦手でドキュメント読めないよ.
– 公式ドキュメントの内容を一ページにまとめてみたいよ.

といった方に向けて作ります(よく使われている2つしか扱いません)。

そのため,非常に素朴な内容かもしれません。
ただ,この記事も誤りを含んでいる可能性があります。

もし,訂正や疑問等ありましたら、ご教授お願いいたします。

### 1. [sklearn.model_selection](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.model_selection) について

これは,
1. Splitter Classes (分割

元記事を表示

[Windows]’py’と’python’コマンドの違い

## 背景

Pythonで環境構築をしようとすると、主にpipを用いる場面で、Windowsの環境では`py`と`python`の2種類が登場する。
これらの違いは、あまり説明されておらず、知らないとハマる場合があるので備忘録として記事にすることにした。

## 問題

Windowsではコマンドプロンプトからコマンドを打つために、[PATHを通す](https://qiita.com/shuhey/items/7ee0d25f14a997c9e285)必要があるが、PythonをインストールするとPython実行ファイルを管理するPython launcherと呼ばれるものが`C:\Windows\`にインストールされ、pyコマンドを打つことで呼び出される。

そのため、Pythonをインストールするときに環境変数を登録するオプションを有効にしてしまうと

`py`と`python`の2つのコマンドが存在することとなり、これを知らないと非常に混乱することになる。

## 備考

この問題に気がついたきっかけが、PythonからWindows標準のdllを呼び出そうとしたときに、Py

元記事を表示

【Django】自作ブログサイトの記事にコメント機能を実装してみた

今回はコメント機能の実装について備忘録を残していきます。
当方初心者エンジニアですが、自分のため、そしてこれを見てくれた方のお役に立てればと思います。

これから一部コードを提示しながら説明していきますが、全体のコードをご覧になりたい場合は[Github](https://github.com/Yoshida-Programmer/Yoshida-Blog)にありますので、そちらを参照して頂けますと幸いです。

# 完成イメージ
実装結果はこちらになります。一般的なコメント欄となります。
トップの記事リスト(list.html)から選択した記事詳細(detail.html)の下に付けてみました。
![無題①.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1608896/cab7fc9e-cebc-6c6c-f9e9-b2a10c57945f.png)

コメントする場所(comment_form.html)は記事詳細(detail.html)に『コメントする』というボタンを追加しましたので、そこから

元記事を表示

プログラミング学習 Day1

# プログラミングにも色々ある
– java:文法が厳しい。間違いが許されないプログラミングに使われる。
– javascript:UIが得意。ウェブサイトの画面などに使われる。javascriptを少し厳格にしたtypescriptなどもあり。
– python:文法が緩い。とりあえず動く。フロントエンドは苦手。AIはpython一択。

# プログラミングの学習方法
– 何がわからないかをわかるのが第一歩
– 本を読むだけでは理解できない、作れない
– 人のプログラムを見てどんな動きをするか予測してみる
– 経験大事。優秀なエンジニアの経験による生産性は100倍の生産性の差に。

# 感想
– pythonはfacebookにも使われると聞いたのでfacebookは全てpythonでできていると思っていた。
– 各プログラミンには思想があると聞いたので時間があれば調べてみたい

元記事を表示

Pythonで写真がドット絵へ変換!ノベルゲーム背景のために。

Unityで作っているノベルゲームのために、いい背景のように面白い方法を調べました。Pythonのライブラリと小さいスクリプト、写真からいいドット絵風に画像ができます。

# なぜ写真から?

ノベルゲームの中で、そんな仕方は見たことある。一番人気な例はきっと「ひぐらしのなく頃に」ですよね。

ゼロから絵を書かないように、撮った写真から背景の作りがもうちょっと簡単になるだろうと思いました。写真編集ソフトの中でフィルタ-を使ったら、絵を似るように修整ができるですが、いい結果を目指すは難しそうね。

とりあえず、僕は絵を書くの腕が悪いのでそんな技術を思い出した。日本に住んでたときから取った写真が多いから背景で使えませんかっと思いました。

# なぜドット絵へ?

最初、ドット絵の利用はもちろん、レトロな感じですよね。ゲームのUIもうドット絵でやってみたいっと思った、いいチャレンジですから。

ゲーム美術表現の選択のさらに、リアルからドット絵へ変換にはメリットが多い。

たとえば、、、

* 有名なブランドのロゴや名前がちょっとだけ認めるので、商標権の問題が無くなる。
*

元記事を表示

[Python]Playwright ブラウザ操作自動化 メモ

## Playwrightとは

* Microsoft を中心に開発されているNode.js上からブラウザを操作するためのライブラリ。
* 特徴
* ブラウザ操作しながらテストコードを自動生成
* クロスブラウザテストが可能
* 対象ブラウザ:Chromium / Firefox / WebKit
* Python以外にもNode.jsなど他言語にも対応

## 事前準備

* インストール

“`shell
pip install –upgrade pip
pip install playwright
playwright install
“`

## コード生成

* 次のコマンドを実行し、ブラウザ操作を行う。

* `Playwight Python`でGoogle検索を行い、検索結果の1番上のページにアクセスする場合

“`shell
playwright codegen google.com -o test_google.py
“`

※操作後をブラウザを閉じることでコードが保存される。

元記事を表示

python初学者の備忘録 リスト型について

####[←目次へ](https://qiita.com/dondondon/items/cd45224ca93e65c976cc)

:::note info
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご理解ください。
知識を深めながら追記していきたいと思います。
:::

#リスト型とは

:::note info
オブジェクト生成後に要素を変更できるmutableオブジェクトである
:::

+ 複数の値を[]で一つの入れものにまとめて入れる
+ インデックスを指定して値を取得できる
+ 追加、削除、書き換えなどの操作が可能
+ リストの中にリストを入れる事も可能
+ 異なるデータ型を入れる事も可能

#####文字列型のリスト
“`python
>>> my_friends = [‘飯田’, ‘佐久間’, ‘斎藤’ , ‘照井’]
>>> my_friends
[‘飯田’, ‘佐久間’, ‘斎藤’ , ‘照井’]

>>> type(my_friends)
#

>>> my_friend

元記事を表示

包除原理(Inclusion-exclusion principle)でProject Euler Problem 1を解く(その2)

### 集合が3つの時の包除原理

前回、集合が2つの時の[包除原理(Inclusion-exclusion principle)](https://ja.wikipedia.org/wiki/%E5%8C%85%E9%99%A4%E5%8E%9F%E7%90%86)を使って問題を解きましたが集合が3つになるとちょっと複雑になります。Wikiのリンクから3つの場合は以下のようになります。

> $|A\cup B \cup C|=|A|+|B|+|C|-|A\cap B|-|B\cap C|-|C\cap A|+|A\cap B\cap C|$

したがって前回の問題に7の倍数を含めるようにすると。包除原理を使ったプログラムは解.4のようになります。(関数msumは前回のものを使う)

#### 問題2 1000未満の、3か5か7の倍数となる自然数の和を求めよ

#### 解.4 3集合の包除原理を使ったプログラム

“`python
print(msum(n,3)+msum(n,5)+msum(n,7)
-msum(n,3*5)-msum(n,5*7)-msum(n,7*3)

元記事を表示

包除原理(Inclusion-exclusion principle)でProject Euler Problem 1を解く(その1)

### 1000未満の、3か5の倍数となる自然数の和を求めよ

[Project Euler: Problem 1] (https://projecteuler.net/problem=1)はこのような単純な問題で以下のようなプログラムで解けると思いますが。さすがにPEの最初の問題だけあってよく考えると深い示唆が含まれています。

#### 解.1 すべての数をループでチェックする

“`python
n = 1000
s = 0
for i in range(1,n):
if (i % 3 == 0) or (i % 5 == 0):
s += i
print(s)
“`

#### 解.2 SETを使って和集合の要素の和を求める

“`python
n = 1000
# addm: n未満のkの倍数の集合を返す
def setm(n, k):
s = set()
for i in range(k,n,k):
s.add(i)
return s

print(sum(setm(n, 3) | setm(n, 5)))
“`

いずれも直感的に分

元記事を表示

SlackとLINEを連携したい

Slack <-> LINEで相互にメッセージのやり取りをできるものを作りたいと思い、いろいろ調べて作れました。

参考としたURLとかを載せておくものなので、ほぼメモ書きです。
参考にさせてもらった記事も2年前とかなので色々変わっていたため、そのままではできなかったということもあったので。
pythonとかも初心者というか勉強しないままやってるので、常識的なこともわかっていませんのであしからず。

環境は以下です。

ローカルPC:windows10
python:3.9.6

第1 Line -> Slackの通知
参考URL1(環境準備):https://kuri-megane.hatenablog.jp/entry/2019/10/28/190000
参考URL2(ソース、デプロイ):https://kuri-megane.hatenablog.jp/entry/2019/11/07/190000
参考URL1に書いていないことで、不要かもしれませんがコマプロで作業するより、gitのコマンドライン使えるgit bash入れたほうがいいです。
参考URL:https://qiit

元記事を表示

python初学者の備忘録 コレクションについて

####[←目次へ](https://qiita.com/dondondon/items/cd45224ca93e65c976cc)

:::note info
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご理解ください。
知識を深めながら追記していきたいと思います。
:::

#コレクションとは
+ 複数のデータを格納することから「コレクション」「コンテナ」などと呼ぶこともある
+ また、そのうち「リスト」と「タプル」はシーケンス型オブジェクトとも呼ぶこともある
※「range」「文字列」もそれにあたる

:::note info
オブジェクト生成後に要素を変更できる:mutableオブジェクト
:::

:::note info
オブジェクト生成後に要素を変更できない:immutableオブジェクト
:::

#####`各コレクションの違い`

| データ型 | 変更可否 | 要素の順序 | インデックス | 説明 |
|:-:|:-:|:-:|:-:|:–|
|リスト|〇|〇|〇|任意の型のデータを格納できる|
|タプ

元記事を表示

備忘録的Djangoの始め方その1

ターミナルにて
pip install pipenv
//仮想環境を構築するpipenvをインストール

cd mkdir プロジェクト名
//プロジェクト名 のフォルダを作る

cd プロジェクト名          
//プロジェクトフォルダに移動

pipenv shell
//仮想環境構築する。仮想環境をぬける時はexit

pipenv install django
//仮想環境にdjangoをインストールする

django-admin startproject  config . 
//djangoのプロジェクトを作る。configにしとくと分かりやすい
(プロジェクト名やアプリケーション名にするとごちゃごちゃする)

configのsetting を編集
【command + f 探したり移動するvscodeのショートカット 】

TIME_ZONE =’Asia/Tokyo’
LANGUAGE_CODE=’ja’
に設定する

さらに
STATIC_ROOT= os.path.join(BASE_DIR, ‘static’)
//staticはcssなど静

元記事を表示

OTHERカテゴリの最新記事