Python3関連のことを調べてみた2020年05月30日

Python3関連のことを調べてみた2020年05月30日
目次

【python】スキルチェックのために最低限必要な必要なメソッド一覧

###0.はじめに~まず愚痴から始めてみる~

求人を見ていると、気になる企業がpythonで募集をしていた。
ついこの前まではPHP,そしてrubyの記事を中途半端な知識で書いている癖に、
今度はpythonだと!!!
エンジニアの風上にもおけなければ、風下にもおけない!!
機械学習のプログラムを少し、改修しただけだったがトライすることにした。
PHPと違って色々なやりづらさがある。
###「pythonの一歩はインデントとのコミュニケーション」
と言っても過言ではない。
コミュ障気味の方々や、美しさとは無縁のプログラムを書く人には辛い。
インデントでループや関数の処理が決まるのだ。
条件につける__:(コロン)__も慣れない。

とりあえずスキルチェックに必要な文法をまとめてみた。

###1.標準入力を受け取るinput()
s=input()

“`python
dino=input()
print(dino)
“`

![dino1_python.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com

元記事を表示

ゼロから始めるLeetCode Day41「394. Decode String」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day40「114. Flatten Binary Tree to Linked List」](https://qiita.com/KueharX/items/3f0af8806a720999bf45)

今はTop 100 Liked Ques

元記事を表示

ESA SNAPで Python API を利用するための環境構築でのPython 3.4.0インストールエラーの回避方法

# ESA SANPを利用し、Pythonを利用しようとした時のエラーの原因と解決方法

## 課題 ESA SNAPをインストール、Python APIを有効にするにチェック
しかし、サポートしているバージョンが2.7, 3.3, 3.4と古かった。

## 問題 asdfによるバージョン管理でpython 3.4.0インストールでエラー
“`
asdf install python 3.4.0
“`
インストールするも、次のエラーが表示

“`
Ignoring ensurepip failure: pip 1.5.6 requires SSL/TLS
“`
## 原因1 High Sierra以降の macOSはOPENSSLをデフォルトでインストールしなくなった
## 原因2 brew install opensslでインストールされるopenssl openssl@1.1/1.1.1dはpython 3.5 からサポート(3.4.0ではopensslライブラリバージョン1.0.2mとdevelパッケージが必要)
## 解決方法

1. openssl@1.1/1.1.

元記事を表示

Python仮想環境リサーチノート:Anacondaをなんとなく敬遠している方々へ

#はじめに
 Python環境をAnacondaを用いて構築した人は多いのではないだろうか。しかし、[pipと併用することについてのこの有名なトラブル](http://onoz000.hatenablog.com/entry/2018/02/11/142347)が念頭にあって、パッケージマネージャ・仮想環境マネージャとしてのAnacondaをどう利用すればいいかいまいちよくわからず、まぁpipでいいか、と敬遠している人が多いと思う。私もその一人だった。
 しかし、Anacondaは実は非常に優秀な仮想環境マネージャである、と主張する記事もいくつか見かけてきた。それではpipとの競合を回避しつつ、Anacondaを使うことはできないのだろうか。実際Anacondaは仮想環境マネージャとしてどれほど優秀なのだろうか。この問に答えるため、随分とGoogle検索を渡り歩いたので、その結果を共有する。ぜひ参考にしてみてほしい。
 
 そういうわけで、筆者自身が様々なウェブサイトを渡り歩いて学んだことをまとめてみた。なお、実際に手を動かしたわけではない。その点はご勘弁いただきたい。

### 話の

元記事を表示

ゼロから始めるLeetCode Day40「114. Flatten Binary Tree to Linked List」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day39「494. Target Sum」](https://qiita.com/KueharX/items/cd08167d7626c2be8787)

基本的にeasyのacceptanceが高い順から解いていこうかと思います。

[Twi

元記事を表示

LinuxをDiscord Botで操作してみた

#初めに

この記事は僕がPythonで作ったDiscord Botを簡単に共有できればと思い書いたものです
あまり詳しくは書きませんが誰かの役に立てれば幸いです

#このBotで出来ること
Discord からLinuxを操作できます
「ls」コマンドや 「less」コマンドなど基本的に何でも使えます。
ただvimやsudoなどユーザーが追加で入力するものなどは使えません(コード追加すれば可能だと思われ)
二千文字の制限がDiscordにあるのでそれ以上のものは送信できません。
あとエラー処理してないのでvimなど開こうとするとbotが飛びます。

#実行環境
Debian 10
Python 3.7.3

#コード
“`python

import subprocess

# インストールした discord.py を読み込む
import discord

# 自分のBotのアクセストークンに置き換えてください
TOKEN = ‘ボットのトークン’

# 接続に必要なオブジェクトを生成
client = discord.Client()

# 起動時に動作する処理
@clien

元記事を表示

「14日で作る量子コンピュータ」を読んでみる。1日目

# はじめに
 今日から「14日で作る量子コンピュータ」という本を買ったので、これを実装しながら量子コンピュータについての理解を深めていきたいと思っています。この本は、14日をかけて最終的に簡易的な量子コンピュータのシミュレータを実装していくというものです。どちらかというと理論重視な感じで、量子力学全くわからない自分ですが、どうにかして読解していきたいと思います。
 今回は、量子力学の基礎のところまでを読んでいきます。

# 0 環境構築
 ここでは、Pythonの環境構築と数値計算、図形描画を行う。
## 0.1 Python、モジュールのインストール
 Pyhthonのバージョンは3.8.2を想定している。インストールの方法については公式サイト([https://www.python.org/downloads/](https://www.python.org/downloads/))からインストーラを
 ・ダウンロード
 ・回答
 ・インストール
 の三段階でできる。これに関しては他のサイトを参考にした方が良い。
 次にPythonで使う外部モジュールは、

“`
numpy:

元記事を表示

月ノ美兎さんの音声合成ツール(Text To Speech) を作ってみた

#何をした?
Youtube上に公開されている動画の音声から、ディープラーニング技術を用いた音声合成ツールを構築しました。
今回対象にしたのは、バーチャルユーチューバー・にじさんじの委員長こと **月ノ美兎** さん([Youtubeチャンネル](https://www.youtube.com/channel/UCD-miitqNY3nyukJ4Fnf4_A)) です。
![unnamed.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/645469/3794602a-54da-5142-68d5-369f81fe7034.jpeg)
※選出理由は、単純に私がYoutube上で一番推している方だからです。

#成果
動画から抽出した音声と、音声を文章に起こしたテキストの組み合わせのデータセット約50分ぶんを教師データとして学習した結果
※学習に必要なデータ量は最低でも1時間程度と言われているので、まだまだ足りていません…

PythonのEnumで0オリジンのインデックスを採番する

## 背景
Pythonでは`0`が`false`に判断されてしまうことから、
通常のEnumでは`1オリジン`で採番されますが、
どうしても`0オリジン`にしたい場合の簡単な実装サンプルです。

## 環境
python: 3.7.7

## 実装サンプル
“`python:enum_0_origin.py
from enum import Enum

IDX = Enum(‘IDX’, [‘A’, ‘B’, ‘C’], start=0)
print(IDX.A.value)
# 0
print(IDX.B.value)
# 1
print(IDX.C.value)
# 2
“`

以上、終わり。

元記事を表示

Cloud Pak for Data (Watson Studio)でpandasデータをExcel形式でデータ資産に保存する

project_libを使った分析プロジェクトのデータ資産へのファイル保存方法は[別の記事](https://qiita.com/ttsuzuku/items/eac3e4bedc020da93bc1#%E3%83%87%E3%83%BC%E3%82%BF%E8%B3%87%E7%94%A3%E3%81%B8%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E4%BF%9D%E5%AD%98-%E5%88%86%E6%9E%90%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88)に書きましたが、Excel形式で保存するには少しコツが必要でした。
いろいろ調べていたら、stackoverflowの[こちらの記事](https://stackoverflow.com/questions/56538138/saving-dataframe-as-excel-file-into-ibm-cloud-object-storage-with-python)が有効でした。

実際にやってみた例を記載し

元記事を表示

Cloud Pak for Dataで関数をデプロイする

Cloud Pak for Data (以下CP4D)で、Pythonの関数をデプロイすることが可能です。用途は主にモデル実行の前後処理で、try&exceptのエラー処理も組み込めますし、なにより複数のモデルを呼び出す(使い分ける)ことが可能になります。

CP4D v2.5 製品マニュアルより抜粋
https://www.ibm.com/support/knowledgecenter/ja/SSQNUZ_2.5.0/wsj/analyze-data/ml-deploy-functions_local.html

> Python 関数は、モデルのデプロイと同じ方法で Watson Machine Learning にデプロイできます。ご使用のツールとアプリケーションは、Watson Machine Learning Python クライアントまたは REST API を使用して、デプロイ済みのモデルにデータを送信するのと同じ方法で、デプロイ済みの関数にデータを送信できます。関数をデプロイすることで、詳細 (資格情報など) を非表示にしたり、データをモデルに渡す前に前処理したり、エラ

元記事を表示

✨Pythonで簡単☆死後経過時間推定✨

# もし、あなたの目の前に亡骸があったら?
![](http://blog-imgs-46.fc2.com/k/o/n/konanhitosuzi/20131216231144a8f.jpg)(引用;名探偵コナン「甘く冷たい宅配便」)
コナン君が遺体を見つけた時、かなり最初の段階で死後経過時間について考えますよね?死亡推定時刻が分かれば大きく容疑者を絞り込むことができますしね\(^o^)/
そこで今回は死後経過時間について詳しい求め方を紹介します!

# 例題
室温16℃に設定された冷蔵車に男性の遺体があった。男性の体重は86kg、コナン君が遺体の直腸内温度を計ったところ、27℃であった。男性の死後経過時間を求めよ。

# ニュートンの冷却の法則
まず、簡略化した事象を考えてみましょう。コップに入れられた熱いコーヒーが周囲の温度(空気)によって冷まされる問題を考えます。この時、次の「ニュートンの冷却の法則」が近似的に成り立つと言われています。
ニュートンの冷却の法則を表す微分方程式は

$\frac{dT}{dt} = -γ(T – T_s)$ (1)

で表されます。ここで、各文字

元記事を表示

pythonのrelative_to()で相対パスを指定しようとしたらはまった

# 概要
絶対パスから相対パスを取得するために以下のようなコードを実行した

“`python

import pathlib

p = pathlib.Path()
file_path = ‘image-db’
file_path_rel = p.cwd().relative_to(file_path)
“`

エラー

“`bash

ValueError: ‘/directory/of/python’ does not start with ‘image-db’
“`

relative_to()の中身がカレントディレクトリより外にあると動かないらしい.

# 対策
os.path.reipath(‘行先’, ‘起点’)を使えば複雑な相対パスも取得できる.

“`python
file_path_rel = os.path.relpath(file_path, os.getcwd())
“`

# 参考サイト
https://hibiki-press.tech/python/os_path_abspath/1021

元記事を表示

【Python】Pythonを始めるにはまずはPythonをしっかり使えるようにしないとね

# 結論

MacにPythonをインストールして、Pythonを使えるようにする。
MacはPython2系が元々インストールされているが今回はPython3系をインストールする。

## 背景

Pythonを始めるにはまずはPythonを使えるようにしなければならない。プログラミングを始めるにあたって一番はじめにつまずくのが環境構築。これからPythonを始めたいと思っている人の参考になるように手順を書きたいと思ったため。初心者向けのため仮想環境にインストールするなど複雑なことは考えない。

## 全体の流れ

① コマンド操作を覚える
② Pythonをインストールする

## コマンド操作を覚える

Pythonをインストールする前にMacのコマンド操作を覚えること。
これが少しできるだけでプログラミングも楽しくなる。

“`
ls    # フォルダ内を表示する
ls -a  # 隠しファイルも含めファイルやフォルダを全て表示する
cd    # フォルダを移動する
pwd   # フォルダのパスを表示する
touch  # 空のファイルを作る
mkdir  # フォル

元記事を表示

PythonでのCloud Pak for Dataのオブジェクト操作例 (WML client, project_lib)

# はじめに
Cloud Pak for Data (以下CP4D)の分析プロジェクトでNotebook (Jupyter Notebook)でモデルを作る場合、データの取り込みやモデルの格納、作ったモデルのデプロイなどを行うためのライブラリとしてwatson-machine-learning-client-V4 (以下WML client)[^1]とproject_lib[^2]があります。どちらもCP4DのNotebookの標準Python環境にデフォルトで入ってます。
この記事では、これらのライブラリの具体的な使い方を紹介します。

[^1]: 詳細は、WML client リファレンスガイド [watson-machine-learning-client(V4)](https://wml-api-pyclient-dev-v4.mybluemix.net/#) および、CP4D v2.5 製品マニュアル [Python クライアントを使用したデプロイ](https://www.ibm.com/support/knowledgecenter/ja/SSQNUZ_2.5.0/wsj

元記事を表示

chrome driverのバージョンエラー”Message: session not created: This version of ChromeDriver only supports Chrome version 81″について

環境:
mac OS Catalina
バージョン.10.15.4

chrome driverを毎日稼働させいますが、
ある日から突然下記のエラーメッセージが出て稼働しない現象が発生しました。

“`zsh
Message: session not created: This version of ChromeDriver only supports Chrome version 81
“`

原因として、
chrome driverが最近アップデートされversion.83に自動更新されていたことでした。

対応策として、
chromeのバージョンをダウングレードするということで、
アプリケーションをversion.81を再度インストールしましたが
自動更新され同じことの繰り返しの結果になりました。

なので、chromedriver側を変更することにしました。
しかし、一筋縄ではなかったので忘備録として記載します。

コマンドで、下記を入力してインストールし
version.83に更新されたことを確認しましたが改善されず。
“`zsh
 pip3 install –u

元記事を表示

Pythonを使い始める

#Pythonエントリークローラー
これは私の**最初**のpythonプロジェクトです、ここで共有してください〜

– 現在、大まかな機能として、ユーザーが映画のチケットや電車のチケットの購入などのイベントを受け取る製品を開発しています。 次に、アプリはSMSを読み取り、SMSを解析し、時刻と場所を取得し、バックグラウンドで自動的にメモを作成して、イベントの1時間前にユーザーに通知します
– このプロジェクトは `python3` のバージョンを使用します

“`ruby:init.py

# -*- coding: UTF-8 -*-

# import need manager module
import MongoUtil
import FileUtil
import conf_dev
import conf_test
import scratch_airport_name
import scratch_flight_number
import scratch_movie_name
import scratch_train_number

元記事を表示

VSCodeでDjangoを使用した仮想環境を構築する(Windows)

あらかじめPythonとVSCodeをダウンロードしておく

#事前準備
##仮想環境を作成する
仮想環境を作成するツールをダウンロードする

“`cmd.exe
C:¥Users>pip install virtualenv
“`

仮想環境を作成する。今回はsrc_pyという環境をD直下に作成する
D:¥src_py

仮想環境用のフォルダを作成する

“`cmd.exe
C:¥Users>D:
D:¥>mkdir src_py
D:¥>cd D:¥src_py
“`
以下のコマンドを実行して仮想環境にする

“`cmd.exe
D:¥>cd D:¥src_py
D:¥src_py>python -m venv venv
“`

現在のフォルダ構成はこうなっている
src_py
└─venv

##Djangoをインストールする

まず、activateで仮想環境を動作させる
(venv) D:¥src_py>と表示されたら成功

“`cmd.exe
D:¥src_py>D:¥src_py¥venv¥Scripts¥activate
(venv) D:¥src_py>

元記事を表示

ゼロから始めるLeetCode Day39「494. Target Sum」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day38「208. Implement Trie (Prefix Tree)」](https://qiita.com/KueharX/items/c4dc14c167a4a179ba63)

今はTop 100 Liked Questionsの

元記事を表示

pyautoguiのlocateOnScreen()がマルチディスプレイ非対応な理由

## 概要
pyautoguiのlocateOnScreen()がデュアルディスプレイ環境にも関わらず一画面分でしか探索ができなかったのでわかったところまでを備忘録として記します。

## 結論
PILのimageGrab.grab()がデュアルディスプレイに対応していない
pyautgiuのマルチモニター非対応の解決策を書いている人がいました(未検証)→https://github.com/python-pillow/Pillow/issues/1547#issuecomment-185815425

## 問題発生時の環境
Winodws10 home
python 3.6.4
pyautogui 0.9.50
pyscreeze 0.1.26
Pillow 5.0.0

## pyautogui.locateOnScreen()の動作
この関数はpayautoguiの`__init__.py`の212行目で以下のように定義されています。

“`payautogui/__init__.py
def locateOnScreen(*args, **kwargs):

元記事を表示

OTHERカテゴリの最新記事