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

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

[python] pytestで処理の遅い箇所を可視化して特定する

プロジェクトのテスト数が増えてくるとCI回すのも遅くなるし、ローカルでこまめにテスト回すぞっていうときもストレスは増えていきます。テストが1万件もあればしょうがないかな、という気にもなりますが、時に「あれ、なんかやたら遅いテストケースがあるぞ?」ということもあります。テストが遅い原因がプロダクトコードにあるのであればより問題です。
pythonのテストフレームワークはpytestを使っているので、以下pytestの場合はこんなことして遅い処理を探し出しているという備忘録。

主にやったことは以下の2つ。

① pytestの`–durations`オプションで処理時間の大きいテストケースを出力する
② [pytest-profiling](https://pypi.org/project/pytest-profiling/)でプロファイルして処理の遅い箇所を特定

# テストコード

本記事で使用したテストコードです。1~10000000の整数を順に突っ込んだリストを4パターンの方法で作成して最後にassertで比較しています。
**setup()**のなかでスリープを読んでいるの

元記事を表示

ゼロから始めるLeetCode Day18 「53. Maximum Subarray」

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

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

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

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

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

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

前回
[ゼロから始めるLeetCode Day17「169. Majority Element」](https://qiita.com/KueharX/items/fac33d3e067cccfed148)

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

元記事を表示

#Python基礎(#Numpy 1/2)

#1.Numpy
Numpy : Pythonの拡張モジュールで多次元配列を扱う際に便利

人より記憶メモリが少ない私はいつも、あれ?これどうだっけ?という状態に
陥ってその度に同じ検索ワードで検索をしてしまうのでこの機にメモしておこうと思います。

環境は以前の記事で作った環境を使用しています。 → [Windows10でpython開発準備](https://qiita.com/hiwasawa/items/2d802b3471d4be1da341)

#2.list to Numpy

pythonのリストからNumpy配列に変換する方法

“`
import numpy as np

a = np.array([0, 1, 2, 3, 4, 5]) # PythonのリストからNumPyの配列を作る
print(a)
“`
“`:実行結果
[0 1 2 3 4 5]

“`

###オブジェクトの型を取得・確認:type()関数
“`
print(type(a))
“`

“`:実行結果

元記事を表示

#Python基礎(#Numpy 2/2)

前回の記事の続きです。 [#Python基礎(#Numpy 1/2)](https://qiita.com/hiwasawa/items/8907980293acc90c82ca)
環境は以前の記事で作った環境を使用しています。 → [Windows10でpython開発準備](https://qiita.com/hiwasawa/items/2d802b3471d4be1da341)

# 1.Numpy 形状変換 reshape
1行6列の配列を2行3列に変換

“`python
import numpy as np

a = np.array([0,1,2,3,4,5])
b = a.reshape(2,3)
print(b)
“`
“`:実行結果
[[0 1 2]
[3 4 5]]
“`

reshapeの引数を-1にすることで、どのような形状の配列でも1次元配列に変換することができます。

“`python
import numpy as np

c = np.array([[[0, 1, 2],
[3, 4, 5]],

元記事を表示

【Python】JSON 形式のデータを辞書型のオブジェクトとして利用する

# JSON 形式のデータは辞書型のオブジェクトとして利用できる

`xxx.json`などの拡張子が`.json`のファイルや、WebAPI を叩いて得られた JSON 形式のデータは
Python 上において、辞書型のオブジェクトとして利用することができます。

## 要約
– Python において、JSON 形式のデータは辞書型のオブジェクトとして利用ができる。
– `json`モジュールを利用する。
– ファイルの読み込みは `json.load()` を利用する。
– 文字列の読み込みは `json.loads()` を利用する。
– 書き込みには `json.dumps()` を利用する。

## JSON モジュールについて
Python において、JSON 形式データを利用するためには `json` モジュールを `import` する必要があります。

“`Python:jsonTest.py
import json
“`

## `json` モジュールを使ってみる
`json` モジュールを使用して、JSON 形式のデータを読み書きしてみます。

### 辞

元記事を表示

Python(Django)でwebサービスを作る(html表示編)

#注意
– pythonを使ったことがある人
– djangoを知らない、慣れてない人
– htmlをちょっとでも使える人
– windowsの人

#解らない、知りたい人
以下のページを参考にしてください。
[pip install django](https://www.sejuku.net/blog/50417#pip-2)
[cd プロジェクト名](https://eng-entrance.com/windows-command-cd)
[django-admin startproject プロジェクト名、python manage.py startapp アプリ名、
python manage.py migrate、python manage.py runserver](https://qiita.com/okoppe8/items/7e3de8a4dd40b48debea)

#準備
__コマンドプロンプト__でDjangoのインストール

“`
pip install django
“`

# プロジェクトの作成
Djangoでは、一つのアプリケーション

元記事を表示

Pytorch で MNIST をやってみた時のメモ

## はじめに

昨今の機械学習や Deep Learning の話題に少しでもついていけるように勉強するために、PyTorch で MNIST をやってみました。
この記事はメモなので、Pytorch で MNIST をやるために必要な知識をすべて網羅するものではなく、また、ちょっとわき道に逸れたような内容もあります。

## 参考ページ

– **DEEP LEARNING WITH PYTORCH: A 60 MINUTE BLITZ:**
– **Basic MNIST Example:**
– **PyTorchでMNIST:**
– **CNN in MNIST with PyTorc

元記事を表示

Pythonで簡単な物理シミュレーションをして可視化してみる

# はじめに
先日いつものようにtwitterを徘徊していたら、高校における物理の履修率が20%ほどに低下している旨のツイート)を見かけました。