Python3関連のことを調べてみた

Python3関連のことを調べてみた
目次

[Python]数字を扱うときの型の注意(整数型,文字列型)

# 本記事の概要
本記事は数字を扱うときに整数型,文字列型どっちで扱うのかを注意しない自分が困りますよという内容です.

## 早めの結論
1. ソート順が異なります
1. 言語によって等価演算の扱いが異なります

## 注意1: ソート順

“`Python
# リスト
int_list = [i for i in range(20)] # 整数型のリスト
str_list = [str(s) for s in range(20)] # 文字列型のリスト

# ソート
int_list = sorted(int_list)
str_list = sorted(str_list)
“`

ソート順確認
“`Python
print(int_list)
print(str_list)

# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
# [‘0’, ‘1’, ’10’, ’11’, ’12’, ’13’, ’14’, ’15’, ’16’, ’17’, ’18’, ’19’, ‘2’,

元記事を表示

本当に最低限だけ覚えて一瞬で使い始めるPolars入門

# はじめに

株式会社LITALICOでエンジニアをしています@yknoguchiです。
この記事は[『LITALICO Advent Calendar 2023』](https://qiita.com/advent-calendar/2023/litalico)10日目の記事です。

ちなみに今日は僕の誕生日でもあります。めでたい!
来年もきっと誕生日駆動アドベントカレンダーをやると思います。

## この記事の特徴

:::note info
この記事では、Polarsの詳しい使い方の解説は行いません。
:::

この記事の目標は、以下のとおりです。

**「これを読むことで最低限のPolarsの使い方を覚え、とりあえずすぐにPolarsを触れる」**

QiitaにはPolarsの解説記事が上がっていますので、詳しい使い方はそちらをご確認ください。この記事ではあくまでPolarsを始める最初の一歩を想定しています。そのため、必要最低限の機能しか紹介していません。

## Polarsとは

Polarsとは、Pythonで大量のデータフレームを集計するときに使用するライブラリで

元記事を表示

Fast Whisperのpydoc version 0.10.0

ローカルで動かしてみたかったけど、関数の引数がよくわからなかったので、large-v3とやらも試してみたかった。

ちなみに、whisperのGPU対応済んでたら、8G搭載GPUだったし、以下一行で問題なく動きました。(もちろんGPUの搭載メモリ少ないと問題起きるのだろうけど)

“`
pip install faster-whisper
“`

計測はしてませんが、たしかに速いです。

“`
Help on package faster_whisper:

NAME
faster_whisper

PACKAGE CONTENTS
audio
feature_extractor
tokenizer
transcribe
utils
vad
version

CLASSES
builtins.object
faster_whisper.transcribe.WhisperModel

class WhisperModel(builtins.object)
| W

元記事を表示

paizaでのレーディングチェック(python3)【1724】

先月ぐらいからpaizaでレーディングチェックをしてきましたがこの辺りが今の限界かな。。
python3
![paiza.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638856/fa74764e-f7c3-8666-99f6-4ace0ecfaa6f.jpeg)
・Aランクの感想と気を付ける点
数学的、情報理論的基礎知識がちゃんと必要
やることさえ思いつけばコードは書けないことはないが
引き出しが少ないのでその思いつくが難しい
自分の数学知識は中学レベルも怪しいのでどうしても長考してしまうのと制限時間があるなかだとどうしてもあせっていい案が思い浮かばない
再挑戦で1週間ぐらい長考した問題もあった(やる気が少ないのもあるけど)

タイムアウトさせないため、効率的な処理をさせるためにどうするかとか
再帰関数を使用しているならちゃんと無限ループに陥らないようにするとか

・B,Cランク
やってやれないことはないけど
早解きが苦手、あとケアレミスが多い
例えば配列の中を2個づつ3個づつ見ていくみたいな処理

元記事を表示

Pythonを使用したAzure Functionsでサードパーティー製のライブラリ導入方法

# かけた時間の割にとてもシンプルだったので共有

まず、Pythonを使用したAzure Functionsの作成方法はMicrosoftのドキュメントを参照。

https://learn.microsoft.com/ja-jp/azure/azure-functions/create-first-function-vs-code-python

次に、生成されたファイルの **「requirements.txt」** の中に導入したいサードパーティー製のライブラリの名前を記載するだけ。

