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

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

Python Socket通信

# 概要
pythonで Socket通信に関して学んだので、その実際にSocket通信(TCP)するPG作ってみました。

# 前提
* Python 3.9.7

# 目次

Ⅰ. Socket Server
Ⅱ. Socket Client

## Ⅰ.Socket Server

元々、socket自体は入っているので、インストール不要。なので、そのまま、importを行う。

“`
import socket
“`

まず、Serverを作成していきます。

“`
import socket

# with構文使用することで、close不要になるため使用します。
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((socket.gethostname(), 50000)) # IPとポート指定
s.listen(10) # サーバなので、Listen状態にします。10は、キューに貯める数。

# 何度もレスポンスを返せる

元記事を表示

pypyはC言語並に早かった(素数編) cython-annotationの例有

Pythonが大好きなのですが、処理が遅くて頭を悩ませています。

どうにか早くならないかとpypyとcython(pure python mode)でやってみました。

…すみません、ソースコードはこちらの方のを使わせていただきました。
https://qiita.com/L_A_P_119611/items/40f6c71c136fbe3cf32a

## 環境
MacOS: catalina
CPU: i9
– それぞれ3回計測した結果を載せています。

## pythonの結果
python3.9での実行結果は下記通りでした。
(arrangeをnumpyのに変えたら早くなるのだろうか…)
python3 src_sosu1.py 123456789
123456789 = 3 * 3 * 3607 * 3803
所要時間は39.019531秒です
所要時間は34.007243秒です
所要時間は35.707815秒です

## javaの結果
java Factrization 123456789
123456789 = 3803 * 3607 * 3 * 3
所要

元記事を表示

ローカルPC環境にAnacondaとPHi-C仮想環境を構築

# AnacondaでPython環境を導入

### Anacondaのダウンロード
以下のAnoconda公式サイトから、Downloadをクリックして、ローカルPCの適当なフォルダに保存する。
https://www.anaconda.com/products/distribution

### Anacondaのインストール
ダウンロードしたフォルダ上で端末を開いて以下を実行する。(実行ファイルはダウンロードしたファイルを指定すること。)
“`
bash Anaconda3-2021.11-Linux-x86_64.sh
“`

“`
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
“`
と表示されるのENTERキーを押しましょう。さらに規約を読み進めるためENTERキーを押し続けましょう。
“`
Do you accept the license terms? [yes|no]
“`

元記事を表示

【Python】Pythonの型名が覚えられなかったのでメモ

Java, Rubyの実務経験があり、Pythonも覚えてみたいと考えた今日このごろ。
型の種類と名前が全く一致しなかった戒め。

下記のフォーマットで自分用にメモ
###### 大枠のジャンル
“`
・Pythonでの呼び方
 ・Java, Ruby(他覚えやすかったキーワードなど)での呼び方

※あれば感想など
“`

###### 数値
“`
・int
 ・整数

・float
 ・小数点

※散々やってきたので大丈夫。小数点の計算 ^ Javaのときは「BigDicimal」を使わないとダメだぞ!と怒られた記憶がある
“`

###### 論理
“`
・bool(Yes / No)
 ・boolean
“`

###### 文字列
“`
・str
 ・String

※大した違いじゃないからまぁいいんだけど、こういう微妙な違いがあると困るよね。
“`

###### シーケンス
“`
・list
 ・ArrayList(Java)(後から追加できるからArrayListで覚える)

・tuple
 ・list(配列)(後から変更できないからlistで覚える)

元記事を表示

Python3: Google Cloud Functions で加算

フォルダー構造

“`text
$ tree
.
├── main.py
└── requirements.txt
“`

“`py:main.py
def sum_up(request):
request_json = request.get_json()
aa = 0
bb = 0
#
if ‘aa’ in request_json:
aa = int(request_json[‘aa’])

if ‘aa’ in request_json:
bb = int(request_json[‘bb’])
#
sum = aa + bb
rvalue = {}
rvalue[‘sum’] = sum
rvalue[‘aa’] = aa
rvalue[‘bb’] = bb

return rvalue
“`

“`text:requirements.txt
# Function dependencies, for example:
# package>=version
“`

## ローカルでテスト ##

サーバーの起動

“`bash
f

元記事を表示

Watson Knowledg Catalog for CP4D ~API色々~

# はじめに
Watson Knowledge Catalog for CP4D(WKC for CP4D)のAPIドキュメントに記載されている情報が少なく、APIで色々実施しようとすると苦労するので、今まで調べた内容を備忘録としてメモっておきます。
調べたAPIが増えたら、適宜この記事を更新しようと思います。

あくまでも例です。より良い方法が他にもあるかもしれません。そして、コーディング初心者なのでその点ご了承ください。

**試した環境 : WKC for CP4D 4.0.5**

# 参考資料
全体的なAPI Reference
[Watson Data API](https://cloud.ibm.com/apidocs/watson-data-api#introduction)

アセット(資産)に特化したAPI Reference
実は、こっちの方が詳しい。
[Catalog and Asset Management Service](https://api.dataplatform.cloud.ibm.com/v2/cams/explorer/#/)

# 認証情報の

元記事を表示

Python3: Google Cloud Functions の使い方

次のような関数を作成します。

Project: project-apr06
関数名: function-apr06
とします。

“`py:main.py
def hello_test(request):
“””Responds to any HTTP request.
Args:
request (flask.Request): HTTP request object.
Returns:
The response text or any set of values that can be turned into a
Response object using
`make_response `.
“””
request_json = request.get_json()
if request.args and ‘message’ in reque

