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

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

Flaskの個人用メモ その2

Flaskを業務で初めて利用するため、メモ書きをする。
今回はその2。

その1は[こちら](https://qiita.com/speedstar18fct/items/eb0159c109172a90ca70)

### 参考
[Webアプリ初心者のFlaskチュートリアル](https://qiita.com/kiyokiyo_kzsby/items/0184973e9de0ea9011ed)

# DB(SQLite)操作

## 設定用ファイルの作成

作成するファイルは最低限3つ
– `__init__.py`
– 中身は空でOK。モジュールとして呼び出す際に__init__.pyという名前のファイルが必要なため作らないといけないらしい
– `datebase.py`
– DB設定系のファイル
– `models.py`
– テーブルのカラム情報を定義するためのクラス管理用

## sqlalchemyのインストール

“`
pip install sqlalchemy
“`

## SELECT

“`python
from models.models

元記事を表示

Flaskの個人用メモ その1

Flaskを業務で初めて利用するため、メモ書きをする。

### モジュールの利用

“`python
from flask import Flask,render_template,request

# from モジュール import クラス1, クラス2, クラス3…

“`

### GETリクエストの受け取り方

“`python
# requestクラスを使用
from flask import Flask, render_template, request

name = request.args.get(“name”)
“`

### POSTリクエストの受け取り方

“`python
# requestクラスを使用し、POSTで受け取った場合のメソッドを用意する
from flask import Flask, render_template, request

@app.route(“/post”, methods = [“post”])
def post():
name = request.form[“name”]
# リストの場合

元記事を表示

Kaggle Titanic data set – Top 2% guide (Part 03)

*本記事は @qualitia_cdevの中の一人、@nuwanさんに作成して頂きました。
*This article is written by @nuwan a member of @qualitia_cdev.

##Part 03
#### Data analyzing and feature engineering

This phase is very important. Many data scientists spend time in this phase. We have to identify which features to keep, which to remove and, what sort of features we can obtain by other features.

###### Gender Distribution

“`titanic_demo.py
data = combined_df.loc[combined_df[‘Survived’].notnull()]
sns.countplot(x=’Sex’, hue=’Surv

元記事を表示

【Python】ヒアドキュメントでエスケープシーケンスを展開する

ハマったので備忘。

ヒアドキュメントにそのままエスケープシーケンス(`\`)を書いてもエスケープシーケンスとして展開されない。

`\\`のように2つ続けて記述するか、raw文字列を使うと展開できる。

“`python
>>> import json
>>>
>>> json_dict1 = json.loads(”’
… {
… “id”: 1,
… “name”: “hoge”,
… “discription”: “ほげ\”ほげ\”ほげ”
… }
… ”’)
Traceback (most recent call last):
File ““, line 7, in
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.7_3.7.1776.0_x64__qbz5n2kfra8p0\lib\json\__init__.py”, line 348, in loads
return _default

元記事を表示

Windows 10 に MongoDB をインストールして Python から利用する

## はじめに

Azure Cosmos DB (Document + MongoDB API + Python) の利用に向けた準備として、過去に手元でまとめていた MongoDB の情報を見直してみました。

## MongoDB とは

> MongoDBは、オープンソースのドキュメント指向データベース(NoSQL)です。
> RDBMSのようにレコードをテーブルに格納するのではなく、「ドキュメント」と呼ばれる構造的データをJSONライクな形式で表現し、そのドキュメントの集合を「コレクション」として管理します。

最近では、様々な RDBMS が JSON を直接扱えるようになってきているので、MongoDB でなければならないというメリットはあまりないかもしれませんね。スケールの特徴というか目的に応じてといったところでしょうか。

## Azure Cosmos DB とは

> Azure Cosmos DB は、ターンキーグローバル配布と透過的なマルチマスターレプリケーションを備えたフルマネージドデータベースサービスです。99パーセンタイルでの10ミリ秒未満の読み書き待機

元記事を表示

自由落下運動の計算(python3.X)

高校物理で習うような物体の自由落下運動について
時間と物体の速度の関係をpython3.6により求めました。
ある高さから物体を初速度0で自由落下させる場合、ある時刻t(s)における速度v(m/s)は
v=g*tで表されます(gは重力加速度(m/s^2))。
ただし、空気による抵抗は無視しました。

“`
from matplotlib import pyplot

#パラメータ
step = 10 #ステップ数
t0 = 0 #時間 (s)
t_step = 1 / step #時間幅(s)
v0 = 0 #初速度 (m/s)
g = 9.8 #重力加速度(m/s^2)

#リストの作成
x = []
y = []

#自由落下の計算
t = t0
for i in range(step):
v = v0 + g*t
y.append(v)
x.append(t)
t += t_step

#作図
pyplot.scatter(x, y, c=’k’)
pyplot.xlabel(‘t(s)’, fontsi

元記事を表示

pythonのジェネレータのコードサンプル

# 事の発端
pythonで設定ファイルを作っていて、ジェネレータの使い方をすぐに忘れてしまうので、備忘のためにサンプルを作成・公開しました。

## コードサンプル
“` python3
def bundle_dict_set(dic, num_max, part_name_of_key, init_value=0):
for i in range(1, num_max + 1):
dic[str(i) + part_name_of_key] = init_value

def page_data_gene():
for i in range(1, 3 + 1):
yield str(i) + “ページ目の色”
yield str(i) + “ページ目の幅”

def bundle_gene_dict_set(dic, init_value=0):
for key in list(page_data_gene()):
dic[key] = init_value

def main():

元記事を表示

PythonとFlaskをインストールする(Windows10)

### 参考サイト
– [Python3.7 windows10環境で『Flask』の最小構成を試す](https://karupoimou.hatenablog.com/entry/2019/05/20/191515)

Python3.7のインストール
https://www.python.org/downloads/release/python-376/

上記からインストーラタイプ(`Windows x86-64 executable installer`)をDL

インストールする(もし、PATHが通っていなかった場合は再実行し
`Modify→add python to environment variablesにチェックを入れ再インストール`

インストールされているか確認

“`
python -V

Python 3.7.6
“`

Pythonインストール確認後、下記コマンドでFlaskをインストール

“`
pip install flask
“`

作業ディレクトリにmain.pyを作成し、以下を記述

“`python
#coding:utf-8

元記事を表示

最近pycファイル見ないなーと思っていたら、python3でpycacheに隔離されていた話

pythonを触ってる中で
「あれ…?pycファイル最近見ないな?」

と気づきました。

そしたら、仕様がしっかりと変わっていた(結構古いですが)ので書いてみました

## pycファイルとは
公式にはこんな説明が書いています。

> CPython compiles its source code into “byte code”, and for performance reasons, it caches this byte code on the file system whenever the source file has changes. This makes loading of Python modules much faster because the compilation phase can be bypassed. When your source file is foo.py, CPython caches the byte code in a foo.pyc file right next to the source.

https://www.pyth

元記事を表示

Python初心者が ModuleNotFoundError: No module named ‘tweepy’ で挫けそうになった話

# あらすじ 
インストールしたはずのtweepyが何故かimport出来なかった人の話です。
解決に丸一日かかりました。多分[teratail](https://teratail.com)が無かったら解決してない。
有識者の皆さん本当にありがとう

# 便利だったコマンド
**`pip3 show tweepy`** — Macのターミナルで使用 インストール出来てるかを確認出来た。location
で何処にあるか確認出来ました。

**`import sys`**
**`import pprint`**
**`pprint.pprint(sys.path)`** — この3行を一つで使ってました。もし使う人がいたらpython(?)の.pyファイルで保存して実行してみてください。何処を参照してるかが分かります。

https://qiita.com/kakari8888/items/86d9c255204b063c87ee
この記事がとても助かりました。

# 解決のあらすじ
結果的には上記のpip show tweepyで分かった
locationの**/usr/loc

元記事を表示

【初心者】Python、FlaskとHerokuで、ニャンコつぶやきフォームを作った + Flask-Bootstrap導入

###※今回は、前回作成したニャンコつぶやきフォームを一部修正してFlask-Bootstrapを導入した。 前回の記事は、[コチラ](https://qiita.com/nooonchi/items/6457891202cd37ea824e)

#(1)アウトプットイメージ
スクリーンショット 2020-03-02 21.59.17.png

####以下が前回作成したニャンコつぶやきフォーム
スクリーンショット 2020-03-01 22.18.21.pngスパルタキャンプPython編 2019 Day2 課題

動画上では課題の答えがわからなかったので自分なりに解いてみました。
スパルタキャンプのライブ動画で学習している方の参考になればと思い書きました。

#課題
オブジェクト指向プログラミングの初級問題です。
オブジェクト指向を使った良いコードの書き方というよりも、正しい文法で記述できるかを目的としています。

次のコードが正しくなるようなCircleクラスを実装してください。
areaは面積、perimeterは周囲長(円周の長さ)という意味です。

“`python:circle.py
#半径1の円
circle1 = Circle(radius=1)
print(circle1.area()) #3.14
print(circle1.perimeter()) #6.28

#半径3の円
circle3 = Circle(radius=3)
print(circle3.area()) #28.26 ←恐らく動画での28.27は誤り
print(circle3.perimeter()) # 18.84 ←恐らく動画での18.85は誤り

#次のコードが正しく動作するようなRectang

元記事を表示

Pythonでクイックソートを書いてみたメモ

クイックソートについて自分用にメモを書いてみました。
# クイックソートとは
– 分割統治法に基づく高速なソートアルゴリズムで、大きなデータサイズに対応できる。
– 計算量はO(nlogn)
– logn個の階層があり、各層ごとの計算量はO(n)であるため。
– ソートすると同じ値の順序が変わってしまう不安定なソート
– 一時的にデータを保存するメモリは必要ない

# コード
“`python:quick_sort.py
def partition(A, p, r):
x = A[r-1]
i = p-1
for j in range(p, r-1):
if A[j] <= x: i += 1 A[i], A[j] = A[j], A[i] A[i+1], A[r-1] = A[r-1], A[i+1] return i+1 n = int(input()) A = list(map(int, input().split())) def quick_so

元記事を表示

ネコと犬の種類判別器を作ってみた

#はじめに
わたしは猫さんが大好きです!
機械学習を初めてから一番最初にやりたいと思ったのが猫の種類を当てるモデルを作ることでした。
作ってみたので復習のために書いていこうと思います!
今回はデータセットにわんちゃんも入っていたのでわんちゃんも猫さんも種類を判別できるモデルを作成しました!

#データセット
今回、データセットはオックスフォード大学の公開しているデータセットを使用しました
[The Oxford-IIIT Pet Dataset](http://www.robots.ox.ac.uk/~vgg/data/pets/)

#開発環境
・Google Colaboratory

#使用したもの
・python3
・Inception V3

#モデル作成
##まずはいろんなものをimport
“`python:cats.ipynb
import tensorflow as tf
from tensorflow import keras
import numpy as np
from keras.utils import np_utils
import matplotli

元記事を表示

SIMRIWの導入

#Git for windows の導入
1.https://gitforwindows.org/
2.インストール
3.再起動
4.バージョン確認 ’git –version’

#SIMRIW with Pythonの導入
##作業手順
1.Anacondaで仮想環境の構築(simriw_test)
2.pip install -U git+https://ky0on@bitbucket.org/ky0on/pysimriw.git
3.インストールの確認 pip list
4.simriw.py の実行→エラー
5.ライブラリのインストール
 1.hjson
 2.numpy
 3.pandas
 4.print_function
 5.matplotlib
6.画像ファイル、csvファイルの出力先フォルダの作成
7.パスの上書き
##参考
https://github.com/ky0on/simriw
https://github.com/ky0on/pysimriw

元記事を表示

呼び出し元メソッドをinspectを使わずに判別する

同ディレクトリ上に3つのファイルがある。

“`python:test.py
import sys

class Aiueo(object):

def common(self):
print(1)
print(2)
print(3)

def func_a(self):
print(4)
self.common()

def func_b(self):
print(5)
self.common()
“`

“`python:test_a.py
import test
test.Aiueo().func_a()
“`

“`python:test_b.py
import test
test.Aiueo().func_b()
“`

test_a.pyを実行すれば4123と打たれ、
test_b.pyを実行すれば5123と打たれる。
これが現在の仕様。

ところが後になって仕様変更があり、
4123、5123ではなく、4123、51

元記事を表示

Flask導入〜Blueprint適用メモ

タイトルのことをなるべく簡単に行ってみます。

##Flaskのインストール

“`
$ sudo pip3 install flask
“`

##ディレクトリ構成

“`console
$ cd ~/workspace/sample-flask/

$ ls
server.py
“`

“`server.py
from flask import Flask

app = Flask(__name__)

@app.route(‘/’)
def func_1():
return ‘Hello world’

@app.route(‘/test’)
def func_2():
return ‘Test’

if __name__ == ‘__main__’:
app.run(host=’0.0.0.0′, port=80, debug=True)
“`

##実行コマンド

“`console
$ python3 server.py
* Serving Flask app “server” (lazy loading)
* Environmen

元記事を表示

【LINE bot】おいら、だじゃレンジャー!その2

#はじめに

以前の作成した、[だじゃレンジャーLINE bot](https://qiita.com/Hexans/items/06b9abdcfb4a838a18f7)の更新。

#問題点

1. 小学生には難解な漢字が多く読めない。
2. 与えられたお題(キーワード)でだじゃれを返せない場合、botからのレスポンスがなく、利用者が不安に。

#目的

1. 漢字にフリガナをふる。
2. だじゃれを返せない場合は、返せない旨を伝える。

#コード

## 1. 漢字にフリガナをふる。

[こちらの記事](https://qiita.com/kt-tsutsumi/items/599f287f15b8e4cb84f3)を参考にした。
手順としては、
1. Mecabで形態素解析
2. 漢字であればふりがなをふる。ふりがなは形態素解析の結果を用いる。
3. ふりがなは括弧書き()で、送り仮名はふりがなとは別に()の外に表示。

“`python:furigana.py
import sys
import MeCab
import re

def henkan(text) :

元記事を表示

[HackerRank] Alphabet Rangoli と 再帰呼び出し

# はじめに
[[HackerRank] Alphabet Rangoli](https://www.hackerrank.com/challenges/alphabet-rangoli/problem)
について再帰呼び出しを使用して解いたので記事にしたものです.
以下にネタバレがあるので先に解きたいひとは上のリンクからどうぞ.

# 問題文(要約)
整数Nが入力される.大きさNのアルファベット・ランゴリを出力せよ.(ランゴリはインドのフォークアートであるらしい.)

いくつかのサイズのアルファベット・ランゴリの例↓

### size 3
“`
—-c—-
–c-b-c–
c-b-a-b-c
–c-b-c–
—-c—-
“`
### size 5
“`
——–e——–
——e-d-e——
—-e-d-c-d-e—-
–e-d-c-b-c-d-e–
e-d-c-b-a-b-c-d-e
–e-d-c-b-c-d-e–
—-e-d-c-d-e—-
——e-d-e——
——–

元記事を表示

【Python GUI】Tkinterを使ったDICOMのコントラスト調節とBMP変換

#目的

コード保存。中身は汚い。
– DICOM画像を任意のコントラストに調節しBMPに保存。
– コントラスト調節の式が怪しいかも。

#コード

“`python:WL_WW_changer.py
import cv2
import numpy as np
import glob
import os
import shutil
import os, tkinter, tkinter.filedialog, tkinter.messagebox
from tkinter import filedialog
import pydicom
#from pydicom.data import get_testdata_files

def adjusted_WL_WW():
#delete previous folder
if os.path.exists(“adjusted_WL_WW”):
shutil.rmtree(“adjusted_WL_WW”)

#input WL and WW
WL = int(inpu

元記事を表示

OTHERカテゴリの最新記事