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

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

Python タプル

#はじめに
基礎から定着させていこうということでタプルについてまとめました。
Python 3.8.2

#タプルの作成
“`python:tuple.py
t = (1,2,3,4,5)

print(“t is”,type(t))
print(t)
“`

“`:出力結果
t is
(1, 2, 3, 4, 5)
“`

要素が一つでもタプルは作成できるが、「,」を忘れずに

“`python:tuple.py
t1 = (1,)
t2 = 1,

print(“t1 is”,type(t1))
print(t1)
print(“t2 is”,type(t2))
print(t2)
“`

“`:出力結果
t1 is
(1,)
t2 is
(1,)
“`

#タプルの要素の追加
“`python:tuple.py
t = (1,2,3,4,5)
print(t[0])
t[0] = 10
“`

タプルに要素を追加しようとするとエラーが発生する

“`:出力結果
1

元記事を表示

PythonでTLE, MLEが出たときに試すといいこと

##環境
[AtCoderコードテスト](https://atcoder.jp/contests/apg4b/custom_test “AtCoderコードテスト”)
Python 3.8.2
PyPy 3.7.0
Cython 0.29.16

##この記事について
競技プログラミングをPython3でやっている際にTLE, MLEが出たときの対処法を、あまり見かけない情報に絞って書き連ねていきます。※計算量改善ではなく、定数倍高速化についての記事です
本記事内でのそれぞれの言語のバージョンは、「環境」で示したものとし、以降バージョンは省略させていただきます。
本記事内では、「環境」で示した3つの言語の総称として”3言語”という言葉を使用いたします。
実行は全てAtCoderコードテストで行っています。
細かい仕様などに触れた記事ではありません。チートシートの様な使い方をしていただけたら幸いです、

##3言語のうちどれを使えばいいのか?
この3言語は、それぞれ特徴があります。この後にある程度の紹介・比較はしますが、基本的にはPyPyを使用することをお勧めいたします。

##PyPy

元記事を表示

プログラミング学習Ⅱ Day1

– aaa

# クラス
– オブジェクトを定義する機能をクラスという
– クラスから作成されたオブジェクトをインスタンスという
– クラス内で関数を定義するとそれはメソッド。”.”で表現する
– l.append()もメソッド
– クラスとインスタンスは別
– クラスは定義をするだけ
– 中身ができたものがインスタンス

“`python
class クラス名:
ブロック
“`

元記事を表示

Python3でCGIチャレンジ4 dictionary型でファイル読み書き

#作業フォルダ
ps4

#作業

##index.htmlの作成

“`html:index.html


入力1
入力2





