- 1. 『Python1年生』で勉強中(その2)
- 2. 【AtCoder】PythonでABC248のA, B, C, D, Eを解く
- 3. Python3 対話モードを終了する方法
- 4. ABC248での学び
- 5. Djangoでwebサービスを作ってみるまで~その1(環境構築編)~
- 6. AWS LambdaでPython基礎
- 7. 【python】ezdxfを使ってみよう#1~図面作成と設定編~
- 8. Effective Pythonまとめ 2. List and Dictionaries (Item11~Item18)
- 9. 【Python】1~4次までの地域メッシュコードを計算する
- 10. ImportError: cannot import name ‘xxx’ from partially initialized moduleの対処法
- 11. 自動でvenvを(de)activateする
- 12. ubuntu20 NEWLAMP
- 13. Jupyter NotebookでなくJupyter Labを起動する方法
- 14. Pythonの初期化処理
- 15. [Python3 / pynamodb] create_table時に Table read and write throughput must be at least 1, and cannot be null
- 16. AWS Cloud9でPython基礎~ファイルの読み書き
- 17. python3を用いたgifアニメの解像度変更
- 18. Windows PC へのPython3 導入手順
- 19. 【init】Google ColabでLINEおうむ返しBOTを爆速で動かす
- 20. 量子デバイス実機を使ってみよう
- 21. Qiskitを用いて量子回路を作成し、量子デバイス実機で量子測定を行う
『Python1年生』で勉強中(その2)
## この記事について
『Python1年生』(以下、書籍)でPythonを学習する初心者の記録です。
今回も大したことは書いていませんが、こういうのは習慣的にやるべきだと最近読んだ別の本に書いてあったので、とりあえず書き散らします。■ バックナンバー
・[『Python1年生』で勉強中(その1)](https://qiita.com/megrim_q/items/c1417f507e96c1fb7015)## 実行環境
| OS・MW | バージョンなど |
|:-:|:-:|
| OS | Windows 10 Pro 21H2 19044.1645 |
| Python | 3.10.4 |
|IDLE |3.10.4|## やったこと
引き続き、IDLEに書籍のサンプルプログラムを入力してひたすら試していました。
その他、ときどき思いつきで書き方を変えてみたりなど。## 気になったところ
### Pythonについて
– 文字列の一部を抜き出す書き方、例えば「w[1:10]」のように書く場合、
「1番目~10番目まで抜き出す」のかと思いきや、「
【AtCoder】PythonでABC248のA, B, C, D, Eを解く
自分がコンテストでやった考察と実装を書いてみます.
# 目次
* [A問題 『Lacked Number』](https://qiita.com/yassu/items/ae83817838c2c25e5a1d#a%E5%95%8F%E9%A1%8C-lacked-number)
* [B問題 『Slimes』](https://qiita.com/yassu/items/ae83817838c2c25e5a1d#b%E5%95%8F%E9%A1%8C-slimes)
* [C問題 『Dice Sum』](https://qiita.com/yassu/items/ae83817838c2c25e5a1d#c%E5%95%8F%E9%A1%8C-dice-sum)
* [D問題 『Range Count Query』](https://qiita.com/yassu/items/ae83817838c2c25e5a1d#d%E5%95%8F%E9%A1%8C-range-count-query)
* [E問題 『K-colinear Line』](https://qiita.com
Python3 対話モードを終了する方法
# Python3ってターミナルに打ってみた!
~~~shell
python3
~~~
REPLと呼ばれる対話モードが開きますよね
動かしたはいいものの、何をどうすればいいのか分からないし、何より終了したいのにできません
そんなとき、↓のコードを実行してみてください
~~~python3
type(exit)(quit, ‘finish’)()
~~~# 結論
REPLを終了できました!# 補足
Python2の人は
~~~python
type(exit)(quit)()
~~~
で十分だった気がしますかしこ
ABC248での学び
# ABC248で得た学び
今日はA,Bだけ解けて、Cは考えたけど難しそうすぎて飛ばしました。
その後のD問題を後から友達と答え合わせする中で得られた学びを記します。* 1. ソート済み配列に対するBisectを使ったインデックス取得
D問題では、ソート済みの配列からある数L,Rについて、”L<X<R”を満たすような要素の数を取得する必要がありました。
僕は初め数列内のすべての要素に対してL
Djangoでwebサービスを作ってみるまで~その1(環境構築編)~
# Djangoでwebサービスを作ってみるまで~その1(環境構築編)~
## なぜ書き始めたか
ただの練習です。Djangoを触れるようになってから早1年、そろそろまとめるように何か記事を書いてみようということで初心者の方やDjangoってそもそもなんすかというような人向けの記事を僕なりにまとめたいと思います。(最終的には色々機能ごとに分けてテンプレ化したい)ということで早速始めていきましょう
## 今回のテーマ
タイトルにもある通り`Djangoでwebサービスを作ってみるまで~その1(環境構築編)~`です環境構築しましょう。(この記事を参考にdocker環境を構築しました。→https://qiita.com/bakupen/items/f23ce3d2325b4491a2dd)
今回はdocker上で構築・実装していきたいと思います。なのでdocker上のコンテナでコマンドを実行するような形になっています。“`
docker-compose run web python3 –version
docker-compose run web python3 man
AWS LambdaでPython基礎
2022/4/6(水)に行われたAPNパートナー限定セミナー「Pythonの基礎から学ぶ!サーバーレス開発はじめの一歩」で学んだLambda部分の復習。
AWS Lambdaと Amazon Translate を使ってテキスト翻訳するアプリケーションを作成する。
# 1.Lambda 関数を実行する
## 1-1. Lambda 関数の作成
マネジメントコンソールで Lambda を開き「関数の作成」をクリックする。
– 「一から作成」を選択する。
– 関数名:適当な名前を付ける。目的がわかるようにしたいので今回は`translate_lambda`とした。
– ランタイム:python3.9その他項目はデフォルト値のまま「関数の作成」をクリックする。

Python 3.8.10
ezdxf 0.17.2## ezdxfのインストール
“`Python:pip install ezdxf
pip install ezdxf
“`
Excelに記録した座標を読み込んでの作図や、dxfを読み込んでExcelにまとめるなどをするには、openpyxlやpandasなどのライブラリを用いるようになっていきます。
## 自動作図は最短5行!
**線を一本作図した図面を作成します。**(図形の書き方の詳細は別の章でまとめ
Effective Pythonまとめ 2. List and Dictionaries (Item11~Item18)
Pythonのコーディング力を引き上げるために、[Effective Python Second Edition(英語版)](https://www.amazon.co.jp/dp/B07ZG18BH3/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)を用いて学習しています。
(日本語版は訳が機械的でわかりづらいというレビューが多かったので、英語版を利用することにしました。)
今回は、第二章のList and Dictionaries (Item11~Item18)について、要点をまとめていきます。:::note warn
個人的に解釈した内容を記述しているため、本の内容と厳密には一致しない表現が含まれる可能性があります。
:::# Item11: Know How to Slice Sequences
### 基本的なsliceの使い方
Pythonでは、list, str, bytes型などをスライスする際には、`somelist[start:end]`が利用できる。
この際、startに指定したindexに対応する要素は実行
【Python】1~4次までの地域メッシュコードを計算する
# はじめに
緯度経度から、地域メッシュコードを1~4次まで計算するPythonのPGを作成しました。
# メッシュコードとは
緯度経度を基に四角の区域に分けたものです。交通量分析やPTでメッシュコード単位で分析をしているとよく出てきます。
詳細は下記を参照してください
– [総務省統計局 地域メッシュ統計の特質・沿革](https://www.stat.go.jp/data/mesh/pdf/gaiyo1.pdf)
– [地域メッシュまとめ](https://qiita.com/nkuchiii/items/a3a83d5a2cdd5d8d630c)# 環境
– python version 3.7.4
– windows10# 実装
“`python:test.py
# coding: UTF-8
# メッシュコード変換設定用変数
MILLISECOND = 3600000 # 計算の単位(ミリ秒)に変換して計算する#*************************************************************************
ImportError: cannot import name ‘xxx’ from partially initialized moduleの対処法
# エラーが出た状況
このエラーが出たのが1つのファイルに色々コードを記述して、だいぶごちゃごちゃしてきたので、複数ファイルに分けようとしていました。
そしたらファイルを複数に分けた後、「ImportError: cannot import name ‘xxx’ from partially initialized module」が出てきやがりました。# 原因:循環import
このエラーの原因は循環importでした。
循環importとはなんだよという方のために説明いたします。ファイルA
“`
import ファイルB
“`ファイルB
“`
import ファイルA
“`めちゃくちゃ簡潔に書くとこんな感じです。
ファイルAでファイルBをインポート、ファイルBでファイルA。
両方のファイルでファイルを呼び出し合っていることによりこのエラーが発生してあります。この両方からファイルを呼び出し合っているところを解決してあげるとエラーが消えました?
# 終わりに
初心者エンジニアですので何かありましたらコメントしていただけるとありがたいです!☺️
自動でvenvを(de)activateする
# Introdaction
Pythonで仮想環境作ったはいいけど毎回activate/deactivateするのが面倒臭い。
自動化させましょう。## 環境
Python3.3 以降
Ubuntu 20.04## 特徴
– プロジェクトディレクトリに移動した際に、直下に仮想環境があれば、自動でactivateする
– プロジェクトディレクトリの外へ`cd`する際には自動的にdeactivateする
– 同一プロジェクトディレクトリ内で`cd`してもdeactivateしない
– 仮想環境名は任意に設定できる※参考にさせていただいたのはこちら[[1−3](#references)]。
こちらのページで示されている方法を実装すればそれで十分だったが、プロジェクトディレクトリ下にあるサブディレクトリに移動してもdeactivateされてしまったり、仮想環境名を固定しなければいけなかったりと、ちょっと自分の使い方では痒所に手が届かなかったので自分好
ubuntu20 NEWLAMP
“`lamp.sh
sudo apt-get update
sudo apt-get upgradesudo apt-get -y install libapache2-mod-php
sudo apt-get -y install apache2
sudo apt-get -y install apache2-dev
sudo systemctl enable apache2
sudo systemctl restart apache2sudo add-apt-repository ppa:ondrej/php
sudo apt-get install build-essential
sudo apt-get install -y php
sudo apt install php8.1 php8.1-cli php8.1-common php8.1-mbstring php8.1-gd php8.1-intl php8.1-xml php8.1-mysql php8.1-zip php8.1-xsl php8.1-curl
sudo apt install -y nodej
Jupyter NotebookでなくJupyter Labを起動する方法
Windows環境でAnacondaをインストールしてJupyterを使おうとしたらJupyter NotebookとJupyter Labがあることに気づいた。
スタートメニューから起動するとJupyter Notebookが起動するが、新しいのはJupyter Labらしいので設定を変更してJupyter Labが起動するように変更した。1. Anaconda Promptを開いて設定ファイルを生成。
“`python
jupyter notebook –generate-config
“`
2. `C:\Users\ユーザ名\.jupyter\jupyter_notebook_config.py`が作られているので開く。
3. 下記のところを`lab`に書き換える。
“`python
c.NotebookApp.default_url = ‘/lab’
“`設定ファイルは.pyなので行頭に余計なスペースなどが入るとエラーで設定が有効にならない。
Pythonの初期化処理
# __init__メソッド
これはクラスからインスタンスを生成するために使用されるメソッドで、クラスの初期化の処理を担っています。
Rubyで例えるとinitializeメソッドと同じで次のように記述するはずです。
“`ruby
class クラス名
def initialize(a,b,c)
@a = a
@b = b
@c = c
end
end
“`一方Pythonでは以下のように記述します。
“`python
class クラス名:
def __init__(self,a,b,c):
self.a = a
self.b = b
self.c = c
“`
と記述します。
これによりクラスのインスタンスを生成され、a,b,cの値は初期で使用される値となります。
pythonでは__init__メソッドの引数の中にselfが入っていますが、これによりクラスのインスタンスを生成しているので、
“`python
def __init__(self, ~)
“`
と覚えておくとよいかもしれ
[Python3 / pynamodb] create_table時に Table read and write throughput must be at least 1, and cannot be null
# 発生したエラー
> E pynamodb.exceptions.TableError: Failed to create table: An error occurred (ValidationException) on request (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) on table (some_data) when calling the CreateTable operation: Table read and write throughput must be at least 1, and cannot be null
>
>.venv/lib/python3.8/site-packages/pynamodb/connection/base.py:651: TableError`Table read and write throughput must be at least 1, and cannot be null`がエラーの原因っぽいことはすぐにわかった。
けれど、`Table read and w
AWS Cloud9でPython基礎~ファイルの読み書き
2022/4/6(水)に行われたAPNパートナー限定セミナー「Pythonの基礎から学ぶ!サーバーレス開発はじめの一歩」で学んだPython部分の復習。
# 1.AWS Cloud9セットアップ
Cloud9を起動。適当に名前を付けて他はすべてデフォルト値でCloud9を起動する。# 2.ファイルの読み書き
## 2-1.Pythonでファイルを読み込む
組み込み関数[open()](https://docs.python.org/ja/3/library/functions.html#open)と[with文](https://docs.python.org/ja/3/reference/compound_stmts.html#with)を使う。
Cloud9上で、以下2ファイルを作成する。
“`py:input_text_file.py
def open_input(fileA):
with open(fileA, ‘r’) as f:
textA = f.read() # .read()メソッドを使ってファイルの内容を読み込み
python3を用いたgifアニメの解像度変更
# python3を用いたgifアニメの解像度変更
先日、pixivに作成したgifアニメをアップロードしようとしたら、ファイルサイズの制限に引っかかってしまった。そこで、画像の解像度を落とし、ファイルサイズを小さくしようと考えた。
ブラウザ上でgifアニメの解像度を縮小するサービスはいくつか見つかったが、どれもファイル容量の制限などにより使いにくかった為、自分で作成した。## 追記
– 2022-04-14 解像度変えるだけなら[ffmpeg](https://trac.ffmpeg.org/wiki/Scaling)で十分みたいです。## 開発条件
– python3
– scikit-video
– opencv
pip経由でscikit-videoとcv2を入れる## 必要なライブラリをインポート
“` python3
from skvideo.io import vread
import cv2
from PIL import Image,ImageDraw
“`## gifを読み込む
“` python3
from skvideo.io impo
Windows PC へのPython3 導入手順
# 1.はじめに
Windows10 の環境に Python3 を導入します。
※ Mac PCへの Python3 導入手順は、以下リンク先をご参照ください。
・Qiita:Mac PC へのPython3 導入手順
https://qiita.com/Haruka-Ogawa/items/b1bf5ad9b28d44702a64# 2. Python3 導入
### ① ダウンロード
まず、公式サイトからPythonを ダウンロードします。
最新版は以下リンク先を開くと取得することができます。・Python:Download the latest version for Windows
https://www.python.org/downloads/
今回は Python **3.10.4** をダウンロードしま
【init】Google ColabでLINEおうむ返しBOTを爆速で動かす
# 下準備
– Google Colabを開く(https://colab.research.google.com)
– LINE Channel SecretとChannel Access Tokenの取得(https://developers.line.biz/console)
※参考: [Messaging APIを始めよう](https://developers.line.biz/ja/docs/messaging-api/getting-started)
– ngrokのYour Authtokenの取得(https://ngrok.com/)# 定数の定義
“`python
# LINEのチャネルシークレット
LINE_CHANNEL_SECRET = ‘下準備の値’
# LINEのチャネルアクセストークン
LINE_ACCESS_TOKEN = ‘下準備の値’
# ngrokのAuthtoken
NGROK_AUTHTOKEN = ‘下準備の値’
“`# 必要なライブラリのインストール&ngrokの初期化
“`
!pip install flask
!pip
量子デバイス実機を使ってみよう
Qiskitを用いて量子回路を作成し、量子デバイス実機で量子測定を行う
**前提知識**
量子力学、線形代数**準備**
準備はAnacondaインストール→仮想環境の作成・Qiskitのインストールの順で行います。準備ができたらAnaconda-NavigatorあるいはVScodeのjupyternotebookを起動させてQiskitがインストールされている仮想環境を選択します。Anacondaのインストールに関して
[Anacondaインストール](https://www.python.jp/install/anaconda/index.html)
仮想環境の作成とQiskitのインストールに関して
[はじめに](https://qiskit.org/documentation/locale/ja_JP/getting_started.html )
[Qiskitのインストール](https://qiskit.org/documentation/locale/ja/install.html)
JupyterNotebookに関して
[Jupyt