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

Python3関連のことを調べてみた2022年08月09日
目次

Python3_エンジニアデータ分析試験対策_Part1

本記事は、Python3エンジニア認定データ分析試験におけるチートシート作成を目的としています。
本試験の概要や出題範囲は下記サイトをご確認ください。
チートシートは随時更新していきます。

https://cbt.odyssey-com.co.jp/pythonic-exam.html

# 1.データエンジニアの役割
## 1.1 Pythonについて
Pythonは、データ分析が得意。
機械学習やディープラーニングでもよく利用されている。
Pythonの特徴と苦手分野は以下。

### 1.1.1 Pythonの特徴
プログラムのルールや文法がシンプル
標準ライブラリと外部のパッケージが豊富
データ分析以外にも、幅広い用途で活用できる
オープンソースとして提供されている

### 1.1.2 Pythonの苦手分野
Webデザイン
ゲーム開発など、高速な処理が求められるもの
Webアプリなどのフロントエンド
速度向上などのための低レイヤー処理

### 1.1.3 データ分析に利用されるプログラミング言語
Python
R
Microsoft Excel
Java
Julia

元記事を表示

Python3: A4横 の PDF を A3 の PDF に変換

“`py:pdf_a4_a3_landscape.py
#! /usr/bin/python3
#
# pdf_a4_a3_landscape.py
#
# Aug/08/2022
#
import sys
import PyPDF2
#
# ——————————————————————
def pdf_merge_proc(pdf_reader1):
pages= pdf_reader1.getNumPages()
nn_out = int((pages + 1) / 2)
sys.stderr.write(“pages = %d\n” % pages)
sys.stderr.write(“nn_out = %d\n” % nn_out)
#
pdf_writer = PyPDF2.PdfFileWriter()
#
for icount in range(nn_out):
it = icount * 2
page_obj_a = pdf_reader1.g

元記事を表示

子供のための単語起こしアプリケーション

# 1.はじめに

将来子供が出来たとき仕事の傍ら教育にも力を入れていきたいと思っており、教育用アプリケーションの作成を考えています。
そのため簡単な英単語(言語はどれでもいい)をキーボード上のキーで入力することで、単語を出力してより優しく理解していただけたらいいなと思います。

# 2.手順

## (1)keycode(キーコード)を確認する

キーボード上のキーには、それに対応するコードがあります。
このアプリケーションの作成に当たっては、キーコードが非常に重要になります。
(最初はkeycodeではなく、keysymで試しましたが、keycodeのほうがスムーズに作業が行えました。)
例えば、「A」キーは「65」、「C」キーは「67」となる。

下のURLを参考にしました

http://faq.creasus.net/04/0131/CharCode.html

## (2)キーコードに対応するテキストを表示するには

“`
buffer = tkinter.StringVar()
変数 = buffer.set(文字列)
“`
キーコードに対応する文字を出力するには、

元記事を表示

abstract(抽象化) で継承時のメソッドの入れ忘れを無くそう!

# 以下の2つのクラスを作ると想定します。

“`Python
class Calc1():
def calc(self, a, b):
c = a + b
return c

class Calc2():
def calc(self, a, b):
c = a – b
return c
“`

次のように使う予定です。

“`Python
l = [Calc1(), Calc2(), Calc1(), Calc2()]

for calc in l:
print(calc.calc())
“`

こういった使い方をする場合、2つのクラスには `calc()` メソッドが必須です。

しかし久しぶりに新しい `Calc3` クラスを作る際、`calc` の実装を忘れてしまうかもしれません。

単純なプログラムならエラーを見てすぐに実装を忘れていたことに気付けるかもしれませんが、なるべく想定外の事態は避けたいです。

そんなときには `abstract` を使いましょう!

# abstrac

元記事を表示

クラス変数とインスタンス変数

# クラス変数とインスタンス変数

“`Python
class A():
hoge = ‘HOGE’
def __init__(self):
self.fuga = ‘FUGA’
“`

`hoge` がクラス変数で、 `fuga` がインスタンス変数。

# インスタンス変数を変更するには?

“`Python
class A():
def __init__(self):
self.fuga = ‘FUGA’

def set_fuga(self, value):
self.fuga = value

def print_fuga(self):
print(self.fuga)

a = A()
a2 = A()
a.print_fuga() # >>> FUGA

a.set_fuga(‘FUGA2’)
# または
a.fuga = ‘FUGA2’

