Python3関連のことを調べてみた2022年10月22日

Python3関連のことを調べてみた2022年10月22日

プログラミング初心者すぎてPythonで計算できるのにすげぇ!!って思ってた

Pythonで計算できるのに知ったのはネットサーフィン中に。
AIでも計算できるのは知ってたのに、まさかこれにすげぇと言うとは。
時代遅れ??

元記事を表示

for _ in range(3) について

備忘録

python(3.8.2)のfor文
`for _ in range(3)` の_ について

## 疑問点
_とは何でしょうか。

## 調査結果
`for _ in range(4)`は`for i in range(3)`のように書いてもOKです。
変数名が「_」になっているだけであり、変数名を「_」にすることによって、
「その変数を使っていません」ということを表現しています。(Pythonの習慣です)。

ソースコード
“`python
N = 3
for i in range(0, N):
print(i)

for _ in range(0, N):
print(_)
“`

標準出力
“`python
0
1
2
0
1
2
“`

元記事を表示

40代おっさんPythonを勉強する(数学関連や時間表現のモジュール)

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

### random

– 疑似乱数を生成する

“`python
import random

print(random.choice([1, 2, 3, 4, 5,])) # リストから無造作で1つを返す
print(random.randint(15, 50)) # 15から50までに整数を1つ返す
print(random.random()) # 0.0から1.0までの間に浮動小数点数を1つ返す
print(random.sample(range(1000), k=20)) # 1000の中に整数に20個の整数リストを返す
n = [1, 2, 3, 4, 5]
print(random.shuffle(n)) # リストnをシャッフルする
print(n)
“`

### math

– 数学関数

“`python
import math

# 入力引数はxとする
pri

元記事を表示

【OpenCV】1フレーム前と今のフレームで類似点を結ぶ【Python】

# 開発経緯
画像解析で前のフレームと今のフレームを比較して、2Dカメラ一つで立体的な空間データを取るための下準備として今回のプログラムを開発しました。OpenCVを勉強し始めてまだ1ヶ月程度なのでプログラムが非効率かもしれません。有志の方、ぜひ改善プログラムをコメントでご指摘いただけると幸いです。Python使用歴は2022/4から始めたので今で6ヶ月です。

# 開発環境
* Ubuntu 20.04 LTS
* Python 3.8.10
* Opencv-python 4.6.0

# 必要モジュール
* Opencv-python
* numpy

# プログラムを書く:カメラの下準備編

今回はプログラムは一つのファイルで完結するので適当に好きなディレクトリに **main.py**を作ってください。
まずモジュールをインポートします。
“` Python
import cv2
import numpy as np
“`
次にカメラからの映像をPythonを使って扱っていきます。Pythonでカメラの映像を取得する下準備をします。
“` Python
# 続けて書く

元記事を表示

Python+OpenCVで200色の白を表現してみた

息抜き記事です。n番煎じ。

# はじめに

ア〇ミカ女史によると、白は200色あるそうです。

Pythonで(約)200色の白を1枚の画像に描写して、それぞれの味わいを語り合いましょう!

# コンピュータにおける色の表現の基礎

コンピュータでは、色を`(赤,緑,青)`の組み合わせで表現することが一般的です。この表現方法を**RGB**と呼びます。

これは、人間が判別できる多くの色を赤(**R**ed)緑(**G**reen)青(**B**lue)の3色の組み合わせで表すことができる、いわゆる「光の三原色」に基づいています。

https://ja.wikipedia.org/wiki/RGB

また、各色は一般的に0~255の範囲で表現されます。0のときはまったく光っておらず、255のとき最高に光っているとイメージしてください。

0~255を16進数で表現すると、0x00~0xFFと表せます。HTML/CSSなどでよく見る`#55C500`といったカラーコードも、RGBの表記法の1つです。この場合前から2桁ずつ、0x55=85が赤の強さ、0xC5=197が緑の強さ、0x00

元記事を表示

Slack無料プランで3か月前までの会話しか見えなくなるのをAPIを使って何とかする