例:numpy と scikit-learn を追加
“`requirements.txt
# DO NOT include azure-functions-worker in this file
# The Python Worker is managed by Azure Functions platform
# Manually managing azure-functions-worker may cause unexpected issues

azure-functions
num

元記事を表示

QRコードを生成したり読んだりしてみた

# はじめに
こんにちは、チョコレートの入っているアドベントカレンダーを12/1に完食したさこもなです!

# Wifi?Bluetooth? いいえ、カメラです
私がとある電子工作をしていた時、データを Raspberry Pi に送りたかったのですが、ラズパイにはカメラを接続していたので、それを活用できないかと考え、QRコードを利用することに決めました。

# QRコードについて
日常において、QRコードを見ないことはないのではしょうか。
そんなQRコードと聞いたら、皆さんは何を連想しますか?
一般的には「URL」を取得するイメージが強いと思います。
だがしかし!実はURL以外にもテキスト形式など様々なデータを設定することができるのです。

今回その際にQRコードの読み取りにつまづいたので、それをここにメモしていこうと思います。

ちなみに、QRコードに埋め込める情報量は、バイナリだと約3000バイトほどだそうです( -`ω-)✧

# Raspberry Pi でQRコードを読み取ってみる
サンプル用のQRコードを生成には「[QRのススメ](https://qr.quel.

元記事を表示

炭酸イオンかどうかの判定アルゴリズムの作成(ログ)

## 目標
POSCARファイルから,炭酸イオンを含むどうかを判定するアルゴリズムを作成する.

## 前準備
0-1.元素種C, Oを含むPOSCARファイルから,POSCAR.nnlistを作成し,CとOの結合距離の分布図を描く.
0-2.1.より炭酸イオンのCO間の結合距離の最大値を推定する.

## 結合探索アルゴリズム
1.POSCARファイルが元素種C, Oを含む
2.POSCAR.nnlistにおいて,原子Cから0-2.のCO結合距離以内に,原子Oを3つ以上含む,中心原子Cが存在する.
####### 条件1:原子Cから原子Oに対して,結合手がちょうど3本生えているか? #######
3.2.の中心原子Cに対して,
1番近い原子がOであり,かつ2番目に近い原子もOであり,かつ3番目に近い原子もOである,中心原子Cが存在する.
4.2.の中心原子Cに対して,4番目に近い原子が
存在しない場合 → 条件1をクリア.
存在する場合 → 5.に進む.
5.2.の中心原子Cに対して4番目に近い原子が,0-2.で推定されるCO間結合の最大値より大きい.
→ 条件1をクリア.

元記事を表示

部分配列 Python3編

https://paiza.jp/works/mondai/array_primer/array_primer__partical_array

私が書いたのはこれ

“`py
A,B,N = map(int,input().split())
S = list(map(int,input().split()))
for i in range(len(S)):
if i + 1 >= A and i + 1 <= B: print(S[i]) ``` ただ、rangeだと範囲指定ができるのでforループの部分を 下記のようにしてもよい どっちかと言うと下がいいかも ただ`range`関数の癖には注意かも ```py for i in range(A-1,B): print(S[i]) ```

元記事を表示

配列の要素の入れ替え Python3編

https://paiza.jp/works/mondai/array_primer/array_primer__array_elm_change

私が書いたのはこれ

“`py
A,B,N = map(int,input().split())
S = list(map(int,input().split()))
for i in range(len(S)):
if i + 1== A:
tmp = S[B-1]
S[B-1] = S[A-1]
S[A-1] = tmp
break

for i in S:
print(i)

“`

でもよく考えたら、
べつにif文なくてもそのまま変えたらいいだけだった。。。
答え見てわかってしまったorz

元記事を表示

はじめてのデータコンペを振り返ってデータ分析するのにまず何をすればいいのかまとめてみた

## この記事の内容

 この記事では私自身の体験について「データ分析ってなにそれおいしいの」から
 「データ分析やったことあります」になるまでの過程を振り返っています。

 その過程を著し読んで頂くことによって
 データ分析を始めてみたい人へのとっかかりをつくることを目的としています。

 そのため技術的な紹介は控えめに、データ分析ってどんな流れでやるのだろうか
 ということを想起させることを主眼において書いています。

 気軽な読み物として読んでいただいて
 データ分析を始めることのサポートになればうれしいです。
####    想定対象読者
   ・データ分析をやったことがない、これから始めようとしている人
   ・データ分析コンペに参加してみようと思っている人

####    想定読了時間
    3分(流し見でOK)
## 準備
####    実行環境として必要なもの
   データ分析をするのに特別なものは不要です。
   今これをみているPCがあれば最低限のデータ分析はできます。
   会社のPCで実行するときは各企業のルール申請に則った手続きをしまし

元記事を表示

【Python】「__main.py__」とは何か?このファイルから他のモジュールを実行する方法

# 概要

前回、`if __name__ == ‘__main__’:`ブロックについて解説しました。
[【Python】「if __name__ == ‘__main__’:」ブロックの意味とは?スクリプト実行とモジュール読み込み](https://qiita.com/Ryo-0131/items/68b3eaff7f0653457437)

この`__main__`に似た概念として、`__main__.py`という特別なファイルがあるので、これも一緒に整理してみました。

## 前提

ディレクトリ構造は以下の通りです。

“`
my_package
├── __init__.py
├── __main__.py
└── module_example.py
“`

`__main__.py`のコードは以下の通りです。

“`__main__.py
def main():
print(“ここから始まるよ!!”)

if __name__ == “__main__”:
main()
“`

上記の`if __name__ == “__main__”:`って何し

元記事を表示

Pythonのデコレーター(例:Flaskにおける`@app.route`の`@`)

# 1. デコレータの基本
デコレータは、他の関数を引数として受け取り、それを「ラップ」する新しい関数を返す関数です。この「ラップ」された関数は、元の関数に何らかの追加機能を提供します。

### ネスティングされた関数(クロージャ)

Pythonでは、関数内で別の関数を定義することができます。この内側の関数は、外側の関数のローカル変数にアクセスできるため、クロージャとして機能します。デコレータでは、このネスティングされた関数(通常「wrapper」と呼ばれる)が、元の関数をラップして追加機能を提供します。

### デコレータの文法表現

デコレータを使用する際、`@`記号の後にデコレータ名を記述し、それをデコレートされる関数の定義の直前に置きます。この記法は、デコレータ関数を呼び出して返された「ラップ」された関数を、元の関数に適用するシンタックスシュガーです。

たとえば、以下のようにデコレータを使用します:

“`python
@my_decorator
def my_function():

“`

これは以下のようなコードの短縮形です:

“`pytho

元記事を表示

【Python】「if __name__ == ‘__main__’:」ブロックの意味とは?スクリプト実行とモジュール読み込み

# 概要
Pythonのコードで`if __name__ == ‘__main__’:`というIF文をたまに見かけますよね。Djangoなら`manage.py`で見ます。

これってどういう挙動なんだ?って思ったのでサンプルコードで作って確認してみました。

## サンプルコード

“`module_example.py
def say_hello():
print(“もちろんこれも直接実行の時だよ!”)

print(“これはいつでも表示されるぞ!”)

if __name__ == ‘__main__’:
print(“これは直接実行される時だけ表示されるよ!”)
say_hello()

def sample_function():
print(__name__)
sample_function()
“`

## スクリプト実行とモジュールとしての読み込みとは?

上記のスクリプトを実行すると以下が出力されます。

“`
python3 module_example.py
“`

“`
これはいつでも表示されるぞ!
これは

元記事を表示

Python のリストってやつは…

# Python のリストについて,残念に思うこと。

### sum はできるのに…

リストについて,まともな操作は殆どできない。

“`python
my_list = list(range(1, 100001))
“`

sum(), min(), max() ができるのは,信じられないくらい稀有なこと。

“`python
sum(my_list)
“`

5000050000

mean(), std() そのほか,できるものがない。

“`python
mean(my_list)
“`

—————————————————————————

NameError Traceback (most recent call last)

Cell In[4], line 1
—-> 1 mean(my_list)

NameError: nam

元記事を表示

LangChainでChatGPTの返答をストリーミングレスポンスでSlackに返却する

1. Slack Botにメンションしてメッセージを送る
1. まず、「Typing…」とスレッドに返信が来る
1. ストレーミングレスポンスで徐々に返信が更新されていく

“`
import os
import re
import time
from typing import Any

from dotenv import load_dotenv
from slack_bolt import App
from slack_bolt.adapter.socket_mode import SocketModeHandler
from langchain.chat_models import ChatOpenAI
from langchain.callbacks.base import BaseCallbackHandler
from langchain.schema import LLMResult

CHAT_UPDATE_INTERVAL_SEC = 0.4

load_dotenv()

# ボットトークンを使ってアプリを初期化
app = App(
signing

元記事を表示

何番目にある? 1 Python3編

https://paiza.jp/works/mondai/array_primer/array_primer__search_i-th_step1

短くするなら
“`py
A =[1,10,2,9,3,8,4,7,5,6]
print(A.index(8)+1)
“`
ただ、この練習を活かすには

“`py
A =[1,10,2,9,3,8,4,7,5,6]
for i in range(len(A)):
if A[i] == 8:
print(i+1)
“`

元記事を表示

それ,numpy で書かない?–3–

## それ,numpy で書かない?–3–

Python ではリストがよく使われる。また,for ループが遅いのでリストに特化したリスト内包表記も推奨されることが多い。

それなりの根拠があるからではあるが…

課題:エラトステネスの篩を使って $n$ 以下の素数のリストを得る。

“`python
from time import time
import numpy as np
import matplotlib.pyplot as plt

n = 100000
trial = 500
“`

以下のプログラムは,この次に示す numpy によるプログラムをリストを使うように書換えたものである。

“`python
def sieve1(n):
tbl = [True] * (n + 1)
tbl[0:2] = [False, False]
for i in range(2, n + 1):
if tbl[i]:
for j in range(i * i, n + 1, i):

元記事を表示

「あぁ、そうか 家で(サーバー負荷考えないで)ネットラジオ流すなら家で HLS にさせちゃえばいいんだ!」と思い”(今のところ)最低限の機能”だけ実装した話

# はじめに
## ????「ちょっと何言ってるかわからない」
複数の端末を持っていると台数制限とかサーバーの負荷とか考えないで聴く方法を考えたらそうなりました。

## もうちょっと詳しく
複数の端末でいろんな配信プラットフォームのアプリがあると~~使ってない間に非使用アプリとして再度ダウンロードしなきゃいけないのとか~~イラッとしませんか? そういうのが嫌だったので作ってみることにしました。
~~あと「[Heart FM](http://heartfm.jp/) さんが開局して([ジェイムス・ヘイブンス](https://www.facebook.com/jameshavensdj/)さんや[ピストン西沢](https://www.youtube.com/@djPiston2438)さんの番組を)録音する環境を再整備しなきゃ」と思ったのも大きいかなぁと。~~

## ちなみに
発想は「[burrocargado/RadioRelayServer](https://github.com/burrocargado/RadioRelayServer)」のソースを見て「こういう感じだったら

元記事を表示

Python 掲示板 などの参考資料

一応、まとめて記録として。
pyton は起動時に-X utf8 を付けると使えるようになるから
“`Python
#!C:/Python3/python_3_12_0_embed_amd64/python -X utf8
# coding=utf-8

print (‘Content-type:text/html’+’\n’+’\n’)
print (‘pyton_v3

test decoder3

‘+’\n’)
print (‘

日本語を話せる、システムです。「This is a system that allows you to speak Japanese.」
\n’)
print (‘カンニングペーパー「コピペオンライン英和翻訳 『Multilingal Online Translation』」はMicrosoftストアーで。
\n’)

元記事を表示

【matplotlib】Pythonで学術論文クオリティの散布図を作ろう

# 0. はじめに
今回は化学の学術論文で使用できるレベルのグラフを Python のモジュールの一つである Matplotlib を用いて作成します.
グラフによって使う設定が異なるので,初回は最も基本的な散布図を対象に説明します.

## 本記事で学べること
– Python, Matplotlib を用いた散布図の作成手法
– 検量線の作成に必要な基礎的な単回帰分析の手法
– Matplotlib の散布図に関する関数や引数の知識
– 学術論文に使用するグラフの要件と作り方

## 対象とする読者
– 基本的な Linux の操作, Python3 の文法が分かる人
– Matplotlib で学術論文クオリティの図が書きたい人
– 有料のソフトウェアを使わないことに快感を憶える人
– Matplotlib の公式リファレンス[^1]を読むのは大変という人

## 対象としない読者
– りぬっくす?ぴちょん?なにそれ美味しいの?という人
– 色鮮やかで見栄えの良いグラフを描きたい人
– 商用ソフトウェアで満足できる人
– Matplotlib の公式リファレンス[^1]を読みこな

元記事を表示

OTHERカテゴリの最新記事