a.print_fuga() # >>> FUGA2
a2.print_fuga() # >>> FUGA

元記事を表示

discord.pyでスラッシュコマンドを実装する。

こんにちは。beatbox4108です。

今日は、Discord.py 2.0.0で実装予定のスラッシュコマンドを実際に触ってみて説明したいと思います。

今の所まだ自分がコマンドグループについて理解していないのでそれについての説明はしません。

# Discord.pyのインストール
今の所まだPyPIにはリリースされていないのでgit経由でインストールします。
“`bash
$ pip install git+https://github.com/Rapptz/discord.py.git
“`

# 早速触ってみる
スラッシュコマンドの実装方法は数種類ありますが、今回は`CommandTree`を使った方法で実装します。
“`python3
import discord
import discord.app_commands

token = “” #Your TOKEN
client = discord.Client()
tree = discord.app_commands.CommandTree(client) #←ココ

@client.event
async d

元記事を表示

日本語Pre-Trained BERTを用いた対話Botの作成

この頃機会があったので、私が過去に練習目的で書いた、日本語BERTを使ったAttention付きSeq2Seqモデルのソースコード群をまとめてみました。
練習目的なので性能は推して知るべしですが、同じようなことをされたい方の一助になればと思います。

作成したソースコード、モデルパラメータ、N-gram言語モデルはGitHubにて公開しています。
リンクは記事のまとめに記載しています。

# 目次
1. **概要**
1. **環境構築・事前準備**
2.1. 日本語BERTの準備
2.2. 各ライブラリのインストール
 2.2.1. Juman++ のインストール
 2.2.2. KenLM のインストール
2.3. N-gram言語モデルの構築
2.4. 学習データの作成
 2.4.1. 学習データからの未知語除去
1. **モデル構造**
1. **ソースコード**
4.1. Encoder
4.2. Attenstion
4.3. Decoder
4.4. Model synthesize
4.5. Dataloader
4.6. Scorer
4.

元記事を表示

【Python】フォルダ内ファイルを一括削除する方法

会社業務で提出物を一括ダウンロードするツールを作成しており、
古いファイルが邪魔でダウンロードフォルダからワークフォルダに移動時にエラーが
でたので、その対応で古いファイルがあったら削除する処理を作成しましたので、
ここにまとめます。

## 処理内容

1. ワークフォルダを確認
2. ファイルが存在したら削除

## 1, ワークフォルダを確認

今回使うモジュールは、pathlibです。
ファイル削除だけでなく、ディレクトリ作成、削除などもできるので、
OS処理をPythonで実行するならpathlibを使用するのが良いかと。

osでも良いかと思いますがPython3で書くならpathlibかと。

“`python
import pathlib

check_dir = pathlib.Path(“対象フォルダパス”) # 対象フォルダパスを変数に格納
for file in check_dir.iterdir(): # check_dir内をlsして1ファイルずつファイル名を取得
print(file.name)

“`

上記で対象フォルダ内にある不要ファイ

元記事を表示

CentOS/Amazon Linux2に最新のpython3.xを導入する

事前準備
“`
sudo yum -y update
sudo yum groupinstall “Development Tools” -y
sudo yum install openssl-devel libffi-devel bzip2-devel -y
“`

変数PYTHONMAJORNUMにPythonのメジャー番号を指定する。
いまなら3.9とか3.10など
“`
PYTHONMAJORNUM=3.9
REVISIONNUM=`curl -s https://www.python.org/ftp/python/ |grep ${PYTHONMAJORNUM} |sed “s/.*href=\”${PYTHONMAJORNUM}.//g” |sed “s/\/\”.*//g” |sort -n |tail -1`
cd /tmp
rm -fr Python-${PYTHONMAJORNUM}.*
wget https://www.python.org/ftp/python/${PYTHONMAJORNUM}.${REVISIONNUM}/Python-$

元記事を表示

VSCode PythonのSuggestサジェストが重複duplicate表示する時の解決方法

# 環境
OS: Windows10
VSCode : バージョン1.69.2
LSP: Pylance
Notebook使用

# この症状が出るシーン
.pyファイルと.ipynbファイルを同時に編集しているとき
.pyファイルのみ、.ipynbファイルのみのときは問題ない。

# 解決方法

settings.jsonに`”python.pylanceLspNotebooksEnabled”: true`と記述してnotebookのLSPをpylanceにすることを明示する。

