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

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

macOS Catalinaでコマンドラインツールで導入したPython3を使う

## はじめに

macOS Catalinaにコマンドラインツールをインストールすると、Python 2.7とPython 3.7を簡単に利用できます。

コマンドラインツールのインストールは `xcode-select –install` で可能です。以下を参考にしてください。

* https://qiita.com/capybara1229/items/cf1a26b0ff7b6100a865

これまでだと、Python3をmacOSで使うには公式のパッケージを使ってインストールしたり、HomebrewでPython3をインストールして使う人も多かったと思います。

## 問題が発生

最近HomebrewでインストールしたPython 3でPython パッケージマネージャー(pip3)でインストールしたはずのコマンドが実行できなくてはてなマークが浮かんだのですが、原因がわかりました。

おそらく、Python 3.8が必要なFormulaをHomebrewでインストールしたときに一緒にPython 3.8がインストールされたのですが、Python3.8のパスを通さなかっ

元記事を表示

MacOS CatalinaでPython3をインストールする(Homebrewのみで)

# はじめに

[この記事](https://qiita.com/linus_sh/items/f46d3abc7a854706f72e)でpyenvを利用してPython3をインストールする方法をまとめましたが、
pyenvを利用しないでHomebrewのみでインストールする方法もあったので勉強を兼ねてやってみました。

# 実行環境

– MacBookPro Mid 2014
– macOS Catalina ver.10.15.16

# 使用するパッケージ

– [Homebrew](https://brew.sh)

– 言わずと知れたMacとLinux向けのパッケージ管理ツール。今回はこれだけで完結します。

※ 詳しい説明は公式ドキュメントを参照して下さい。

# インストールの流れ

1. [Homebrewをインストール](#1homebrewをインストール)
2. [Pythonをインストール](#2pythonをインストール)

## 1.Homebrewをインストール

公式ドキュメントに従ってターミナルで以下のコマンドを実行します。インストール済

元記事を表示

Azurefunctionって何? 業務で初めて使って見たのでまとめてみました。

##Azurefunctionとは
簡単に説明するとサーバーレスのことで、サーバの管理が不要でプログラミングに集中することができるサービスのこと。

##参考記事
-[Azurefunction-fundamental](https://docs.microsoft.com/ja-jp/azure/azure-functions/)
-[Azurefunction-関数を作成する](https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-create-first-azure-function)

元記事を表示

Python 3.9のdictのマージ(`|`)が便利っぽい

# 概要

Python3.9からdictがマージできるようになったようす。
`|` でできるようす。

# 使ったPython

“`
Python 3.9.0b5 (default, Aug 6 2020, 10:04:28)
[Clang 12.0.0 (clang-1200.0.26.2)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
“`

# 試してみます

## 基本的な使い方

“`python
>>> a = {‘a1’: 1}
>>> b = {‘b1’: 1}
>>> a | b
{‘a1’: 1, ‘b1’: 1}
“`

## マージと代入

“`python
>>> a = {‘a1’: 1}
>>> b = {‘b1’: 1}
>>> a |= b
>>> a
{‘a1’: 1, ‘b1’: 1}
“`

## 同じキーがあったとき

“`python
>>> a1 = {‘a’: 1, ‘b’: 1}
>>> a2 = {

元記事を表示

Pythonのリストのビルトインメソッドなどのまとめ

# まえおき

– この記事は執筆中の[やさしくはじめるPythonプログラミング](https://github.com/simon-ritchie/python-novice-book-preview)の本の特定の章の部分抜粋です。
– 入門本なので初心者の方向けです。
– ビルトインのリストの操作やメソッド関係の章の内容が主になります。
– Qiita記事にマッチしていない箇所(「章」や「ページ」といった単語が使っていたり、改行数が余分だったり、リンクが対応していない等)があるという点はご留意ください。気になる方は↑のリンクの電子書籍版をご利用ください(Githubでダウンロードできます)。
– コメントなどでフィードバックいただいた場合、書籍側にも活用・反映させていただく場合があります。

# リストや辞書に含まれているかを調べる : in

`任意の値 in 対象のリスト`というフォーマットでコードを書くと、その値がリスト内に含まれているかどうかの真偽値を取得することができます。

例えば以下のようなコードでは200という値がリスト内に含まれるかどうかの真偽値を取得しています

元記事を表示

オブジェクト指向プログラミングの基本的な概念の話【カプセル化・抽象化・ポリモーフィズム・継承】

オブジェクト指向プログラミングにおける基本的な概念「カプセル化」「抽象化」「ポリモーフィズム」「継承」のまとめです。

参考書:[独学プログラマー Python言語の基本から仕事のやり方まで]
(https://www.amazon.co.jp/dp/B07BKVP9QY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)(第13章)
# カプセル化
### やること・出来ること
– 複数の変数とメソッド、つまり複数のデータと操作をまとめて扱えること。
– 外から直に参照したり操作をする必要のないデータなど内部の状態を、クラス内に隠蔽してアクセスできないようにすること。

### 具体例

“`python:Encapsulation.py
class Encapsulation:
## 初期化
def __init__(self, w, h):
self.width = w
self._height = h
self.option = []
## 面積を返す関数

元記事を表示

Pythonでlist型をlen()しようとしたら “TypeError: ‘int’ object is not callable”が出た話

Google Colabolatoryでデータを色々いじってグラフ書いたりしてたら、表題の様な事が起こりました。少しハマりましたが、原因は簡単でした。
もともとリスト型に入っている文字列の数を数えてその数を棒グラフにしたかったんですが、棒グラフのラベルを作るために以下のようなソースを実行しました。

“`python:
datalabels=[]
for data in datalist:
if data not in datalabels:
datalabels.append(data)
print(len(datalabels))
“`
すると、

“`python
TypeError Traceback (most recent call last)
in ()
5 if data not in datalabels:
6 datalabels.append(data)
—-> 7

元記事を表示

DeepLearningを用いた株価予測(データ加工編)

#DeepLearningを用いた株価予測(データ加工編)

[前回の続き](https://qiita.com/hiro0219/items/533ad4c7d1830384c4e6)

前回の回で株価のデータを取得したので,そのデータを分析用に加工していく.
どのように分析していくかによって加工の仕方が変わっていくため,ここらで分析方法について考えていく.

私自身株をやっているが,基本的に日中仕事をしているため,株は中期・長期目線でやっている.
その為,翌日の予測をしたいとかそんなレベルの分析よりかは1か月後に上昇しているかなどの分析を行いたい.
とりあえず,過去2か月分のデータを元にその1月先の株価が上昇しているかの2値分類が出来たらいいかなと思い,それを軸にデータを加工していくことにする.

###データ確認
落としてきたCSVデータを早速確認

4004 東証1部 昭和電工(株)(化学),,,,,
日付,始値,高値,安値,終値,出来高,終値調整値
“2015-01-05″,”148″,”151″,”147″,”149″,”8516000”,”1490

元記事を表示

pythonでプリンタのインク残量を調査

#はじめに
aloha !
さて、今回は普段使っているプリンタのインクの残量を確認する方法を調べてみました。
エプソンの場合は、ブラウザからHTTPでアクセスするグラフで表示してくれます。

“`
http://[PRINTER_IP_ADDR]/PRESENTATION/HTML/TOP/PRTINFO.HTML
“`
ただ、今回はデータとして取得したいのでpythonで取得してみます。

#環境
・EPSONプリンタ(EP-881ANを使いました)
・docker image(ubuntu)
・python3
・pip3
・vim

※私の場合は、Jetson Nanoにdockerを入れて使ってます。

#方針
プリンタの値を取得する方法として、SNMP(Simple Network Management Protocol)を使ってみたのですが、インク残量がよくわからず、IPP(Internet Printing Protocol)を使うことにしました。
SNMPを使うとどのカートリッジの型番(KAM-〜とか)を使うべきかの情報は取れます。

#手順
##pyippの導入
`

元記事を表示

FITSファイルのプロット

#FITSとは
FITSはFlexible Image Transport Systemの略で,天文データを扱う際に良く用いられるかなり自由度の高いファイル形式である(拡張子は“`.fits“`).

#FITSのプロットについて
FITSを開いてみる主な方法としては,

1. NRAOが提供するCASA( https://casa.nrao.edu )や,Harvard大学のSAOImage DS9( https://sites.google.com/cfa.harvard.edu/saoimageds9 )などのソフトを用いる方法
2. FITSを開くためのPythonのモジュールを用いる方法

の2種類がある.このうち2の方が見た目を整える方法が豊富で自由度が高いので,この方法を取り上げる.

以下にソースコードを示す.

“`python
import matplotlib.pyplot as plt
import astropy.io.fits as ap
import aplpy

#=====================FITSファイルの読み込み========

元記事を表示

python3 学習メモ

# はじめに
python練習用にプログラミングの練習問題を解くときに使用した文法のメモです。
後で自分で見返せるように、自己学習のアウトプットをまとめてます。
使用したものは今後も追記予定。

# 標準入力・出力
“`python
# 基本
input_line = input()

# スペースで区切られて入力が与えられた場合
input_line = input().rstrip().split(” “)

# リストで格納されているため、下記のようにインデックスを指定して値を取り出せる
a = input_line[0]
b = input_line[1]

# 出力の基本
print(‘abc’)

# 改行させたくない場合
print(‘abc’, end = “”)
“`
# for文
“`python
# range関数で範囲指定
for i in range(1, 10): # 1~9まで

range(10) # 0~9まで。0から開始の場合はこれでもいい

# リストから値を取り出す
word = [‘a’, ‘b’, ‘c’]
for i in word

元記事を表示

Jetson nanoの初期設定からOpenCVで画像認識するまで

# Jetson nano
Jetsonは、GPUで有名なNvidiaから発売されている、GPUを搭載しているシングルボードコンピュータです。
2020/02/14に発売された最新のB01 Jetson nanoを今回は利用します。
Amazonで本体だけで13,000円程度でした。

Jetson nanoはRaspberry Piとよく比較されますが、

Jetson nanoと電源アダプタ(5V)とSDカードを購入しました。
SDカードは大容量で安いものもありますが、速度に影響が出るので、少し高くてもある程度有名どころをかっておくのがおすすめです。
あと、大きすぎるとまるっとバックアップする際に大変で、小さすぎるとOSだけでいっぱいいっぱいになってしまうのでJetson nanoの場合64GBくらいが丁度いいかなと思います。

スクリーンショット 2020-07-28 15.01.47.pngodooモジュールの継承について

# 初めに
本記事はすでにodooのインストール方法など、環境構築ができている前提で話を進めるとします。

# odoo moduleの継承について
odooの一つの強力な機能はその他のモジュールを継承して実現するプロセスが可能だということです。既存のモジュールに則って修正をかけて、異なるレイヤーにて修正をかけられます。ビュー、業務ロジック、モデルなどのレイヤーにてできます。

# `__manifest__.py`のdependsについて
`__manifest__.py`ファイルにあるdependsは依頼関係を示したものです。dependsに入れたモジュールの意味合いは大体以下の2パターンがあります。

– 既存モジュールの元で新たな外観および機能を拡張したい。
– 既存モジュールの外観および機能を変更したい。

> ワンポイント:
– 例1:odooモジュールがあるとします。何か修正・拡張をしたいときに、todoモジュールでファイルを修正するのではなく、新たなモジュールを作成して、odooが提供しているモジュールに対して二次開発をするということになります。(ソースコードに修正をか

元記事を表示

ラズパイで部屋の見える化してみる、その2

# はじめに
前回から大分時間が空いてしまいましたが、社内新卒LTで発表したラズパイとLaravelを使ったセンサーデータの可視化の続きを書きます。
前回の[ラズパイで部屋の見える化してみる、その1](https://qiita.com/ringo156/items/43f12e1582381f081231)ではセンサーからデータの取得とcsvへの保存を行いました。
今回はLravelでAPI作ってデータベースにデータを保存までを書きます。
LaravelやMVCモデルについて詳しく解説というより、やったことを整理して残しておくためのメモ書きのつもりです。

# 手順
前回の記事を参照すると

1. センサーからデータの取得&処理
2. 液晶に表示
3. csvに保存
4. クラウドにデータを投げる
5. DBに保存
6. webページ上で表示

となっているので今回は4~5を実装していきます。

# 環境構築
研修でLaravelというものを初めて触ったのでLaravelでバックエンドを作っていきます。
基本的に[VSCode の Remote – SSH機能を使ってConoha V

元記事を表示

2020年における各Python処理系の状況

2020年1月1日をもってPython2系列のサポートが終了しました(一部の長期サポート環境を除く)。Pythonは完全にPython3時代に移行し、安定期を迎えているように思います。しかしながら、Pythonは何もCPythonだけではありません。JythonやIronPythonといった他の処理系の現状はいったいどうなっているのでしょうか。気になったので少しだけ調べてみました。

## CPython

![python-logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235258/f987f941-25bc-0dff-f29a-60122f020d83.png)

[公式サイト](https://www.python.org/)
[リポジトリ](https://github.com/python/cpython)

言わずと知れた、オリジナルにして最も有名なPython処理系です。C言語で実装されています。

2020年1月1日にPython2系列のサポート終了(EOL)を行いました。

元記事を表示

Qiita記事のタグからWordCloudを描画してみた

# はじめに

前回の記事([Windows10のPCに分析環境(Python3+JupyterLab)を作ってみた](https://qiita.com/Blaster36/items/3b1879a72b54619cb669))で、分析環境はとりあえず整備完了。
待ちに待った、Pythonプログラミングを開始!

最終的に、以下のようなモノを作ります。
![trends_of_qiita_wordcloud_shortver.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685193/95e5196d-847d-c7c3-9105-416b74c3c592.png)

## 本稿で紹介すること

– Qiita APIからの記事情報の取得
– WordCloudの描画

[Qiita API v2ドキュメント](https://qiita.com/api/v2/docs)
[WordCloud for Python documentation](https://amueller.github.io

元記事を表示

PyTorchの画像処理モデルの層を簡単に理解する方法

私は、TensorFlowを割とよく使っていますが、PyTorch最近やってみたいと思って勉強し始めました。新しいライブラリを身に着けようとするとまずはわかりやすい事例の解釈から始めるのが基本だと思います。深層学習の場合は、やっぱり簡単な畳み込みネットワークから始めるのがいいと思います。PyTorchのTutorialページでLeNetというモデルの実装があるのでそれを使ってみて勉強を始めました。(https://pytorch.org/tutorials/beginner/blitz/neural_networks_tutorial.html#sphx-glr-beginner-blitz-neural-networks-tutorial-py)

ただ、途中で各層はどのようにデータを処理しているや出力の形などを確認したくなるので単純にセットアップして回すだけでなんかもの足りないですね。天才開発者だったらnn.Conv2の設定をみて32×32がどのように処理されるの頭の中でイメージできるかもしれませんが、僕は天才じゃないのでどうしても中間の形を見たくなります。

他のもっと効率いい方

元記事を表示

Windows10のPCに分析環境(Python3+JupyterLab)を作ってみた

# はじめに

前回の記事([Windows10のPCに分析環境(Python3+Jupyter Notebook)を作ってみた](https://qiita.com/Blaster36/items/bcdb0323865782fdad89))では、Jupyter Notebookを使うところまでを掲載した。
が、どうやらより便利な「Jupyter Lab」なるツールが存在するらしい。
ということで、「Jupyter Lab」を使ってみようと思う。

[GitHub – jupyterlab/jupyterlab: JupyterLab computational environment.](https://github.com/jupyterlab/jupyterlab)
[Project Jupyter | Installing the Jupyter Software](https://jupyter.org/install.html)

## 本稿で紹介すること

– Jupyter Labのインストール
– Webブラウザで起動・表示するまでの環境設定

**ただし、Anac

元記事を表示

Subprocessに標準入力できない…

# 問題

pythonの標準ライブラリであるsubprocessなるものが存在する。
これは、複数の実行ファイルを同時に実行できる代物だが、今回は実行ファイルへの標準入力で詰まった。

例えば以下のようなC++のファイルを作成し、exeにしたとする。

“`c++:sample.cpp

include
using namespace std;

int main(){

while(true){
int a;
cout << "input" cin >>a;
cout << a * 2; return 0; } } ``` まぁ、数字を受け取ってそれを2倍した数を表示するだけなのだが、これを常にwhileで実行し続けいちいち起動せずにpythonから実行したい。 これをするときにどうしたらいいかわからなかった...。 # 解決策 先ほどのコードをsample.exeとして実行形式にした。 その後、以下のコードでうまくいった。 ```python imp

元記事を表示

Windows10のPCに分析環境(Python3+Jupyter Notebook)を作ってみた

# はじめに

大学時代からプログラミングには慣れ親しんでいたが、社会人になってからはさっぱり。(Python大好き)
が、世の動向もあってか、ここ最近はAIやブロックチェーンという言葉を業務でよく使うようになってきた。
そのため、自宅のデスクトップPCにAIで主流なPython言語のプログラミング環境を改めて整備することを6月下旬に決意した!

普通にプログラミング環境(IDE)を整備しても面白くないので、データ分析界隈でスタンダードになりつつある、ツール「Jupyter Notebook」を使ってみようと思う。
(職場だと、AzureやAWSのクラウドリソースでJupyter Notebookを起動して一気に処理する、といったことも可能なのだが、個人利用だと難しく。。。)

[Project Jupyter](https://jupyter.org/)

## 本稿で紹介すること

– Jupyter Notebookのインストール
– Webブラウザで起動・表示するまでの環境設定

**ただし、Anacondaは本稿では使わない。便利だけれども。**

## 本稿で紹介しないこと

元記事を表示

OTHERカテゴリの最新記事