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

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

discord.py入門(2)

# はじめに
discord.pyの非公式のサーバーを運用しています(開発者の方もいますが)。
ここでは質問も受け付けています。また、**長期的にサポートが欲しい方**向けに、個人チャンネルを作成しそこでサポートを受けることもできます。
個人サポートを受けたい方は、下の招待urlから入り、`@すみどら#8931`にDMをお願いします。
https://discord.gg/KPp2Wsu **この記事についての質問もこちらにお願いします**

# この記事について
この記事はdiscord.pyについて段階を踏んで勉強していくための記事になります。
まず始めに基本の書き方を学び、次に発展的な内容を学びます。
**【シリーズ】**

[discord.py入門(1)](https://qiita.com/sizumita/items/9d44ae7d1ce007391699)
[discord.py入門(2)](https://qiita.com/sizumita/items/b37e74fca41d98077a18)

# 注意
**この記事は少しでもPythonができる人向けになり

元記事を表示

discord.py入門(1)

# はじめに
discord.pyの非公式のサーバーを運用しています(開発者の方もいますが)。
ここでは質問も受け付けています。また、**長期的にサポートが欲しい方**向けに、個人チャンネルを作成しそこでサポートを受けることもできます。
個人サポートを受けたい方は、下の招待urlから入り、`@すみどら#8931`にDMをお願いします。
https://discord.gg/KPp2Wsu **この記事についての質問もこちらにお願いします**

# この記事について
この記事はdiscord.pyについて段階を踏んで勉強していくための記事になります。
まず始めに基本の書き方を学び、次に発展的な内容を学びます。
**【シリーズ】**

[discord.py入門(1)](https://qiita.com/sizumita/items/9d44ae7d1ce007391699)
[discord.py入門(2)](https://qiita.com/sizumita/items/b37e74fca41d98077a18)

# 注意
**この記事は少しでもPythonができる人向けに

元記事を表示

fishシェル使用時にvirtualenvを通常のコマンドで立ち上げられない

久々にvirtualenvを使おうと思ったら謎のシェルスクリプトエラーが発生しハマったのでメモ。

## 結論
`source venv/bin/activate`

の代わりに

`source venv/bin/activate.fish`

を使う。
`venv`の部分はもちろん作成した仮想環境名。

## 参考
https://github.com/pypa/virtualenv/issues/853

元記事を表示

Python3.8の新機能を一部触ってみた①

# はじめに
弱々Pythonエンジニアがpython3.8の新機能を一部触ってみました。
よくわからないものはすっ飛ばしてます(ビルドだプロファイルだなんだのは飛ばしてます)。
詳しくは[公式ドキュメント参照](https://docs.python.org/ja/3/whatsnew/3.8.html)

# セイウチ演算子
>大きな構文の一部として、変数に値を割り当てる新しい構文 := が追加されました。 この構文は セイウチの目と牙 に似ているため、「セイウチ演算子」の愛称で知られています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/357470/a43c0f97-a343-9a26-4920-517f01732294.png)
セイウチ演算子カワイイ

“`py
array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# python3.8以前
# n = len(array) > 1

元記事を表示

【Python】BeautifulSoupとrequestsを使ってJリーグの選手情報をスクレイピングして表にしてみた!

#はじめに
##今回やりたいこと
Webスクレイピングによって、Jリーグのデータサイトの情報を収集&分析したいと思いました。
その第1段階としてまずはデータを収集し、それを表にまとめてみました。
##結果
以下がJリーグの川崎フロンターレというチームの選手一覧の情報を表にまとめた結果です。
コメント 2020-03-06 221617.png
※CSVファイルとして出力したものを、Googleのスプレッドシートで開いています

#きっかけ
元々サッカー観戦が好きで、その流れでスポーツのデータ分析にも興味を持っていました。
そしてプログラミングを学ぶうちに自分でもできるのではないかということでプログラムを作り始めました。
#コードと解説
##前提
– 現在のスキル
– Progate終了
– Ruby on Ra

元記事を表示

打倒、Pythonのグローバル宣言

#global宣言
テーマはPython3のglabal宣言のスコープについて。
定義の部分が曖昧な理解だったため数時間無駄にしてしまったが、いろいろ調べて勉強になったので記録に残しておきます。

#失敗した例
すごく簡単に書くとこんなコード。あくまでサンプルです。

“`Python:sample.py
def func():
global x
x = 20
print(f’funcのx={x}’)

def main():
x = 10
func()
print(f’mainのx={x}’)

if __name__ == ‘__main__’:
main()
“`

どちらも20が出力されるかと思いきや。

“`text:bash
$ python3 sample1.py
funcのx=20
mainのx=10
“`
なんで??!!global宣言しとるやんけ!!とか思い数時間あれこれ調べたが解決。↓↓の通り。

###大事なのはスコープ
`global x`での宣言は下記2つを意味する。

– グローバルスコー

元記事を表示

(補足)Python3で「Tello_Video」を動かす

#はじめに

このページは,

[Tello-Pythonのサンプル「Tello_Video」を動かす](https://qiita.com/hsgucci/items/c9082690c6d0695b722f)

の補足ページです.
本来,Python2用に作られているTello_Pythonを,Python3で動かすためのアレコレです.

#概要
DJI公式のTello用Pythonサンプルプログラム「Tello-Python」のうち,

 [Tello_Video](https://github.com/dji-sdk/Tello-Python)

をPython3で動かす方法を記述します.

Python2のプログラムをPython3に対応させるには,主に以下の作業を行います.

– print文の修正
– responseをstr()でstr型と明示
– try except文のas
– pip系のインストールをpip3でやり直し

既に下記ページで「tello_state.py」「Single_Tello_Test」のやり方を解説してくれています.

 参考URL:[トイ

元記事を表示

Azure SDK for Python を使ったプログラムを動かす時に”ModuleNotFoundError: No module named ‘azure'”が出た

# 記事の内容
タイトルの通りですが、AzureのPython SDKを動かそうとしたら以下のメッセージが出てハマったので対応した内容をメモ

ModuleNotFoundError: No module named ‘azure’

# 参考
チュートリアルの仮想環境構築まで実施
[Python 用 Azure ライブラリを使用したクラウド開発の開始](https://docs.microsoft.com/ja-jp/azure/python/python-sdk-azure-get-started)

その後、こちらのプログラムを実行
[Azure Management LibraryでPythonからAzureを操作する](https://news.mynavi.jp/article/zeroazure-24/)

# コード
参考サイトのままですが、一応

~~~ AzureSample.py
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.resource imp

元記事を表示

トイドローンTelloをPython3で制御する

今回は,トイドローンTelloをpythonを使って制御します!

#目標
・Python3でterminalからドローンを制御できるようにする
ex) takeoffと打ったら離陸、landと打ったら着陸

#動作環境
Mac Mojave 10.14.5
Python ver. 3.7.0
#前提
・アプリからTelloを動かしたことはある
・pcにPython3をインストール済み
#1.サンプルコードのダウンロード
今回は、[Ryze Technology社](https://www.ryzerobotics.com/jp/)が公式に出しているdji SDKを参考にして実装することにします。以下からコードをダウンロードしてください。
URL: https://github.com/dji-sdk/Tello-Python
または、ターミナルで以下を実行してください。

“`
git clone https://github.com/dji-sdk/Tello-Python.git
“`

#2.Single_Tello_TestをPython3に対応させる
このSDKはPyt

元記事を表示

Everyone mo Kane-Kosugi ni narou!!!

#1. Hajimeni
Everyone ha kane kosugi san no romaji diary wo shitte imasuka?
English ga yomeru kigasuru to wadai ni natta yatsu desu!
(Ima ha koushin sarete nai youdesu…)

・[ズルいと話題! ケイン・コスギの爆笑ローマ字日記。しかし、その本当の理由は・・・](https://matome.naver.jp/odai/2135043827007760301)
・[KANE & STAFF DIARY – Kane Kosugi](http://kanekosugi.com/wp_diary/)

Sports ya Haiyuu toshite katuyaku suru kane san.
Totemo 45 sai no body toha omoe masen!
Watashi ha “Kiniku Banduke” to “Ninja sentai Kakurenjaa” no “Black ninja” ga

元記事を表示

Pythonでしりとりを実装

久しぶりの記事の投稿です。
記事を上げていない間にちょっとずつPythonの勉強を進めていたので、何となくPythonやプログラミングの感覚が掴めてきた気がします。

そこで、しりとりを作ってみようと思い実装してみました。
しりとりを作る上で、
・前の単語の最後の文字を引き継ぐ。=「しりとり」
・既に使った単語は使えない。
・「ん」で終わったら負け。
この三つのルールを守ることができるように留意しました。

“`Python:word_chain.py
hiragana_1 = “しりとり”
used_hiragana = []
print(“しりとりスタート!\n”, hiragana_1)

while True:
hiragana_2 = str(input(“ひらがなを入れてください: “))
if hiragana_2[0] != hiragana_1[-1]:
print(“最初の文字が間違っています。”)
break
elif hiragana_2 in used_hiragana:
print(“

元記事を表示

unsafeなコードや脆弱性の高いソフトウェアが書きずらく拡張性が高くきれいに書けるxlwings

#MS Office(Excel)で危険なコードを書いたことはありませんか?
回答->この様なときは、Pythonを使いましょう
理由は以下のようなコードを書けないからです。

“`vb
Dim A As Variant
Dim B As Variant
A = 1
B = ‘1’
Private Function C As Variant
C=A+B
End Function
“`
何故か2が出てきますが、このコードはよくバグを作り出します。Pythonならエラーにしてくれます。
もし、Pythonで2または、’11’を出したいときは、

“`excels.py
A = 1
B = ‘1’
def C_Int():#2
return A+int(B)

def C_Str():#’11’
return str(A)+B
“`

の様に書かないとなりません、明示的に書くことがバグの温床を打ち止めできるので、非常に良いことです。
また、マクロでとてもあるあるの話だと思いますが、外注していたら見ずらくインシデントを下げてなく機能が追加しずらいといったことが

元記事を表示

OpenCV-pythonでjpeg圧縮

指定したフォルダ内について、「.jpg」で終わる全てのファイルを圧縮する。

(読み込み、圧縮エラー時の処理など書いておらず粗いです)

“`py
import cv2
import glob
import os

Quality = 10

def img_encode(img):
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), Quality]
result, encimg = cv2.imencode(“.jpg”, img, encode_param) # (bool値,エンコードしたImageオブジェクト)のタプルが返ってくる
return cv2.imdecode(encimg, cv2.IMREAD_UNCHANGED)

def output_imgs():
path_list = glob.glob(r”<パス>\*.jpg”)

for i, path in enumerate(path_list):
img = cv2.imread(path)

元記事を表示

python:日付関係

#import

“`py
import datetime
“`

#文字列から日付へ変換

“`py
str_day= ‘2020/1/15’
first_day= datetime.datetime.strptime(first_day, ‘%Y/%m/%d’)
“`

→`2020-01-15 00:00:00`

#datetimeからdateへ変換

“`py
first_day.date()
“`

→`2020-01-15`

#今日の日付の取得

“`py
today=datetime.date.today()
“`

#日付の差分
date同士やdatetime同士で引き算をすることができる。
下の例はtodayはdate、first_dayはdatetimeでdateに合わせ引き算をする例

“`py
dt=today-first_day.date()
“`

引き算した結果は何日と何時間という結果になる

→`51 days, 0:00:00`
結果から日の差分だけ取り出したいときは

“`py
dt.days
“`

とすると
→`51`

元記事を表示

【三田本店】機械学習エンジニアによるラーメン二郎、食べログ口コミ分析【ソース付き】

## はじめに
[Qiita x COTOHA APIプレゼント企画][1]をきっかけにAPIを使って分析を行ってみることにしました。今回は自然言語処理の実務でよくありそうなタスクである口コミ分析を行います。

担当
@YuiKasuga 記事作成、スクレイピング、感情分析、ユーザ属性推定
@asmrt_ds 校正・校閲、WordCloud、キーワード抽出

### COTOHA APIとは
https://api.ce-cotoha.com/
NTTコミュニケーションズが提供している自然言語処理や音声処理を実行できるAPI群です。
本記事では以下のAPIを使いました。

– キーワード抽出
入力した文章の中に含まれる特徴的なキーワードを抽出します。

– 感情分析
入力した文章がポジティブなのかネガティブなのかどちらでもないのか判定します。
また、文章をフレーズごとに分解し、それぞれについて感情表現ラベルが付与されます。

– ユーザ属性推定
入力した文章をもとに年代、性別、趣味、職業などの人物に関する属性を推定します。

API呼び出しの実装は以下の記事のソースコードを利用

元記事を表示

Pipenv環境下でpsycopg2がpipenv lock時にエラーを吐く時の対処法

# 経緯
herokuにあげようとライブラリを追加していたとき、psycopg2がひっついてきて、Pipfile lockでエラー吐きまくるので困った話

## 環境

| 項目 | バージョン |
| —- | —– |
| os | Ubuntu18.04LTS|
| python | 3.7 |
| pipenv | version 2018.11.26|

# 解決方法

***なぜ効いたかなどは調べられていないので参考程度に。***

1. psqlをインストールします

“`shell

$ sudo apt upgrade
$ sudo apt install postgresql postgresql-contrib

“`

以上!!!(なんで?ワカラナイノトテモキモチワルイ….)

元記事を表示

pythonのisdigit()はマイナスの整数を判定できない

## 事の発端
pythonのisdigit()でマイナスの整数を判定しようとしたら、出来なかったので調査した。調査時間10分程度。

## 参考サイト

参考サイトを見たほうがいいです。

## サンプルコード
“` python3
def is_num(a):
try:
int(a)
except:
return False
return True

def main():
s = ‘-1’
print(‘s =’, s)
print(‘isdecimal:’, s.isdecimal())
print(‘isdigit:’, s.isdigit())
print(‘isnumeric:’, s.isnumeric())
print(‘is_num:’, is_num(s))

if __name__ == “__main__”:
main()
“`
## 実行結果

元記事を表示

Kerasで作成したニューラルネットの中間層での出力を用いてXGBoostで予測する

# 概要
Kerasを用いて作成したニューラルネットの中間層での出力結果を新たな特徴量として、XGBoostで学習したいと思っていたのが、思いの外簡単に実現することができたので、まとめておきます。

# ニューラルネットの中間層での出力を用いてXGBoostで予測
手順は、以下のような流れになります。

1. 学習データを用意
2. ニューラルネットの学習
3. 中間層での出力結果を新たな特徴量に
4. XGBoostで学習

なぜ中間層の出力を用いて新たな特徴量を作るかというと、中間層で得られる出力は元の特徴量を良い感じに要約してくれていて、最終的な予測は、ニューラルネットよりXGBoostの方が良い精度が出そうと考えたためです。
入力層を特徴量、出力層を元の特徴量とすれば、中間層は圧縮された特徴量が作れ、入力層を特徴量、出力層を目的変数とすれば、目的変数に貢献する特徴量が作れるだろうと考えました。

## 1.学習データを用意

“`train_data.py
X_train = df_train.drop([‘Pred’], axis=1)
y_train = df_train

元記事を表示

【プログラミング初心者】プログラミング用語 変数・定数について

#はじめに
プログラミングの学習を始めて3ヶ月ほど経過した駆け出しエンジニアです。
プログラミングの学習を始めたばかりの頃は、新しい用語が出てきて理解するのが大変でした。3ヶ月たった今でも、次々と始めて聞く用語が襲撃してきます笑笑
ですが、それに立ち向かうのがエンジニアの宿命だと受け入れ日々奮闘中です。

今回は変数・定数についてまとめました。
プログラミング初心者の役にも立てれば幸いです。

#プログラミングとは
簡単に言うと、**コンピュータへの指示を書くこと**です。

コンピューターに指示を出すためには、プログラム(コンピューターが作業を実行する順番)を作成します。
コンピューターは人間の言葉を理解できません。そのため、コンピューター語を使用して指示を出す必要があります。

コンピューターは**プログラムを使用して命令を出さない限りただの怠け者**なんです笑笑

#変数
変数とはズバリ、**データを一時的に保存するための箱**です。

変数につけた名前を**変数名**、保存されているデータを変数の**値**と呼びます。
値だけだと、なんの値かがわかりにくく、プログラムを書いてい

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その3

[その2](https://qiita.com/yoshiono/items/fc0b696e97a8690ddd05)からの続きです。

# 付録
##以下のSnippetをJupyter-notebookのセルに順番に張り付けてKEY、ENDPOINTを設定すると動作するはずです。PERSON_GROUP_IDの値は任意です。

“`python:FaceQuickstartのsnippet_imports部分.py
#
import asyncio
import io
import glob
import os
import sys
import time
import uuid
import requests
from urllib.parse import urlparse
from io import BytesIO
from PIL import Image, ImageDraw
from azure.cognitiveservices.vision.face import FaceClient
from msrest.authent

元記事を表示

OTHERカテゴリの最新記事