Python3関連のことを調べてみた2023年01月08日

Python3関連のことを調べてみた2023年01月08日

Youtubeで音楽を聴いているときに出てくる「動画が一時停止されました。」を駆逐する

# Youtube「動画が一時停止されました。続きを視聴しますか?」←は?????

作業中、youtubeを作業BGM代わりに使っている人は多いかと思います。こんな時、再生は止まってほしくないものです。ところが、しばらくバックグラウンドで再生していると、アレ、再生が止まったゾ…

>動画が一時停止されました。続きを視聴しますか?[OK]

__ふざけんな!!!!!(声だけ迫真)__

# Chormeの拡張機能を試す。

クロームの拡張機能(アドオン)を探したところ、下記がヒット。

https://chrome.google.com/webstore/detail/youtube-nonstop/nlkaejimjacpillmajjnopmpbkbnocid

当該ポップアップを消してくれるアドオンのようです。早速入れてみましたが、やはり停止される模様…。これはマクロを自作するしかないですね。JavaScriptはかけないので、アドオンを作るのは諦めて、pythonで実装することにしました。

# コード
プログラムは非常に単純です。例のポップアップの[OK]が出る場所を

元記事を表示

PHPerが学ぶPython③ 例外処理

おいっす。豚野郎です。
Pythonの変数・配列・クラスの説明は書いてきたので、
最後に例外処理の記事を書けば言語としての基礎は全て書いたことになるのかなと思います。

そのため今回は、基礎としては最後として「例外処理」について書いていきます。

※ 注意:内容はPHPか何かの言語を書いたことがある方向けなので、
説明を割愛している箇所は多々ありますので、ご了承ください。

**バージョン:3.9.1**

【過去の記事】
■ PHPerが学ぶPython① 変数・配列・タプル

https://qiita.com/pig_buhi555/items/301f7c8eabd1a5fd121f

■ PHPerが学ぶPython② クラス

https://qiita.com/pig_buhi555/items/ab6108d6fc03ccfffbe4

# 1. 実行時の例外
以下が発行する例外の種類です。
①. NameError:変数定義されていない時
②. ZeroDivisionError:0で割り算を行った時
③. TypeE

元記事を表示

試し割り法による素数の生成

試し割り法による素数の生成です。
プログラムに、
`prime2.py`として実行したら、素数が1行毎、次々と出力されます。
`chmod +x prime2.py`として、実行権限を付けて動かして下さい。

“`prime2.py
#!/usr/bin/python3
#
#試し割り法による素数の生成
#
def trial_division(t):
for i in range(2,t):
if t % i == 0:
return(0)
return(1)

def nth_prime(n):
m=2
primes=[]
while(1):
if (trial_division(m)==1):
primes.append(m)
if (len(primes)==n):
return(primes[n-1])
m=m+1

n=1
while(1):
print(nth_prime(n))
n=n+1
“`

元記事を表示

Pythonでマスク付きのテンプレートマッチングをする(OpenCV)