元記事を表示

PyCharm Community EditionでFlaskアプリケーションを起動する設定

# 目的
PyCharm Community EditionでFlaskアプリケーションを起動する設定の覚書です

# 注意
PyCharm Professionalを使えば Flaskサポートは標準搭載されており、このページの手順は不要です。
Python入門中だし、最初はPyCharm Community Editionでいいかなという気持ちで使っています。

https://www.jetbrains.com/help/pycharm/flask.html

# 環境
– macOS Monterey
– PyCharm Community 2021.3.3
– Python 3.9.10

ソースコードは Flask Tutorialの [Blog Blueprint](https://flask.palletsprojects.com/en/2.1.x/tutorial/blog/) まで終わらせたものを使っています

# 手順
1. PyCharm Community Editionでflaskを使ったソースコードを開く
1. 右上のプルダウンから`Edit Config

元記事を表示

CapsGANをKerasで

# 概要
CapsNetを用いたGAN:CapsGANをKerasで構築して学習させてみます。ここで構築するCapsGANは、Discriminator部分のみがCapsNetによって構築されたものとなります。

CapsNetについては[私が以前書いた記事](https://qiita.com/heart_mugi/items/c1cb6d29d057a33acbae)をお読みください。

# 構築
早速、CapsGANを構築していきます。
## CapsNet
Discriminatorに用いるCapsNetを定義します。当記事では詳しく説明しません。
“`python
class Length(layers.Layer):
“””
Compute the length of vectors. This is used to compute a Tensor that has the same shape with y_true in margin_loss.
Using this layer as model’s output can directly

元記事を表示

Python3: Elastic Cloud に ndjson 形式のデータを投入する

こちらにあるデータを使いました。
[新型コロナワクチンの接種状況](https://info.vrs.digital.go.jp/dashboard/)

データの取得

“`bash
wget https://data.vrs.digital.go.jp/vaccination/opendata/latest/prefecture.ndjson
“`

“`py:elastic_cloud_insert_ndjson.py
#! /usr/bin/python
#
# elastic_cloud_insert_ndjson.py
#
# Apr/04/2022
# ——————————————————————
import sys
import json
import ndjson
import requests
# ——————————————————————
def file_to_s

元記事を表示

「X」記号を検出するOpenCVライン検出

行内のX記号を検出する必要がある画像があります。
画像:
![dpUhO.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2603249/927d24f1-3cd1-a18a-d833-f00898f5c519.png)

上の画像を見るとわかるように、線の中にX記号があります。シンボルのX座標とY座標を知りたい。この絵の中でこのシンボルを見つける方法はありますか、それとも小さいですか?
“`
import cv2
import numpy as np

def calculateCenterSpot(results):
startX, endX = results[0][0], results[0][2]
startY, endY = results[0][1], results[0][3]
centerSpotX = (endX – startX) / 2 + startX
centerSpotY = (endY – startY) / 2 + startY

元記事を表示

Python3: Elastic Cloud に API でデータを投入する

こちらと同じことを Python3 で行いました。
[Elastic Cloud に API でデータを投入する](https://qiita.com/ekzemplaro/items/5591fa43c2dc39d47a6b)

“`py:elastic_cloud_insert.py
#! /usr/bin/python
#
# elastic_cloud_insert.py
#
# Apr/04/2022
# ——————————————————————
import sys
import json
import requests
# ——————————————————————
def file_to_str_proc(file_in):
str_out = “”
try:
fp_in = open(file_in,encoding=’utf-8′)
str_out = fp_

元記事を表示

[Atcoder]python3の入力処理方法

3/26からAtCoder始めました。対戦よろしくお願いいたします。
AtCoderの入力方法は標準入力です。
普段、標準入力はあまりしないので、戸惑ってしまいました。
そのため、主な入力処理パターンをまとめました

# 入力個数が1つ(ex 1)
“`python
# int
a = int(input())
# str
a = str(input())
“`

# 入力個数が決まっているパターン(ex A B C Dが与えられるパターン)
“`python
# int
a, b, c, d = map(int, input().split())
# str
a, b, c, d = str(int, input().split())
“`

# 個数が指定されない場合(ex. A1~Anの個数が当たられるパターン)
“`python
# int
An = list(map(int,input().split()))
# str
Bn = list(map(str,input().split()))
“`

楽しく競技プログラミングしましょう!

元記事を表示

Python Embeded でお手軽(?)環境構築の忘備録

## 別にインストーラ版使えば良くね?
そう思った貴方!!そのとーーーーーーりーーーー!!!
以下の精神がない方は素直にインストーラ版使ってください。
そのほうがネットで情報探すのも楽だし何よりつまづく事ほとんどないはず。

## なんでEmbeded版使うの?
理由は以下2つ
①開発環境をイチから構築してこそ三流くんの鏡
②会社の環境でレジストリ荒れると警告食らう
一番の理由は①、これくらいできなきゃ開発者名乗る資格なし
そして個人的には②の理由も結構致命的。違法ソフト呼ばわりされるのが迷惑なのでインストールはなるべくしたくない、ってことです。
但し、インストーラ版にしか含まれてないフォルダはなんとか取り出すしかないです……標準装備してくれよ…

## 動作環境
OS:Windows 11 Pro 21H2
Python Version:Python 3.10.4
PCスペックは皆さんが使用しているマシンより間違いなく性能低いです。

## 構築してみよう
まずは、Python公式サイトからEmbeded版をDLしましょう。
ついでに同じバージョンのInstaller版もDLしましょ

元記事を表示

【AtCoder解説】PythonでABC246のA,B,C,D,E,F問題を制する!

**ABC246**の**A,B,C,D,E,F問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**、Discordサーバーまでお気軽にどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**
**Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ8pkPRRMT**
よかったら**LGTM

元記事を表示

超初心者がAtcoder ProblemsのC問題を224回から230回までをpythonで解いてみた

解き方を忘れないためにまとめてるだけなのでコードはめちゃくちゃ不細工です、ここもっと良くできるよって場所あったら教えていただけるとありがたいです!!

224 Triangle

https://atcoder.jp/contests/abc224/tasks/abc224_c

“`python:practice.py
n = int(input())
points = [list(map(int, input().split())) for _ in range(n)]
nums = [i for i in range(n)]
cnt = 0
for i in range(n):
x1,y1 = points[i]
for j in range(i+1,n):
x2,y2 = points[j]
for k in range(j+1,n):
x3,y3 = points[k]
if (y2-y1)*(x3-x1) != (y3-y1)*(x2-x1):

元記事を表示

LambdaからDynamoDBを操作する

# 背景・目的
– 以前、「[VPC内のLambdaからインターネットに接続する](https://qiita.com/zumastee/items/21c77e66156a8d26856e)」と「[DynamoDBを試してみた](https://qiita.com/zumastee/items/ef8a5c855161f9e4ba92)」で作成したLambdaとDynamoDB(以降、DDBという。)を使用してQiitaの記事一覧を取得し、その内容をDDBに登録する。

# 内容
## 前提
### DynamoDBテーブル
– DDBのテーブル名は「qiita_user_articles」、各項目は以下の通りとする。

| 項目名 | キー/インデックス | タイプ| 例|
|:— | :—- | :—- | :—- |
| user_id | パーティションキー| 文字列 |test|
| article_id | ソートキー | 文字列 |00001|
| title | グローバルセカンダリーインデックス | 文字列|test title|
| url |

元記事を表示

【初心者が始める】githubの環境構築(前編)

Pythonの勉強を始めました。
『ゼロから作るDeep Learning』にて、githubで公開しているスクリプトを使用するために、今回githubを使い始めました。
githubを使い始める際の手順は下記リンクで行なっています。

https://prog-8.com/docs/git-env

上記サイトの手順5 「Githubにプッシュする」で、`git init`を実行すると下記のようなヒントが表示されました。

“`python:
hint: Using ‘master’ as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config –global init.de

元記事を表示

Flaskを使って10分でAPI作る

# Flaskを使って10分でAPI作る
PythonのFlaskを使ってAPIを作ってみようと思います。

## Flaskのインストール
“`
mkdir flask-api
cd flask-api

python3 -m venv .venv //任意
source .venv/bin/activate //任意

pip install Flask
“`

## もっとも単純なもの
– urlにリクエストが来たらdataを返すAPI
“`python
@app.route(‘/’)
def return_data():
data = {1: “a”,
2: “b”,
3: “c”,
4: “d”,
5: “e”}
return data
“`

## 条件をつけたもの

“`python
@app.route(‘/id=‘)
def designated_return_data(id):

if id == ‘1’:
d

元記事を表示

Python3: Cloud Firestore に ndjson のデータを追加

こちらを参考にしました。
[ドキュメントの追加](https://firebase.google.com/docs/firestore/manage-data/add-data?hl=ja#add_a_document)

“`py:put_firestore_docs.py
#! /usr/bin/python
#
# put_firestore_docs.py
#
# Apr/02/2022
# ——————————————————————
import sys
import json
import ndjson
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
from datetime import date, datetime
# —————————————————-

元記事を表示

OTHERカテゴリの最新記事