“`

##cgi-binフォルダの作成

##dictWrite.pyの作成。cgi-bin配下に

元記事を表示

初心者による初心者のためのPython

#はじめに
今回2回目の投稿ですが最近授業でやっているPythonについて書こうと思いました。Pythonは10月くらいに始めたばかりでまだまだ初心者です。ちょっとずつやっていく中で「これよく見るな〜」と思った関数について書いていこうと思います。pythonのバージョンは3.8.8です。
#print()
print()はよく使う関数です。

“`halloworld.py
print(“Hallo World”)
print(20)
“`
画面に文字列や数値などを表示させたいときに使います。
#input()
これはキーボードからの入力を受け付ける関数です。

“`name.py
name=input(“名前を入力してください”)
print(name)
“`
「名前を入力してください」など入力して欲しい内容を指示する文も書くこともできます。
#str()とint()
“`year.py
year=19
print(“私の年齢は”+str(year)+”です。”)
“`
“`count.py
count=input(“何個ですか?”)
print(“個数は”+str(1

元記事を表示

Python3でCGIチャレンジ3 ファイル読み込み

#前提
Python3でCGIチャレンジ2後

#作業フォルダ
ps1

#作業

##index.htmlを修正。

“`html:index.html



入力1
入力2




“`

##readFile.pyを作成。cgi-

元記事を表示

Python3でCGIチャレンジ2 ファイル書き込み

#前提
Python3でCGIチャレンジ1後

#作業フォルダ
ps1

#作業

##sample.pyを修正。

“`python:sample.py

import cgi
import cgitb
cgitb.enable()

print(“Content-Type: text/html”)
print()

form = cgi.FieldStorage()

f = open(‘file.txt’, ‘a’, encoding=’UTF-8′) # add

for key in form:
value = form[key].value
print(‘

%s: %s

‘ % (key, value))
f.write(‘%s: %s, ‘ % (key, value)) # add

f.write(‘\n’) # add
f.close() # add

“`

##ターミナルでコマンド実行して、ローカルでCGIサーバーを起動する。

“`
python -m http.server

元記事を表示

Python3でCGIチャレンジ1 フォーム送信

#はじめに

学んだことをもう一回調べ直さなくて済むよう記録することにした。

#前提

– VisualStudioCodeがインストール済み
– Python3インストール済み

参考までに現在のVisualStudioCodeのバージョンは、1.62.3。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401158/5fbb317f-b7c9-a8ec-e7a5-0a93b03f7a11.png)

#下準備

VisualStudioCodeのファイルからフォルダーを開くで、サンプル用の作業フォルダを作成する。
適当にps1(PythonSample1の意)で作成。

#作業

##index.htmlを作成する。

“`html:index.html


元記事を表示

Zabbix API+Python3 で複数ホストのデータを一括取得!

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2021 (2枚目) の 3 日目として投稿しています。
2021年版(1枚目): https://qiita.com/advent-calendar/2021/cisco
2021年版(2枚目): https://qiita.com/advent-calendar/2021/cisco2 (これ)

# はじめに
早いもので 2021 年も年末になりました。一年の締めくくりに、今年のデータ集計などを実施される方もおられるかと思います。Zabbix ではグラフを用いて集計をすることができますが、ホスト数が多いと大変です。そこで、Python3 で Zabbix API を利用し、複数ホストに対してデータを一括取得する簡易スクリプトを作成したので紹介します。ここでは最大トラフィック値を集計してみます。

### 動作結果(例)

“`
$ ./zabbixAPI.py

=== 一括取得スクリプト(期間:2021-10-01〜2021-10-31)===

ホスト名, アイテム名,

元記事を表示

とあるゲームにてバトルが始まるときのフェードアウト表現(黒い線が画面を回りながら暗転する)を簡易実装してみた

## 概要
とあるゲームにてバトルが始まるときのフェードアウト表現(黒い線が画面を回りながら暗転する)をどう実装すればいいのか考えて簡易的に実装してみましたという記事です。

以下のようなものです。
![effect.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344880/426956b3-1df9-40de-4b7b-345a313714b8.gif)

# 実装
ubuntu18.04環境で、python3, pyqt5を使用しました。

### インストール

“`
# pyqt5 install
pip3 install pyqt5
“`

### 処理

以下の2stepです

“`
– step1. コマンド実行時点のスクリーンショットを撮る
– step2. 黒色のブロックをpyqt5で順番に表示
“`

### step1. コマンド実行時点のスクリーンショットを撮る

“`
# スクリーンショット
gnome-screenshot -f test.png
“`

###

元記事を表示

Slack Python SDK でチャンネルにファイルをアップロードしよう

## slack-sdk を使おう

「[Python で Slack API や Webhook を扱うなら公式 SDK(slack-sdk/slack-bolt)を使おう](https://qiita.com/seratch/items/8f93fd0bf815b0b1d557)」シリーズの記事です。公式 SDK についての概要、他にも記事がリンクされていますので、[こちらのエントリーページ](https://qiita.com/seratch/items/8f93fd0bf815b0b1d557)にもアクセスしてみてください。

この記事では [`slack-sdk` PyPI パッケージ](https://pypi.org/project/slack-sdk/)を使って Slack にファイルをアップロードするコーディングについて解説していきます。

## files.upload API を使うだけ

と言っても、実は `files.upload` という API の使い方を理解するだけですので、とても簡単です。英語のみとなりますが、API ドキュメントは以下の URL です

元記事を表示

測定器の遠隔制御がわからん!を解決した

上司「ウチにあるスペアナなんだけど自動化できるかな?できるよね?(圧)」
上司「今度の検査で使うから」
上司「じゃ、頼んだわ」

ワイ「え?前にレンタルした奴じゃダメなんすか?」
ワイ「使用実績もありますけど」

上司「いや~あれ結構したんだよねえ~」
上司「あ、校正も出しといてね」

ワイ「へい…」

##今回の環境
###用意したもの
・PC(windows10)
・スペアナ (E4407B, Agilent)
・GPIB-USB変換ハブ (GPIB-USB-HS, NATIONAL INSTRUMENTS)
・資料を読み漁る根性

###使用技術
・GPIB
・Python(pyVisa)
・Google翻訳

##第一弾完成まで

ワイ「変換ハブのドライバをインストールして…おっっっも」
ワイ「スペアナ動かすのは公式でアプリかなんかあるやろ」[^1]
ワイ「Agilent時代の機器だけどKeysightで探して…」
ワイ「あるやん!チョッロ!」

しかし…

ワイ「英語でよくわからんけどなんかアラートが出てるな…翻訳したろ」

アプリ「その機器には対応してへんで。すまんな」

元記事を表示

自作PythonライブラリのGitHub Actionsの環境のキャッシュ利用やジョブの並列化などをやってみる

趣味で作っている自作のPythonライブラリ(PyPIにアップロードされてpipでインストールできるもの)のGitHub Actionsのジョブを並列化したり環境のキャッシュをしたりができないか・・・と色々検証したり等の備忘録です。GitHub Actionsに精通していないため煩雑なところなど結構あるかもしれませんがご容赦ください。

# 現在の状況

現在までの状態は以前記事にしています。

https://qiita.com/simonritchie/items/629a02fc1ad0fd02d267

フローは大まかに「環境の準備」 → 「各種Lintで引っかからないことをチェック」 → 「テストで引っかからないことをチェック」 → 「PyPIへのアップロード」 → 「README上のバッジなどの更新」 → 「アップロードされたパッケージのインストールなどのチェック」といった具合になっています。テストの環境も特定のPythonバージョンのみ(最低サポートバージョンのPython3.6)で実施されています。

図にすると以下のようになります。順番に直列で進んでいく感じです。

元記事を表示

AWSサービス上限緩和の状況を一覧で取得したい


#1. はじめに
エンジニアとしてAWSを利用していると、お客様(非エンジニア)とのギャップに気づくことが多々あります。
エンジニアとしては「コンソールから見れば済むのに」という内容も、お客様にとってはパラメータシートなど資料に起こして管理したいと思うこともあるようです。

今回は、サービス上限緩和の状況を一覧で取得しようと思います。
※プログラム歴が浅く、コード上の改善案があればコメント頂けると幸いです:sunny:

#2. 本記事の内容
いくつかの参考記事をベースにPythonのBotoCoreを使い
サービス上限緩和の状況をJSON形式で一覧として取得します。

#3. 実装内容
1. “list_services()“APIを使い、サービスコード一覧作成
– 1.の結果をINPUTにして“list_service_quotas()API“を使い、最新の上限緩和状況を取得
– 1.の結果をINPUTにして“list_aws_default_service_quotas()“APIを使い、デフォルトの上限緩和状況を取得
– 2.と3.の内容を抽出

元記事を表示

KaggleでPythonを学習しよう。

#はじめに

2021年の8月に[30 Days of ML](https://www.kaggle.com/thirty-days-of-ml)がKaggleで開かれました。

私もでしたが、この機会にKaggleを始めた方も多いのではないでしょうか?

30日間の最初の1週目は[Pythonのコース](https://www.kaggle.com/learn/python)を終わらせよう、ということでした。

この時にDiscord(現在は招待リンクがうごいていません)でいろいろと回答とかしていましたので、Discordサーバが生きているうちにまとめておきます。

# [Python](https://www.kaggle.com/learn/python)
Learn the most important language for data science.
ということで

1. Hello,Python
1. Functions and Getting Help
1. Booleans and Conditionals
1. Lists
1. Loops and List Co

元記事を表示

素因数分解入門:3.1 試し割り法 – 処理の内容

この記事は [FUJITSU Advent Calender 2021](https://qiita.com/advent-calendar/2021/fujitsu) の1日目の記事です。
– – –
本記事を含む一連の記事では, 合成数の素因数分解について紹介していきます.
– – –
1. はじめに
2. 準備
3. 素朴な素因数分解法
3.1 試し割り法
3.2 Fermat法
4. 一次合同式を用いた素因数分解法
5. 二次合同式を用いた素因数分解法
– – –

# 3. 古典的な素因数分解法

本章から具体的な素因数分解方法を紹介していきます. 本章で紹介する試し割り法と Fermat 法は古典的な素因数分解法として有名で, いずれも処理が単純で実装しやすいという特徴を持ちます.家庭用の計算機でも 20 $\sim$ 30 桁程度の合成数の素因数分解が可能ですが, 残念ながらそれより大きな合成数の素因数分解には向いていません. しかしほとんどの合成数は小さい素因数を持つので[^1], 性質が不明な合成数を素因数分解する場合, まず試し割り法や Fermat 法によって小さ

元記事を表示

季節の推しを判別させた

# はじめに
この記事は限界開発鯖アドベントカレンダー1日目(12/1)の記事です。
遅刻しました。
ハロウィンネタは間に合いませんでした。

## 自己紹介
isso0424です。
goとtsを一生書いてるオタクです。
[Twitter](https://twitter.com/kousou4129) [GitHub](https://github.com/isso0424)

# きっかけ
ハロウィン、クリスマス、正月のような季節のイベント、オタクになった結果これにちなんだ推しのイラストを見ることで季節を感じるようになりました。PCくんにもこの感情を教えてやりたいと思い立ったので作りました。

# 実装
今回はpytorchを用いました。
ハロウィン、クリスマス、その他の3クラスの分別を行います。
AI触るの2年ぶりで全てを忘れてるので雑なのは許してください。
ディレクトリの構造はこんな感じです。

“`
main.py
# データセット用のディレクトリ
data
– halloween
– christmas
– normal
“`

## データを読み込む

元記事を表示

FastAPI + Reactでフルスタックアプリを作成する

この記事は「[【マイスター・ギルド】本物のAdvent Calendar 2021](https://adventar.org/calendars/6579)」1日目の記事です。

本記事ではFastAPI + Reactを使ったシンプルなフルスタックアプリの実装方法の紹介および所感を行っていきます。

# 想定読者
– React + TypeScriptの基本的な書き方を理解されている方。
– FastAPIに初めて触れる方。
– React + FastAPIで実装してみたい方。

# 今回のゴール
– 簡単なCRUD処理を実装する。
– 記事の管理を想定。
– ユーザー認証機能はなし。

# 開発環境
– PC: MacBook Pro(Apple M1, 2021)
– OS: macOS Big Sur 11.4
– フロントエンド:
– Node.js 16.10
– React 17.0.2
– Typescript 4.1.2
– バックエンド:
– Python 3.9.7
– FastAPI 0.70.0

# 執筆の経緯
自分は普段フ

元記事を表示

リモート時代の「今どこにいるの?」をpythonで

この記事は NTTテクノクロス Advent Calendar 2021の2日目の記事です。

こんにちは。安田と申します!
NTTテクノクロスでAI関連の新製品創出を担当しています。
(例えば、こういうの → [BizFront/SmartUI Decision Manager](https://www.ntt-tx.co.jp/products/bizfront/sui/dm/))

さて、本記事では、pythonで「今どこにいるの?」をロギングする方法を見ていきたいと思います。コロナ禍以降になって、会社オフィスだけでなく、自宅も働く場所になってきました。出社と在宅が混在するようになると、「そういえば先週の火曜日って、どこで働いていたっけ?」って、良く分からなくなります。そこで、私なりの工夫として、肌身離さず持ち歩いているノートPCがその日はどこにあったのかをログに残すことにしています。

原理(どうして居場所がわかるの?)

ノートPCがそのときに掴んでいるWifiのSSIDとBSSIDの情報を取得できれば、どこにいるのかは分かると思います。

* SSID = Wifiの

元記事を表示

Python の asyncio は超便利

Python の asyncio ([公式ページ](https://docs.python.org/ja/3/library/asyncio.html)) は超便利なので紹介します。

# ■何が便利?

要するに JavaScript ではもはや当たり前になっている **async/await** が実現できます。
つまり、**非同期**(処理をしている間、同期して完了を待つのでなく、次の処理を実行するやり方)を実現します。
非同期により、全体の **処理速度を爆上げ** できる場合がよくあります。

例えば、外部サービスリクエストや、ファイル・DBへの読み書きなど、I/O関連は時間がかかる割にCPUは空いてたりするので、そこが有効に活用されるようになるわけです。

多くのシステムはI/Oが大量にあったりするので圧倒的です。

# ■それってスレッドでもできるのでは?

もちろん可能ですが、コンセプトが異なり、スレッドに比べて **圧倒的にお手軽** です。

スレッドと何が違うのかというと、主な違いは、スレッドは複数の処理が同時に走るということです。処理の裏で別の処理が同時に走

元記事を表示

OTHERカテゴリの最新記事