Python関連のことを調べてみた2023年02月09日

Python関連のことを調べてみた2023年02月09日

GIGAスクール端末でどこまで開発環境が整えられるか(chromebook編)

2023/2/9 紹介するツールが少ないですが、順次追加していく予定です。

## はじめに
初投稿です。
GIGAスクール構想として一人一台端末が配布されてから約二年が経ちました。
現役中学生の自分が、2年間端末を使ってみて、プログラミングがどこまでできるのか試して感じたことを書こうと思います。
GIGAスクール構想について詳しいことは[こちら](“https://www.mext.go.jp/a_menu/other/index_0001111.htm”)で説明されています。
GIGAスクール構想のなかで、2020年度からプログラミングの授業が必修となりましたが(高校でも情報Ⅰができました)、現状、3学年の技術科で数時間程度扱うだけです(2年生なので受けたことはありません)。そのプログラミングも、scratchなどのビジュアルプログラミングのみが必修となっており、高校に入ってテキストベースの疑似プログラミングを学ぶとき、苦労するのではないかと思いました。
そこで、htmlをはじめ、どのような言語がどのような環境でできるのかを試してみました。

## 端末スペック
自分の中学校では[

元記事を表示

Python基本文法2(while文 編)

# 概要
Python初心者です。自分の備忘録用2です。
前回の[Python基本文法1(リスト、辞書、for文 編)](https://qiita.com/iwhg0211/items/973365ed1fe7e707126b)の続きです。
どなたかの助けになれば幸いです。

# 勉強したサイト
[Progate](https://prog-8.com/dashboard)

# while文
“`Python:ターミナル
x = 1
while x <= 100: print(x) x += 1 # ↑Xがtrue(今回はXが100より多くなるまで)の間、下2行の処理を繰り返します。 ``` ```Python:ターミナルの結果 1 2 3 ... 100 ``` ##### 注意! ```Python:ターミナル x = 1 while x <= 100: print(x) # ↑Xが更新されないように書くと... ``` ```Python:ターミナルの結果 1 1 1 1 1 1 . . . ``` と、永遠に処理を繰り返します。これは異常な負荷がかかるので

元記事を表示

【Amazon Connect】初心者がLambdaとの連携でひっかかったこと

みなさんこんにちは!
早いものでそろそろ社会人一年目になろうとしている新卒エンジニアです。

現在の部署に配属されてはじめに行ったのがAmazon ConnectとLambdaの連携だったのですが当初は思ったようにいかないことが多く、
近い未来で自分が後輩に教える立場になったときに過去の自分がどこで躓いていたかを記録したいと思い今回この記事を作成することにしました。

使い慣れている方にとっては当たり前の内容ばかりになるとは思いますが、これからLambdaを触ってみたい方、同じような躓きをしている方の参考になれば幸いです。

ちなみに、Lambdaを初めて触った時点での私のスペックを簡単に紹介します。
– AWS自体入社後の新人研修で初めて触ったレベルの初心者
– Amazon Connectは研修で一度簡単なコールセンターを作成した経験あり
– Python歴は独学で3年程度、主に機械学習などの目的で使用していた
– Python3エンジニア認定基礎試験取得済(別記事に合格体験記があります)

上記の理由から今回Lambdaの記述にはある程度使い慣れているPythonを使用すること

元記事を表示

Python Package作成備忘録

# ツールlist

1. [pyenv](https://github.com/pyenv/pyenv): Python管理
1. [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/macos.html): Pythonの環境管理
1. [poetry](https://python-poetry.org/docs/#installation): 依存パッケージの管理
1. [Python Packages (py-pkgs.org)](https://py-pkgs.org): Python Packageの作成方法
1. [cookiecutter](https://github.com/cookiecutter/cookiecutter): テンプレートからPython Projectを作成するCLIツール
1. [PyPI (Python Package Index)](https://pypi.org): Python packageを公開するハブ
1. [Test Pytho

元記事を表示

pythonの連想配列で存在しないキーを取得したい。

例えば、リスト1、リスト2の2つが存在していて、リスト1に存在しないリスト2の要素を
リスト1に追加した新たなリストを作りたい。

list1 =[“a”,”b”,”c”]
list2=[“a”,”c”,”d”]
hashmap = {}
list3= []

# 解雇リストにある要素を連想配列に追加
for i in list2:
hashmap[i] = i

# 連想配列にない要素を追加
for i in list1:
if hashmap.get(i) is None: list3.append(i)

元記事を表示

canmatrixを含むasammdf のExe化

# asammdf を Exe化すると警告が表示される
[asammdf GUIをExe化する](https://shibaura-it.tokyo/it-solution/asammdf-gui-exe/) をみると簡単にexe化できそうにみえるが、
Python-3.8.10、asammdf-7.3.2の場合、試すとこんな警告が出る。

“`
arxml is not supported
csv is not supported
dbc is not supported
dbf is not supported
json is not supported
ldf is not supported
kcd is not supported
fibex is not supported
sym is not supported
xls is not supported
xlsx is not supported
yaml is not supported
scapy is not supported
wireshark is not supported
odx is not supp

元記事を表示

[備忘録] Optunaの探索結果をUMAPで可視化する

ハイパパラメータが3つ以上存在する場合,探索結果の可視化はなかなか難しいです.
今回はUMAPを利用して探索結果の可視化を行います.

“`python
import matplotlib.pyplot as plt

import numpy as np

import optuna

import umap

DIM = 6
SEED = 42
N_SAMPLES = 1000
N_GRID = 50
LB, UB = -5, 5

def func(X: np.ndarray) -> np.ndarray:
return np.sum(X ** 2, axis=-1)

def objective(trial: optuna.Trial) -> float:
X = np.asarray([trial.suggest_float(f”x{d}”, LB, UB) for d in range(DIM)])
return func(X)

def get_mapper():
rng = np.random.RandomState(SEED)

元記事を表示

Pythonでディレクトリとファイルを作成する方法

# はじめに
Pythonでディレクトリを作成し
その直下にファイルを作成する方法をまとめた

# コード
“`python
# testディレクトリに権限を付与
os.chmod(‘test’, 0o777)

# testディレクトリの直下にsampleディレクトリを作成
os.makedirs(‘test/sample’)
# sampleディレクトリ直下にhello.txtファイルを作成
with open(‘aaa/sample/hello.txt’, ‘w’) as file:
file.write(‘あいう’)
“`

os.chmodでディレクトリに権限を付与する処理で私の環境だと
0の後にoを付ける必要がありました。
権限の種類については、この記事を参考になりました。

https://qiita.com/lulucowcow/items/7e69e36e5559f896a66d

os.chmodでディレクトリに権限を付与する時はstatモジュールを使って下記のように設定できます
“`pythony
# 権限の設定
permission = stat

元記事を表示

Db2 Warehouse on CloudのREST APIを使用したデータロード (python & curl)

Db2 Warehouse on CloudはREST APIで操作可能です。
APIドキュメントは[こちら](https://cloud.ibm.com/apidocs/db2-warehouse-on-cloud)。
なぜが微妙に[Db2 on CloudのREST API](https://cloud.ibm.com/apidocs/db2-on-cloud/db2-on-cloud-v4)と仕様が違っていたので、[Db2 on CloudのREST APIを使用したデータロード (python & curl)](https://qiita.com/nishikyon/items/cf45ffa83334444674dc)という記事を以前書きましたが、コピって修正してDb2 Warehouse on Cloud版も今回作成しました。

なので、Db2 on Cloudの場合は[こちら](https://qiita.com/nishikyon/items/cf45ffa83334444674dc)を参照してください。

当記事ではDb2 **Warehouse** on Clo

元記事を表示

YouTubeAPIのレスポンス値を新規ファイルに書き込んで保存する

# はじめに
Pythonで、YouTubeAPIを使って遊んでいて
レスポンス結果をprintして、
これを見やすいように整形して…とすると大変だったことや
他の人に見せる時に(荒いですが)保存していたら楽だなと思い作成してみました

# 仕様
日時のファイル名のファイルを作成し
そこにAPIのレスポンスパラメータを書き込んで保存する

# コード
“`python
import json
import requests
import datetime

# 現在日時を取得し、str型のYYYYmmddHHMMSS形式にします
date = datetime.datetime.now().strftime(‘%Y%m%d%H%M%S’)

apiKey = ‘ここにYouTubeAPIのKeyを設定’
channelId = ‘ここにチャンネルIDを設定’

# APIリクエストを送信して、動画の一覧を取得
url = f”https://www.googleapis.com/youtube/v3/search?key={apiKey}&channelId={channelId

元記事を表示

Pythonデータ加工での自動テスト: pandas & pytest

# Pythonデータ加工での自動テスト: pandas & pytest

## やること

– pandasによるデータ加工をpytestで自動テストする

## 対象読者

– Python, pandasでのデータ加工を普段やってる人
– データ加工処理の品質を向上させたい人

## 背景

– データ分析の現場ではテストがほとんどなくて、処理がちゃんと正しく動いているのか自信を持てなかった。
– SIerの現場でテストをした際、「これ、人間がやる必要ある…?」と感じた。
– 本を読むと、世のプログラマーは「テストコード」なるものを書き、「自動テスト」をしているそうではないか。
– Pythonではどのように自動テストをするのか…?__pytestだ!!__

## お断り

– とりあえずpytestを導入するということをテーマとした記事です。あんまりスマートなコードではないです。
– そもそも筆者は探り探りでやっているので、ベストプラクティスはわかっていないです。お気づきの点がございましたら教えてください。

## トピック

– ファイル形式
– 関数として記載する

元記事を表示

【Python】Google検索するコマンドを自作してみる

# 経緯
応用情報技術者試験のお勉強で横文字がたくさん出てきて、 **「この単語の意味なんだっけ?」** ってなることが多い。
あれだよあれ、喉元まで出てきてるんだけどね。

なので**ググるほどでもないけど、意味をちょっくら調べたいとき**にターミナル上で調べるコマンドを作ってみようと思った。

> ちょっくら調べたいが重要

実際、ターミナルから調べるようなコマンドは誰かが作ってるのでそれを使えばいい話ではあるんだけども、結果は1,2行くらいで良いのだ。

https://github.com/jarun/googler

# 作ってみる

googleで調べたときに出てくる、ボックス?(なんて言うのかわからないので教えてほしい)みたいなやつは要約して単語の意味を教えてくれる。

![スクリーンショット 2023-02-08 19.23.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/777324/96c7d648-df3d-b389-9ad7-17bedf28f191.png)

`pyth

元記事を表示

Common Lisp 自作関数・マクロ紹介

# plot
“`common-lisp
(ql:quickload :plot/vega)

(defun plot (lst)
(plot:plot
(vega:defplot plot
`(:data ,(plot-list-to-plist lst)
:mark line
:width 480
:heigth 320
:encoding (:x (:field 😡
:type :quantitative)
:y (:field :y
:type :quantitative))))))

(defun plot-list-to-plist (lst)
`(:x ,(make-array (length lst) :initial-contents (qutimes (i (length lst)) i))
:y ,(make-a

元記事を表示

エンジニアインターン13日目

lambdaの関数urlを使ってDBから一定の情報だけを取って配列に渡す機能を実装しようとした。apiの知識も食い込んできて難しかった。先輩エンジニアが何回も優しく説明していただきとても助かった。しかし、完成まではいかなかった…また次チャレンジだ!エンジニアインターンも約1ヶ月の期間が過ぎた。1ヶ月間で学んだことはエラーの解決法やwordpress,awsなどの新しい技術をたくさん学ぶことができた。まだまだできないことだらけだが、自分に新しい技術を任せていただき、課題にぶつかりながら成長できる環境だと思う。毎日感謝を忘れずに一生懸命にやっていきたい。

元記事を表示

Pythonのf-stringの!

# 手短に
下記のような表示をしたかった。
“`
a=1
b=’hello’
“`
文字列の時はクオーテーションマークをつけたいが、`f”b={b}”`だとうまく行かない。
こうすると良い。
“`python
print(f”b={b!r}”)
# b=’hello’
“`
`!`以降はconversionを示す。
>“`
>replacement_field ::= “{” [field_name] [“!” conversion] [“:” format_spec] “}”
>field_name ::= arg_name (“.” attribute_name | “[” element_index “]”)*
>arg_name ::= [identifier | digit+]
>attribute_name ::= identifier
>element_index ::= digit+ | index_string
>index_string ::=

元記事を表示

stable diffusion 関連資料

# 初めに
Stable Diffusionに関する資料を集めておきます。定期的に更新します。

# プログラム
1. Web UI
1. AUTOMATIC111 本家: https://github.com/AUTOMATIC1111/stable-diffusion-webui
1. 設置方法:https://gigazine.net/news/20220831-stable-diffusion-windows-gui/
1. GUI Windows
1. NMKD :https://nmkd.itch.io/t2i-gui

# Prompt参照
1. Lexia: https://lexica.art/

# API
1. kerascv : https://keras.io/api/keras_cv/models/stable_diffusion/

元記事を表示

5分で作る【VS Code×Docker×Python環境】の作り方

# 概要
VS CodeとDockerのインストールが完了していることを前提に、5分程度でひとまず、Pythonを動かせる状況までもっていきます。**本当に必要最低限の環境だけ**作ります。

VS CodeでDockerを使い、Pythonで開発したいと思ったので、その備忘録として。

## 環境
Windows11です。
あと、VS CodeとDockerDesktopのインストールができている状況を想定しています。

## 事前準備
VS Codeの拡張機能から『Dev Containers』と検索してインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/687015/9372edc0-90be-2e36-bbd8-075accc89a83.png)

どこでも良いので、テキトーにフォルダを作ります。
“`
└ .devcontainer/
  ├ devcontainer.json
  └ Dockerfile
“`

そしたら、“`devcontainer.

元記事を表示

poetryのomegaconfで躓いた話

# はじめに
私は研究をpoetry上で行っていたのですが、ある時を境にエラーが発生して解決に時間がかかりました。その備忘録として今回の記事を書こうと思いました。

# エラーメッセージ
いつも通り研究をしようと思ったら、突然以下のようなエラーメッセージが出ました。
> ModuleNotFoundError: No module named ‘omegaconf’

今まで出たことのないエラーでしたし、変更を加えた点から出たわけでもないので原因が分かりませんでした。

# 試したこと
– pipでomegaconfをインストール
⇒omegaconfが無いと言われたため

– poetryのtomlファイルの変更
⇒インストールしたモジュールを反映するため

– omegaconfをバージョン指定してインストール
⇒[omegaconfのリリース履歴](https://pypi.org/project/omegaconf/#history)を確認したら、当時バージョンアップが入っていたため

以上のことは試してもエラーメッセージが変わりませんでした。

#

元記事を表示

Python基本文法1(リスト、辞書、for文 編)

# 概要
Python初心者です。自分の備忘録用です。
どなたかの助けになれば幸いです。

# 勉強したサイト
[Progate](https://prog-8.com/dashboard)

# 文法

#### 複数のデータを取り出す
“`Python:ターミナル.
変数名s = [要素0,要素1,要素2,…]
#↑変数名は複数形が多い。
“`
“`Python:例.
animals = [‘dog’,’cat’,’owl’]
“`
全体のまとまりをリストと呼ぶ。

“`Python:例.
animals = [‘dog’, ‘cat’, ‘owl’]
print(animals)
“`

“`Python:例の結果.
[‘dog’,’cat’,’owl’]
#↑リスト全体で取得できる
“`

要素のインデックス番号は0,1,2,3…と続いていく
上の例で見ると0=dog,1=cat,2=owl

#### リストの要素を取得する
“`py:文法
変数名s = [要素0, 要素1, 要素2…]
print(変数名s[インデックス番号])
“`

元記事を表示

python-oracledbでDPY-3015が出た時の対策

# TL;DR

“`terminal:terminal
$ pip install oracledb
“`

“`Python:test.py
import oracledb

oracledb.init_oracle_client() # <- これが重要!!! con = oracledb.connect('%connect_string%') cur = con.cursor() cur.execute('SELECT * FROM dba_users') for row in cur: print(row[0]) cur.close() con.lose() ``` cf. [3.1. Enabling python-oracledb Thick mode](https://python-oracledb.readthedocs.io/en/latest/user_guide/initialization.html#enabling-python-oracledb-thick-mode) // 本文は後でかきます

元記事を表示

OTHERカテゴリの最新記事