# ※追記

.pyファイル上のsuggestの重複はなくなったものの、.ipynbファイル上のsuggestの重複がなくならない。

Microsoftの`Pylance`からPython標準の`jedi`に変更することにした。

settings.jsonへ`”python.languageServer”: “Jedi”,`を記述

元記事を表示

Ubuntu22.04 Python3.10.6をインストールする

## 概要
リモートサーバのUbuntu22.04にPython3.10.6をインストールします。最初からインストールされているPythonはOS用なので、別のPythonをインストールして使うのが一般的とのことでした。Ubuntu22.04にもともとインストールされていたPythonは3.10.4でした。作業PCはWindows10 Proです。

記事を参考にさせていただきました。
[Ubuntu環境のPython](https://www.python.jp/install/ubuntu/index.html)
[デフォルトでインストールされているPythonを使うのはヤバイ](https://self-development.info/ubuntu%E3%81%AB%E6%9C%80%E6%96%B0%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AEpython%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B

元記事を表示

[備忘録]サーバー上で起こった例外をまるごとハンドリングしてDiscordに送る

# コード

“`Python:main.py
import json
import os
import traceback
from urllib import request
import dotenv
dotenv.load_dotenv()

DC_WEBHOOK_URL = os.getenv(‘DC_WEBHOOK_URL’)

def standalone_discord_traceback_messenger(): # もっと良いネーミング募集中
req = request.Request(
url=DC_WEBHOOK_URL,
headers={‘User-Agent’: ”, ‘Content-Type’: ‘application/json’}
)

data = {
‘content’: ”,
‘embeds’: [{
‘type’: ‘rich’,
‘title’: traceback.format_exc(0)[:-

元記事を表示

Tensorflowで自分に合った彼女を探すCNNを実装しようとしてみた(第二回)

# 目的
##### [前回の実験](https://qiita.com/kangaroo-san/items/89548805795c1efbdc37)で出た反省
・人物切り抜くスクリプトを導入して背景に左右されないようにすること
・データ絶対偏ってる…もっと偏りのないデータの軸を作ること
・服だけじゃなくて、もっと顔だけとか、細かい要素に分けるべきか?

これらをもとに、とりあえず顔のタイプを分類わけするコードから書いてみた!!

# 顔の分類
顔の分類は、恋愛系のYouTubeで上がりがちなカワイイ系vsワイルド系を参考に作っていきました!

|性別|wild|cute|
|:–:|:-:|:-:|
|男|ワイルド系|カワイイ系|
|女|ギャル系|カワイイ系|

# データ収集
最初はHOT PAPPER BEAUTYからDQNがやってそうな髪型と量産型がやってそうな髪型を検索してスクレイピングしてみてたんだけど、データは重複しまくるし、大体みんな同じ顔だし…
と言うことで、芸能人の写真を使ってやることにしました!!

芸能人の選抜は以下のサイトを利用
[ワイルド系男子](ht

元記事を表示

Pythonワンライナーで「ドドスコスコスコ」してみた

## はじめに

>【問題】配列{“ドド”,”スコ”}からランダムに要素を標準出力し続け、『その並びが「ドドスコスコスコ」を3回繰り返したもの』に一致したときに「ラブ注入♡」と標準出力して終了するプログラムを作成せよ(配点:5点)

こちらのツイートが社内で話題になっていました。

そこで、試しにPythonワンライナーで書いてみました。
そんな遊びの記事です。

## コード

“`python
__import__(‘sys’).setrecursionlimit(10**6);print((lambda f: f(”,”,0,f))(lambda s,l,i,f: s+’ラブ注入♡’ if i==3 else f(s,”,i+1,f) if l==’dsss’ else f(s,”,0,f) if len(l)>=4 else f(s+’ドド’, l+’d’,i,f) if __import__(‘random’).getrandbits(1) else

元記事を表示

そのうち書く cloud run(v1) のREST APIにrequestを送ってserviceを新規登録する

そのうち書く

同じような内容の記事があったらどなたか教えてください。

元記事を表示

[備忘録] リスト, イテラブル, イテレーター ああっ訳がわからん!

# なにがわからん

“`Python
l = [1, 2, 3, 4]
next(l) # TypeError: ‘list’ object is not an iterator
“`

リストってイテレーター(イテラブル)じゃないん?

# イテレーターとイテラブル

**違います。** リストはイテラブルなオブジェクトだけどイテレーターじゃありません。

> 『イテレータ』は『イテラブルなオブジェクト』の中の1つでイテレーションした状態を記憶しておくことができるオブジェクト(イテレータ型のオブジェクト)です。[^1]

[^1]:[Pythonのイテラブル(iterable)とイテレータ(iterator)](https://dot-blog.jp/news/python-iterable-iterator/#:~:text=『イテレータ』は『イテラブルなオブジェクト』の中の1つでイテレーションした状態を記憶しておくことができるオブジェクト(イテレータ型のオブジェクト)です。)

### こう書けばOK

“`Python
l = [1, 2, 3, 4]
next(ite

元記事を表示

Tensorflowで自分に合った彼女を探すCNNを実装しようとしてみた(第一回)

# 目的
僕になんで彼女ができないか…
色々調べ回った結果、自分に自信がないことが原因らしい…

じゃあアプローチの成功確率の高そうな自分に合った女性を見つけられれば自信になるのではないだろうか…
街とか歩いてみると、カップルの服装とか顔の系統ってある程度分類わけできる気がするし。

と言うわけで、今回はまず、ファッションの系統を分けるCNNを実装することから始めてみました!

# ファッションの分類わけ
正直、オサレとかよくわからない…
ので、最初はネットに転がっていたファッションテイスト?なる八個の分類で実装してみたんだけど…
これだとデータがうまく分散してなくて、うまく動かない…

と言うことで、4つの軸で系統分けを行うことにしてみた!
###### 第一軸 ~服の色~
モノトーン – 原色っぽい色 – 淡めの色
###### 第二軸 ~環境~
アウトドア or 街 or 田舎 or インドア or 旅行
(多分、この軸が一個おかしいんだよなぁ)
###### 第三軸 ~性別~
可愛い系 or かっこいい系
###### 第四軸 ~タイプ~
カジュアル or オフィス or アウ

元記事を表示

【Python】”和え麺” 屋さんの券売機のボタンが “油そば” だった事件

## 概要

タイトルのとおりです。券売機を前にとまどいを隠せなかったです。
そんなやりきれない思いを、Pythonで再現してみました。

## コード

“`python
# 2022/08/02 “和え麺” 屋さんの券売機のボタンが “油そば” だった事件

okane = 1000
menus = {“油そば”:750, “鶏ラーメン”:800, “塩ラーメン”:800}

def show_menu():
print(“=====おしながき=====”)
for menu in menus:
print(” {}:{}円”.format(menu,menus[menu]))
print(“=====================\n”)

show_menu()

while True:
want = input(“何を食べる? >>>”)
if want == “”:
pass
elif want in menus.keys():
print(want + “を注文した!”)

元記事を表示

Homebrewでpython3系の最新をインストールする方法

Homebrewでpython3系の最新版をインストールする方法を説明します。

5分もあれば終わる作業でした?

:::note warn
Homebrewがインストールされていることが前提となります
:::

## そもそもHomebrewとは・・・
Homebrew(ホームブルー)は、macOS(またはLinux)用パッケージマネージャーにです。

インストール方法や、基本的な使い方はこちらに記載していますので、まだインストールしていないという方やどう使うか分からないという方は是非一度ご覧ください!

## Python3系のインストール
当記事の執筆時点で、Python3系の最新版はPython@3.9になりますので、Python@3.9をインストールしていきます。

“`bash
% brew search python@3
==> Formulae
boost-python3 python@3.7 python@3.9 bpython cython
python@3.8 ipython jython
“`

元記事を表示

pipでSeleniumをインストールしてブラウザを自動操作しよう!

Seleniumは、ブラウザ自動化を可能にするツール群・ライブラリ群のプロジェクトです。

今回は、PythonでSeleniumを扱う想定で、Pythonのパッケージを管理するためのツールであるpipでSeleniumをインストールしていきます!

5分もあれば終わる作業でした?

:::note warn
Pythonとpipがインストールされていることが前提になります!
:::

## Pythonをインストールする方法はこちら

https://qiita.com/toranoko92114/items/08b287e54bdc36943375

## Seleniumをインストールする方法
こちらのコマンドを実行します!
“`bash
% pip3 install selenium
“`

“`bash
% pip3 install selenium
DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work

元記事を表示

OTHERカテゴリの最新記事