# 1.概要
みんな大好き大乱闘スマッシュブラザーズ(以下スマブラ)!!
私事ながら,スマブラ配信をしています.[チャンネル登録お願いします!](https://www.youtube.com/channel/UCKys_FIMcKfIn5L4HOyy0vQ)
スマブラ×機械学習でなんかできないかなー,と思っていたところこんな記事を発見しました.
[画像認識でスマブラの戦績を自動で作成するツールを作ろう](https://note.com/kelp168/n/nf717de3a2d22)
最終的に何を作るかは置いといて,面白そうだしとりあえずやってみよう!

前回,[Pythonで画像のエッジ検出と直線検出をする](https://qiita.com/kenshin-627/items/098703383374e1e7b65b)ことができました.
今回の目標は,画面上部の直線から対戦開始タイミングを,テンプレートマッチングで対戦終了タイミングを検知することです.
画像の上部にこんな角度の直線が検出されれば,この画像は対戦開始タイミング!

元記事を表示

素数一般項による素数の生成 Python3

素数の一般項という数式を見つけたので、python3 で、mpmathモジュールを使って、任意精度演算で素数を求めるプログラムを書いてみました。
但し、一回の演算の回数が多すぎるため、小さい素数(29とか)でも、遅くて、使い物にはなりません。
`chmod +x prime.py`として、実行権限を付けて動かして下さい。
Usage: prime.py \

# 素数の一般項
説明などが欲しい方は、googleで、「素数 一般項」等として検索して下さい。

# 実行

mpmathモジュール は、
`$ python3 -m pip install mpmath`としてインストールして下さい。

ここでは、演算精度は200にしてあります。

# プログラム1

“`prime.py
#!/usr/bin/python3
import mpmath
import sys
argv=sys.argv
n=int(argv[1])
mpmath.mp.dps = 200

元記事を表示

[Python] 仮想環境の構築

# 使用技術

– [Python 3](https://www.python.org/)
– [venv](https://packaging.python.org/ja/latest/guides/installing-using-pip-and-virtual-environments/)

※この記事はPython 3を使用しています。Python 2では手順が異なります。

# 仮想環境について
Pythonには仮想環境を構築するためのライブラリがいくつかあります。
これらを使用することで、各プロジェクトに対して それぞれ別のパッケージをインストールして管理することができます。

もし共通の環境で開発を進めると、モジュールを追加・削除したり、バージョンアップしたことによって、他のプロジェクトに影響を与える場合があります。
仮想環境を使用することでこれを解決することができます。

# 構築方法

## 1. コンソールを開く
Windowsでは特に事情がない限り、PowerShellを使用することを推奨します。

## 2. pipを最新版にする
pipコマンドを使用する前に、

元記事を表示

いいから黙ってこの記事通りにPython環境を立てろ(mac編)

# 注意事項
– 各自のマシンの環境破壊および構築は各自の責任で。
– 環境破壊を行う前に、 `pip freeze > requirements.txt` などにより自身が利用しているパッケージリストを保持することをお勧めする。
– シェルコマンドの `%` はコマンドであることを示しているだけなので、実際の入力では不要。

# Part 1: 過去の清算編

## [必須] シェルの読み込み設定をすべて削除する
bashを使っている場合は `~/.bash_profile` および `~/.bashrc` を、zshの場合は `~/.zsh_profile` および `~/.zshrc` を確認し、Pythonに関するコマンドは全て削除する。特に、Anacondaを入れたことがある場合はかなり汚くなっているはず。
(元々ファイルがない場合はなくてOK)

### 例: Anacondaが勝手に追記するコード
一例 [参考](https://atsushinotes.com/uninstall-anaconda-from-mac/)

“`shell:.bash_profile/.

元記事を表示

paiza スタック・キュー応用編 python 解答例 

https://paiza.jp/works/mondai/stack_queue_advanced/problem_index?language_uid=python3

今回はこちらの解答例のない問題集を解いてみます。これから学習するかたへ参考になることが出来れば幸いです
## まず
スタックキューにはいろいろライブラリがあるそうですが、以下の奴が一番早いそうです
左右どちらからの挿入と削除も出来ますので、大丈夫です
“`py
from collections import deque
s = deque([])

s.append(1) # 右に挿入
s.appendleft(2) # 左に挿入
s.pop() # 右の要素を削除
s.popleft() # 左の要素を削除
“`

またキューの挿入、削除のクエリを受け取る場合、何個の文字が来るか分からないことがあります。そこで
“`py
str,*x = input().split()
“`
とすることで、xに相当する文字が存在した場合、xにリストとして格納することが出来ます
もし、xにあてがう文字が無かったとしてもエ

元記事を表示

【Python】リスト内包表記で「なんか遅いな」と思った時のTips

# 自分への戒めも込めて
Pythonはとても便利。
でも下手な書き方すると**計算が全然終わらない**ことがある。
一方で**ちょっとした書き方の工夫**をするだけで計算が全然速くなったりする。
ここでは自分がかつて陥った「**内包表記の計算が全然終わらない**」ケースとその対処法をいくつか紹介する。

# 内包表記ってどんなだっけ?

例えば以下のようにlistを作成したいとする。
愚直にやるとこんな感じ

“` Python
l = []
for i in range(10):
l.append(i)
print(l)
“`

“` :Output
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
“`

これを**内包表記**を使うと以下のようにスッキリ書ける。

“` Python
l = [i for i in range(10)]
“`
Pythonはその言語の性質上ネストが深くなるとインデントもどんどん深くなりがち。
内包表記を使うとインデントを下げることなくすっきり書けるので便利。

JavaやCなどの言語からPythonに入門すると

元記事を表示

pythonのバージョンを切り替えたい(python3.9–>python3.10にしたいことがきっかけ)

pythonのバージョンを切り替えたい場合の備忘録です(python3.9–>python3.10にしたいことがきっかけ)

## Linux(ubuntu20.04)の場合

以下の方法を参照して`update-alternatives`を使う方法で`python3.10`を使えるように切り替えることができた

> [Ubuntu 20.04にPython3.xを複数インストールして切り替える方法(PPA・apt)](https://qiita.com/murakami77/items/b612734ff209cbb22afb)
>
>
> “`リポジトリ追加
> sudo apt install -y software-properties-common
> sudo add-apt-repository ppa:deadsnakes/ppa
> “`
>
> apt update
>
> “`
> sudo apt update
>“`
>
>Python 各バージョンインストール
>
>“`
>sudo apt install -y python3.10 pyt

元記事を表示

PHPerが学ぶPython② クラス

うっすっす。豚野郎です。
今回は前章の続きです。

https://qiita.com/pig_buhi555/items/301f7c8eabd1a5fd121f

変数・配列がわかれば、次はクラスかな?と思い書いていきます。

※ 注意:内容はPHPか何かの言語を書いたことがある方向けなので、
説明を割愛している箇所は多々ありますので、ご了承ください。

**バージョン:3.9.1**

# 1. クラス
“`class.py
class Sample:
class_test = ‘クラステスト’
# 第一引数は必須。慣習的にself
def test(self, test):
print(test)

# Sampleクラスのclass_testを使用
test = Sample.class_test

# インスタンス化
sample = Sample()

# テストメソッド呼び出し
sample.test(test)
“`
“`
$ python class.py
クラステスト

元記事を表示

PHPerが学ぶPython① 変数・配列・タプル

hi!豚野郎です。
明けましておめでとうございます。

Pythonの基礎の書物を1冊読んだので、解説していきます。
変数・配列・タプルの説明だけで記事1つ書けそうだったので、その説明からしていきます。

※ 注意:内容はPHPか何かの言語を書いたことがある方向けなので、
説明を割愛している箇所は多々ありますので、ご了承ください。

**バージョン:3.9.1**

# 1. 変数
※ 注意点は先頭1文字目に数字を使えないことです。
– NG
“`test.py
# コメント
1test = 1

print(1test)
“`
“`
$ python test.py
File “パス/test.py”, line 2
1test = 1
^
SyntaxError: invalid syntax
“`
数値の代入
“`test.py
# コメント
test = 1

print(test)
“`
“`
$ python test.py
1
“`
文字列の代入(シングルクォーテーションでも可)
“`t

元記事を表示

PythonZen & PEP 8 検定試験で学ぶ Pythonのするべきことではないこと

# はじめに
本記事は**PythonZen & PEP 8 検定試験**の勘所について記載しています。

Pythonに関する検定及び資格試験は、一般社団法人Pythonエンジニア育成推進協会によって運営されています。

本記事執筆時点では以下に示す4種類があります。

– [PythonZen & PEP 8 検定試験](https://pythonzen-pep8-exam.jp/)
– [Python 3 エンジニア認定基礎試験](https://www.pythonic-exam.com/exam/basic)
– [Python 3 エンジニア認定実践試験](https://www.pythonic-exam.com/exam/jissen)
– [データ分析試験](https://www.pythonic-exam.com/exam/analyist)

PythonZen & PEP 8 検定試験は、2022年3月1日より**無償**で提供されています。
本試験を受けることで、Pythonのするべきことではないことについて、学ぶことができます。

## Pythonの飛

元記事を表示

discord.py V2でButtonを使いたい!(on_button_click)

## はじめに
今回は、discord.py(V2)を普段から使用している人向けの記事となっております。
初学者の方は、
[discord.pyでスラッシュコマンドを使ってみる](https://qiita.com/Luapy/items/3abff9575e132e2955ec)
などを最初に見ておくといいかもしれません。

## discord.py、Buttonでつまずくくね?
最近、discord.pyを使用してBotを書いている知り合いからDMで連絡が来ました。
どうやら、Botを再起動したらButtonが反応しなくなるみたいです。

状況のスクリーンショット

通常↓

再起動後↓
![image.png](https://qiita-image-store.s

元記事を表示

json Lines形式への変換

# json Lines形式とは
複数のjson形式のオブジェクトを1行ずつ書き込んだ(フラット化)テキストファイルのフォーマット

– json Lines形式(フラット化)
“`
{“name”: “Sato”, “age”: 20, “city”: “New York”}
“`

– json 形式
“`
{
“name”: “Sato”,
“age”: 20,
“city”: “New York”
}
“`

## json Lines形式の調査をした理由

json形式のビックデータをAWS Glueデータカタログに取り込む際に、AWS Athenaでデータの読み込み時にエラーとなり、json形式からjson Lines形式へ変換しなければならない事象が発生したため、変換方法を調査した。
※Glueデータカタログについて、json形式で読み込めない場合、json Lines形式への変換を考えると良い

## 変換方法

– jqコマンドの場合、-cオプションを利用
“`
$ cat test1.json | jq
{
“name”: “Sato”

元記事を表示

Pythonの小技3

#### DateTimeの処理
“`Python
from datetime import datetime

datetime_1 = ‘20210321’
datetime_2 = ‘20210301’

# 文字列からフォーマットを指定してdatetime型へ変換
convert_datetime_1 = datetime.strptime(datetime_1, ‘%Y%m%d’)
convert_datetime_2 = datetime.strptime(datetime_2, ‘%Y%m%d’)
dt = convert_datetime_1 – convert_datetime_2
print(dt.days)
print(type(dt.days)) #int
“`

元記事を表示

【AtCoder】ABC242 のA,B,C,D における Python解説

ABC 242 のA,B,C,D 問題を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。

この記事は @u2dayo さんの記事を参考にしています。見たことのない方はそちらもご覧ください。とても勉強になります。

また、問題の難易度を表す指標を [Atcoder Problems](https://kenkoooo.com/atcoder/#/table/tsuru1471) から引用しています。このサイトは勉強した問題を管理するのにとてもオススメです。

質問やご指摘はこちらまで
Twitter : [Waaa1471](https://twitter.com/Waaaa1471)

作者プロフィール
Atcoder :[緑色 882](https://atcoder.jp/users/tsuru1471)
20230103 現在

# 目次
[はじめに](#はじめに)
[A.T-shirt](#at-shirt)
[B.Minimize Ordering](#bminimize-ordering)
[C.1111gal password](#c

元記事を表示

FlaskでGETリクエストの二種類を駆使する

あけましておめでとうございます。
2023年は皆さまにとってよりよい年になりますように。
### 問題背景
さて、年の初めからPythonフレームワークのFlaskを触っていると、GETメソッドについて壁にぶつかりました。
フォームはPOSTの形式でデータを送信します。ただ、POSTでリクエストするまでもない場合があります。
そこでクライアントからinputされたデータを、GET方式で送り返そうと思ったのですが。。。
“`HTML:sample.html


入力したものを表示させる




{{ item }}




“`

元記事を表示

ObsPyで読み込んだ地震波形データをMatplotlibで描画してみよう

# 本稿の目標
以前の記事で、読み込んだ波形を描画するのは、単に

“`python
st[0].plot()
“`
とするだけでOKだとご紹介しました。これはこれで便利なのですが、matplotlibを使って、工夫を凝らした図を作りたいということもあるでしょう。そこで、matplotlibを使って簡単な図を作ります。単一の波形を描画した上で、目盛りの数値の書式の指定、軸ラベルやタイトル、その他任意の印字をします。なお、複数の波形を使った描画については、回を改めて紹介しようと思います。

# 波形の描画
波形データは、`st[0].data`に1次元の`numpy.ndarray`の形で入っています。例えば、以下のようにすれば、図が描けます:

“`python
import matplotlib.pyplot as plt
plt.plot(st[0].data)
plt.show()
“`
![matplotlib_plot.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242916/4d8

元記事を表示

VSCode + DockerでAtCoderのテスト・提出ができる環境構築【Python,PyPy】

# はじめに
私は2022年9月からAtCoderを始めて、今までサイト内にあるコードテストを使ってPython・PyPy3で問題を解いていました。
しかし、サンプルのテスト・提出をするのに毎度コピー&ペーストするのが煩わしくコマンド一つで完結させたいのと、ローカル環境下に色々インストールすると今後依存関係等で大変になるかと思い、VSCode + Dockerを使って簡単にテスト・提出ができる環境構築を行いました。
環境はWindows10を使用しています。

# 準備
以下のものがインストールされていない場合は事前に準備をしておきます。
細かいインストール手順等は今回のメインではないため割愛させていただきます。

### VSCode
今回はエディターにVSCodeを使用するのでインストールをします。
VSCodeからDockerのコンテナ内に入って作業行うので、`拡張機能「Remote-Containers」`をインストールします。

### Docker
私はWindows10環境なのでDocker Desktop for Windowをインストールしました。

### git

元記事を表示

OTHERカテゴリの最新記事