# 背景
slackの無料プランで過去3か月までの履歴しか見れなくなってしまったので、3か月以前のメッセージを残すためにコードを書きました。
コードの中身まで見るのが面倒くさい方は、SlackAPIの作り方とワークスペースに追加する方法まで見て、[github](https://github.com/shalXXXX/slack_message_log)のコードを動かしてください。
# 完成品
https://github.com/shalXXXX/slack_message_log
以下のようなslackのメッセージをcsvに出力できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822425/00b79ff6-b19d-d4d2-2bb2-0dca18b8bf6b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2822425/4b8d89f2-1f76-6a26-9

元記事を表示

Google Colaboratory で Python の基礎を学ぶ

こんにちは。[東北TECH道場 郡山道場](http://koriyama.tohokutechdojo.org/)でスタッフをしています。今年度(第7期)は [Google Colaboratory](https://qiita.com/Aster_ideatech/items/3ae6ea5e5a011ebcd0b7)を使用して、Python の基礎を学ぼうということで月に1回活動しています。そこで、Pythonの基礎を学習するための資料をGithubに公開しました。「Open In Colab」ボタンを押すと Google Colaboratory で開いて実行することができます。「Python の基礎」を勉強してみたいという方がいましたらご利用ください。

# 「Python の基礎」
https://github.com/tomato-sugar/python_lesson/tree/main/python_basic

# 講座の内容

## python_basic1.ipynb
– Pythonの特徴
– コメントの書き方
– 変数とデータ型
– 画面出力とキー入力

元記事を表示

Streamlitを用いたWebアプリ制作入門

こんにちは。[東北TECH道場 郡山道場](http://koriyama.tohokutechdojo.org/)でスタッフをしています。今年度(第7期)は [Google Colaboratory](https://qiita.com/Aster_ideatech/items/3ae6ea5e5a011ebcd0b7)を使用して、Python の基礎を学ぼうということで月に1回活動しています。そこで、Webアプリケーションを作成するためのフレームワーク「Streamlit」を学習するための資料をGithubに公開しました。「Open In Colab」ボタンを押すと Google Colaboratory で開いて実行することができます。「Streamlit」を勉強してみたいという方がいましたらご利用ください。

# 「Streamlitの基礎」
https://github.com/tomato-sugar/python_lesson/tree/main/streamlit_basic

# 講座の内容
## streamlit_basic1.ipynb
– Webフレームワ

元記事を表示

pandasでファイルをNaNを出さずに読み込む

# 概要

pandasでファイルを読み込んだときに、NaNが出ないようにするだけの小ネタです。

# 課題

例えばpandasで次のようなsample.csvファイルを読むとします。

|a |b |c |
|–|–|–|
|a1|b1| 1|
|a2|b2| |
|a3| | 3|

次のコードで読み込むと

“`python
import pandas as pd

df = pd.read_csv(‘sample.csv’)
df.dtypes # 各列のtypeを表示
“`

> a列:object
> b列:object
> c列:float

となります。(Object型にはStr型が含まれます)
c列は「int」で読んで欲しいのですが、 df.loc[1,’c’] が「NaN」になるせいで「float型」になるわけです。
しかも、困ったことにb列の3行目の df.loc[2,’b’] も、実は「NaN」で「float型」です。

で、この「NaN」の処理が大変面倒くさい。
replaceかapplyかforループで狙い撃ちす

元記事を表示

40代おっさんPythonを勉強する(ライブラリ編)

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## ライブラリ

– ライブラリとは
– Pythonでプログラミングする際に必ず使うのが「ライブラリ」です。「ライブラリ」とは、特殊な機能を持った関数やクラスを一つにまとめたもので、インターネット経由で誰でも自らのPythonプログラムにインストールして使うことができます。

– 参照

– Pythonの組み込み関数と違って、標準ライブラリを使う前にインポートする必要がある
– ライブラリのパッケージとは階層構造に組織するモジュール群のこと
– サードパーティーによるたくさんのライブラリがあって、それぞれ同じ名前のモジュールや関数などを避けることは不可能
– パッケージにすると、トップレベルの名前だけ違って、モジュールや関数は階層的に呼び出すので、曖昧さはなくなる

###

元記事を表示

【Python3】Selenium3⇒4にしたらProxy環境下で動作しなくなった話(解決)

# 概要

社内Proxy環境下、selenium3で作成し実行していたスクリプトを、[【Python】Selenium 4の変更点とWarning](https://qiita.com/vZke/items/a7e8a75849ecaaa7f236)(zke様)を参考にselenium4の記述で書き直したところ、driver起動の部分でエラー発生
調べても出てこず困っていましたが、解決したので方法を残しておく
# 環境
python 3.9.13
selenium 4.5.0

# 要約
・環境変数no_proxyが設定されていないとlocalhostにプロキシ通そうとするコードに書き換わっていた
・環境変数no_proxyに、localhost,127.0.0.1の値を設定したら動くようになった
(実行したcmd、エディタ等の再起動必須)



# エラー内容
### ソースコード
“`python
from selenium import webdriver
from

元記事を表示

計算化学者のためのPython入門ーサンプルデータ集ー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

– [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
– [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
– [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
– [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
– [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

元記事を表示

計算化学者のためのPython入門ークラスの使いみちー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

– [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
– [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
– [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
– [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
– [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

元記事を表示

計算化学者のためのPython入門ープログラム開発に参加するための心得ー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

– [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
– [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
– [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
– [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
– [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

元記事を表示

計算化学者のためのPython入門ーPython練習問題ー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

– [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
– [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
– [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
– [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
– [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

元記事を表示

計算化学者のためのPython入門ー基礎知識のおさらいー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

– [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
– [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
– [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
– [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
– [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

元記事を表示

40代おっさんPythonを勉強する(名前空間とスコープ編)

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## 名前空間とスコープ

– 各関数はそれぞれ専用の名前空間を定義される
– メインの領域のグローバルスコープ(大域空間)と関数内のローカルスコープ(局所空間)が分かれている
– 大域空間ではグローバル変数を定義し、局所空間ではローカル変数を定義する
– グローバル変数の値は関数内から参照できる

“`python
# id()関数はPythonが全ての変数を識別するための番号

name = ‘としき’ # グローバル変数
print(‘グローバル:’, name, id(name))
def show_name():
print(‘内部関数:’, name, id(name))

show_name()
print(‘グローバル:’, name, id(name))
“`

こちらはエラーが起きる

“`python
name = ‘としき’ # グローバル変数
pr

元記事を表示

40代おっさんPythonを勉強する(イテレータandジェネレータ編)

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## イテレータandジェネレータ編

– 他のプログラミング言語では大体ループを使ってシーケンスデータを処理する

“`python
names = [‘としき’, ‘アッキー’, ‘三郎’]
i = 0
total = len(names)
while i < total: print(names[i]) i += 1 ``` - イテラブルオブジェクトとしてforで処理すると1つずつの要素を取り出せる ```python names = ['としき', 'アッキー', '三郎'] for n in names: print(n) ``` - 基本のイテラブルオブジェクト:文字列、リスト、タプル、辞書、しゅうごうなど ### ジェネレータ - ジェネレータとは、シーケンスを作成するオブジェクトで、イテレータのソースデータになることが多い - 今まで使っ

元記事を表示

Stable DiffusionをSingularityで動かす

## はじめに
最近話題のStable Diffusionのインストールです。僕的にはStable DiffusionはGoogle翻訳以来のインパクトでした。イラストの制作の仕事は一変してしまうのでしょうね。この記事の目的はSingularityを使用して手間をかけずにStable Diffusionをインストールすることです。一度、defファイルを作ってしまえば同じ環境を用意できます。Google Colaboratoryを使用すると簡単にStable Diffusionを実行できます。しかし、モジュールの再ロードや実行時間の制約等の制限が多いためオンラインではなくローカルで動作させたいのです。一から導入するのは大変ですがインストールしてみてはいかがでしょうか。

## 環境
– ubuntu22.04(64bit)
– RAM8G(swapで16G)
– GPU NVIDIA GeForce RTX 1080
– singularity:3.10.2
– python3
– pip

## メモリは16G以上で実行すること
Stable Diffusionのコードを実行した時、

元記事を表示

moviepyの動画書き出しの進捗をGUIの方に出すには

# 忙しい人用
VideoFileClip().write_videofileのlogger引数にproglog.ProgressBarLoggerを継承したクラスを渡して上手いことやる

# きっかけ
[こんなもの](https://github.com/midry3125/CreateMV/)を作っていざ実行ファイル化したいとなったときに僕は思いました

“`「moviepyの動画書き出しの進捗、コンソールに出されるけどどうしよう」“`

最初は面倒くさそうと思って普通にコンソールも表示させてました

しかし、やはり動画の書き出しだけCUIに進捗出すのはどうなのかと思い、偉大なるGoogle様に質問させていただきました

# 実装してみる
Google様から得られた情報をもとに、「動画に音声をつけ、かつその進捗をGUIとして表示する」という処理を実装してみるとこうなります(今回はGUIにwxPythonを使ってます)

“`python
import wx
from moviepy.video.io.VideoFileClip import VideoFileClip

元記事を表示

OTHERカテゴリの最新記事