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

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

Windows 10 Pro + Python3 + xlrd を使ってみる

# 目的

Python3 + xlrd で ワークシート上のデータを取り込む
このコードをなぜ書いたのか覚えていないのだけど
python 3.13 にアップしたのでついでに試してみた
※パッケージのメンテはされていないようなので
※積極的に使う理由は無い気がする
ここで作成したファイルを取り込んでいる
[Windows 10 Pro + Python3 + OpenPyXL で CSVファイルを書き込んでみる](https://qiita.com/tabizou/items/3bc827eda11f58db42e6)

## パッケージの追加

PS C:\> pip install xlrd==1.2.0

## サンプルコード

“`python

# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
# coding:utf-8

# pip install xlrd
# xlrd-2.0.1 を install する -> 動作不可
# https://xlrd.readthedo

元記事を表示

秘境駅ランキングAPI叩いてみた

## はじめに
こんばんは!今回はほぼ素人の私が、先輩に教わった通りAPIを使えるのか、一人で復習がてら実践記事にしたいと思います!

## 開発環境
OS:Windows11
言語:Python 3.12.4
ライブラリ:python-dotenv 1.0.1, requests 2.32.3
## APIとは?
そもそもAPIがどういうものなのか、あんまりしっくりきていなかったので、改めて調べてみました。

>APIとは「アプリケーション・プログラミング・インターフェース」の略で、簡単に言えば、異なるソフトウェアやサービス同士が会話をするための「共通言語」や「取り決め」のようなものです。

>日常生活の例で説明すると:
レストランのメニュー:
APIはレストランのメニューのようなものです。お客さん(アプリケーション)は、メニュー(API)を見て、どんな料理(機能やデータ)が提供されているかを知り、注文(リクエスト)することができます。
電気のコンセント:
世界中の電化製品は、決められた形状のプラグを使ってコンセントに接続します。APIは、このコンセントのような役割を果たし、異なる

元記事を表示

python returnの使い方がわからなかった話(自分用)

pythonの関数内で使われるreturnの意味がよくわからなかったので、自分なりにまとめてみる。

1.returnとは

関数の末尾に記載されている文法である。
returnすることで、関数で処理した結果を関数外へ取り出すことができる
文章では伝わりづらいが、下記のようにコードで出力して比較するとわかりやすい
“`py
# 1~5の数字生成してリストに格納する関数( returnする場合 )

def num_list():
numbers = [i for i in range(1,6)]
return numbers

numbers = num_list()
print(numbers)

# 出力 ⇒ [1,2,3,4,5]

#1~5の数字を生成してリストに格納する関数( returnしない場合 )
def num_list():
numbers = [i for i in range(1,6)]

numbers = num_list()
print(numbers)

# 出力 ⇒ None # 何もデータがないという意味
“`
2

元記事を表示

python 関数の基礎(自分用)

pythonを学ぶ上で、避けては通れない関数について学ぶ。

1.基本編(再利用可能な関数)

関数の構造は次のようになっており、def 関数名(引数):と表される。
関数として定義しておくと、後からいつでも再利用が可能となるため、同じような処理が続く場合などは関数にすることを検討すること。
関数内に関数を書くことも可能であり、global変数やlocal変数という概念も出てくるが、それについては後ほどまとめることにする。
“`
# “Hello World”と出力する関数(引数なし)

def hello():
print(“Hello World”)

say_hello = hello()
# 出力 ⇒ Hello World

# 引数の計算結果を出力する関数(引数あり)

def add_calc(a,b):
c = a + b
print(c)
return c

result = add_calc(1,1)

# 出力 ⇒ 2
“`

2.lambda(無名関数)

計算の途中で1回だけ使いたい

元記事を表示

PyArmorの有料プランの購入方法と初期設定の流れ

## はじめに

Pythonコードの保護やライセンス管理に最適なツール、**PyArmor**。
今回は、私と一緒にPyArmorの有料プランを購入し、一緒にセットアップまでしていきましょう!

## 目次

1. [購入までの流れ](#購入までの流れ)
2. [購入後のセットアップの流れ](#購入後のセットアップの流れ)
3. [まとめ](#まとめ)

## 購入までの流れ

PyArmorの有名な購入方法は2つありますが、ここではPayPalを利用して購入する方法を紹介します。
この購入方法は、通常より5ドルほど安く購入できます。
早速、購入していきましょう!

### 1. サイトにアクセス

まず、以下のリンクをクリックしてPyArmorの購入ページにアクセスしてください。

[PyArmor購入ページ](https://jondy.github.io/paypal/index.html)

### 2. License To と Shipping Email の入力

購入ページにアクセスしたら、最初に**License To**(ライセンス名)と**Shipping Em

元記事を表示

Python3.13正式リリースが出ました!

# Python 3.13 新機能と変更点まとめ

Pythonプログラミング言語の最新安定版であるPython 3.13が正式にリリースされました。

https://www.python.org/downloads/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3114394/d2ed519d-76e8-7324-9aa2-56b755a5d4cf.png)

この記事では、[Python 3.13のリリースノート](https://docs.python.org/ja/3/whatsnew/3.13.html)に基づき、前バージョン(Python 3.12)からの主な変更点や新機能を解説します。

## ハイライト

Python 3.13では、言語自体、実装、および標準ライブラリにさまざまな変更が加えられています。主な変更点は以下の通りです:

– **新しい対話型インタプリタの導入**:ユーザーエクスペリエンスを大幅に向上させる新しい対話型シェルがデフォルトとなりました。

元記事を表示

[Python]自動で電子書籍をスクショしPDFで保存する

## はじめに
 電子書籍を1ページずつスクショしてPDFにまとめるのがめんどくさかったので自動化させてみました.
 ここでは自動化に用いたモジュールなどを説明したいと思います.実行コードはgithubにありますのでご自由にお使いください.

実行コード:https://github.com/ryosuke-noob/playground/blob/main/kindle/exec_all.py

## 環境
Apple M2
macOS Sonoma 14.6.1
Python 3.9.13

## 事前準備
以下のモジュールをインストールします.

fpdf2 : 画像をpdfに変換する目的で用いる.
(https://pypi.org/project/PyPDF2/)
pyautogui : スクリーンショット,ページ移動をする目的で用いる
(https://pypi.org/project/PyAutoGUI/)

“`
pip install fpdf2 pyautogui
“`

## 電子書籍の各ページをスクショ
スクショの撮影やページの移動にはpyautoguiを

元記事を表示

【Python】並列処理モジュールmultiprocessingを使うと、毎回結果が異なるケースがあるのか?競合状態とは

# 概要
Pythonで並列処理を行うことができる`multiprocessing.Pool()`を使ってみました。

並列処理を使うと、場合によっては、

「同じプログラムを走らせても、毎回異なる結果になる」

というケースがあること(=競合状態ともいう)がわかりましたので、そちらをサンプルコード付きで紹介します。

# 検証内容と前提
今回は、

「100レコードを保持するデータベースのテーブルから、100のレコードidを一定の塊(チャンク)に分割して、チャンクごとに並列処理でリストに代入していく」

という並列処理を想定します。

例えば、100件のレコードがある場合で、チャンクは10とします。
すると、`[0 – 9]`, `[10 – 19]`…といった形でまず塊を作成していって、それが4つたまったら、並列処理で一斉にリストの中の要素を別のリストに代入していく、という流れです。

この例で言うと、`[0 – 9]`, `[10 – 19]`、`[20 – 29]`、`[30 – 39]`の4つになったら、それぞれのリストの要素を共有リスト(ここでは`shared_list

元記事を表示

if文(if args.hoge:)がゼロ(0)を持つ変数を識別できるように書く必要がある理由

argparseを使って引数で受けた数値ゼロ(`0`)の条件処理でハマった問題。
まず数値を持つか否かで分岐してから数値判定したいとき、最初の分岐で横着して単に`if args.hoge:`と書くときに遭遇した。

まず、問題が起きない非ゼロの例
“`py
num = args.hoge #type=int
# num: int = 1

if num:
if num > 0:
print(“positive”)
else:
print(“zero or less”)
else:
print(“ERROR”)

# positive
“`
上記のように、`if num:`は`num`が正でも負でも動くが、実は`num`がゼロのときだけ期待通りに動いてくれない。
“`py
# num: int = 0

if num:
if num > 0:
print(“positive”)
else:
print(“zero or less”)
else:
print(“ERROR”

元記事を表示

python いろんなカッコがわからなかった話(自分用)

こんにちは。
絶賛python学習中に非エンジニアです。
当初、理解するのに苦労した3つのカッコについて記述する。

1. ():タプル
2. []:リスト
3. {}:辞書型(dict)
3. まとめ

1.():タプル

タプルの特徴:
イミュータブル(変更不可):

タプルは作成後にその要素を変更することができません。リストは要素の追加、削除、変更ができますが、タプルはそれができません。
カッコで表現:

タプルは通常、丸括弧 () で定義されますが、カンマがあれば括弧なしでもタプルとして認識されます。
複数の型を保持できる:

タプル内には異なるデータ型を持つ要素を含めることができます。例えば、整数、文字列、浮動小数点数などが混在していても問題ありません。

タプルの特徴的な用途:
イミュータブルであるため、データが変更されることを防ぎたい場合に使います。
関数から複数の値を返すときなどにもよく使われます。
“`
# タプルの例
tuple = (1, 2, 3, “apple”, “banana”)
print(tuple)

# 出力 ⇒ (1, 2, 3, ‘appl

元記事を表示

python 反復処理(自分用)

1.基本編(forを活用)

for構文:for 代入先 in 代入先へ入れる要素 というのが基本的な構造である。
“`
# for構文による反復処理
# iという代入先へ5回順番に代入する

for i in range(1,6): # range(1,6) ⇒ 1~5という範囲という意味(1~6ではない)
print(“Hello World”)

# 出力 ⇒ Hello World(5回表示される)
“`
2.基本編(whileを活用)

VBAにもwhileによる反復処理があり、こちらについては理解しやすい。
ちなみに無限ループに陥りやすい
while構文:while 比較する対象 比較演算子 比較対象 という構造である。

“`
# while構文による反復処理
# iが5より小さい間は繰り返すという意味

i=0
while i < 5: print("Hello World") i + = 1 # この記述がない場合、無限ループとなるため要注意!

元記事を表示

Python3: GATT で String データを送受信

通信相手のアドレスと Characteristic UUID を与えて、String を送受信する方法です。

## プログラム

“`py:send_get_data.py
#! /usr/bin/python
# send_get_data.py
#
# Oct/02/2024
# ——————————————————————
import asyncio
from bleak import BleakClient

DEVICE_ADDRESS = “2C:BC:BB:65:E8:5A” # デバイスのMACアドレスを入力
CHARACTERISTIC_UUID_READ = “7DEF8317-7301-4EE6-8849-46FACE74CA2A” # 通知を受信するキャラクタリスティックのUUID
CHARACTERISTIC_UUID_WRITE = “7DEF8317-7302-4EE6-8849-46FACE74CA2A” # 書き込みを行うキャラクタリスティックの

元記事を表示

python if構文(自分用)

1.基本編

if構文はif、elif、elseで構成される。(elif、elseは省略可能)

“`
# 変数aとbを比較し、結果をprint関数で表示する

a = 20
b = 10

if a==b:
print(“aとbは等しいです”)
elif a>b:
print(“aはbより大きいです”)
else:
print(“bはaより大きいです”)

# 出力 ⇒ aはbより大きいです
“`

2.ネストも可能

あまり深くなりすぎるとコードの可読性が下がるので、おすすめしません。
(エクセル表関数やVBAを使いこなしている方がよくやりがちなパターン)

“`
a = 50
b = 10
c = 30

# aとbを比較し、その後ネストによりaとcを比較する(ネストする場合)
if a > b:
print(“aはbより大きい”)
if a > c:
print(“aは最も大きい”)

# 出力 ⇒ aはbより大きい
# 出力 ⇒ aは最も大きい

# aとbを比較し、その後ネストによりaとcを比較

元記事を表示

Python認定基礎試験 setに関するメモ

Pythonエンジニア認定基礎試験の勉強メモです📝
ここでは`set`について。
# setとは
集合を扱うデータ型で、要素を重複しないように保持する。
setに要素を追加するには `add()`メソッドが使用できるが、要素同士は順序を持たないため
要素を取り出す時も、決まった順序で取り出されることはない。
集合同士で、演算も可能。

# set()関数で定義できる
`set()関数`の引数はリストやタプルなどの反復可能体。
“`python
# 引数: リスト
set_1 = set([‘a’, ‘b’, ‘c’, ‘d’])

# 引数: タプル
set_2 = set((1, 2, 3, 4))
“`

# 特定の要素を含むかどうかの判定
“`python
sample_set = {‘sample’, ‘keyword’}

print(‘keyword’ in sample_set) # True
print(‘password’ in sample_set) # False
“`
この処理の時間計算量は`O(1)`になる。

# set同士の演算

### 和集合

元記事を表示

Python認定 基礎試験 タプルのメモ

Pythonエンジニア認定基礎試験勉強中のメモです📝
この記事はタプルについて。

# タプルとは
複数の値を扱うデータ型。
一般的に `(‘apple’, ‘banana’, ‘peach’)`のようにカンマ区切りの要素を `()`囲む。
(※ 実際にはカンマで要素が区切られていればOKなので、()は省略できる)
一度定義されたタプルは、その後に要素の追加、削除、値の変更などはできない。
“`python
tuple_1 = (1, 2, 3)

# 既に定義されたタプルを使って、新たにタプルを定義することは可能
tuple_2 = tuple_1 + (4, 5,)

print(tuple_1) # (1, 2, 3)
print(tuple_2) # (1, 2, 3, 4, 5)
“`

## タプルの定義方法
“`python
# カンマ区切りの要素を括弧で囲む
tuple_3 = (‘dog’, ‘cat’, ‘mouse’)

# ()を省略した形もある
tuple_4 = ‘rice’, ‘bread’, ‘noodle’

# 要素が一つのときは末尾にカンマを

元記事を表示

独学でpythonを始めて挫折した話(自分用)

きっかけ

初めまして。
私は大企業で働く非エンジニアです。(IT企業ではない)
この記事では下記のついてまとめています
(自分の頭の中の整理をするためのアウトプット)

1.なぜpythonを始めたのか
2.すぐに挫折する
3.転機と学習再開まで
4.挫折した原因を考える
5.アウトプットする習慣を作る
6.今後の活動

1.なぜpythonを始めたのか

私は株式投資を行っており、各銘柄の信用倍率、貸借状況の各指標をチェックしていました。
正直、これが面倒だなって思ってた時にyoutubeで「pythonで自動化」みたいな動画を見て、「これやってみよう!」と思い立ち、pythonについて調べ始める。

2.すぐに挫折する

2021年1月
当時VBAを少しかじったことがある程度の知識しかなかったが、なんとかなるだろうと軽い気持ちでpythonに関する書籍の口コミを調べる。⇒Python3 基礎試験 スタックとキューとcollections.deque のメモ

Python3エンジニア認定基礎試験の勉強中です。
今日は問題を解いていて、あれ?となったスタックとキューについて、そこから派生して調べたcollections.dequeの処理が効率的な理由を簡単にメモを残します。

# スタック
**LIFO : 後入れ先だし = 最後に追加したものが最初に出てくる**
`push : スタックにデータを追加すること`
`pop : スタックからデータを取り出すこと`
“`python
# 簡単な例
stack = []
stack.append(1) # pythonではpushをappend()を使用
stack.append(2)
stack.append(3)
print(stack) # [1, 2, 3]
print(stack.pop()) # pythonではpop()を使用 -> 最後に追加した 3 が取り出される
“`
# キュー
**FIFO : 先入れ先出し = 先に追加したものが先に出てくる**
`enqueue : キューにデータを追加する`
`dequeue : キューからデータを取り出す`

“`python

元記事を表示

【色変記事】AtCoderで入茶した件

# 始めに
初めましてyuumaと申します。
ABC373で初めての色変を体験したので色変記事というものを書いてみようと思います。
![スクリーンショット 2024-10-04 135742.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3896155/b2469dc4-9b69-ba9a-0c97-541293a7b19c.png)
# 自己紹介
* 国立理系の大学一年生
* 大学入学前のプログラミング経験なし
# やったこと
* ほぼ毎週コンテストに出た(abc352から)
* AtCoder Daily Traningに参加(9月から)
大体上の2つだけであとはたまにA,B,Cを埋めていました。
# 使用言語
python3を使っています。~~python3で通らないときはChatGPTにC++へ変換させることもあるので、C++を使っていると言えるかもしれません~~
# 覚えたアルゴリズム
* 二分探索
* DP(動的計画法)
* 累積和
* BFS(幅優先探索)
# 競プロをやっていてよかったこ

元記事を表示

Pythonで始める!金融計算をシンプルに:計算記号を使いこなす

Pythonは、金融業界でも利用されています。書籍も何冊か見つけられると思います。
本記事では、Pythonの基礎的な計算記号を使って、金融計算をどのように行うか、具体的な例を交えて解説していきます。
## この記事で得られること
– +, -, *, \/などの計算に利用する演算子の使い方がわかる。
– お金のシュミレーションに関心の持てるかも
– コードがシンプルにしてあるので、取り入れやすい。

## なぜ、この内容の記事なのか
シンプルに書いてあるので、すぐに行動に移しやすいのではと意図しています。
少しでも、お金を増やすことに関心持ってもらえるかも思っています。

# print関数と計算記号の基本
Pythonで計算結果を表示する際に最もよく利用されるのがprint()関数です。この関数に計算式を渡すことで、その結果をコンソールに出力することができます。

#### Pythonで利用できる主な計算記号は以下の通りです。

– +: 足し算
– -: 引き算
– *: 掛け算
– ***: べき乗
– /: 真の除算(小数点以下を含む)
– //: 整数除算(小数点以下を切

元記事を表示

python3 基礎試験 判定と繰り返しのメモ

# 1. `is` と `==`
“`
if value is None:
“`
“`
if value == None:
“`
このふたつがあったとき、
前者は value が Noneであるかを判定可能。
後者もほとんどの場合で正しく判定可能ではあるものの、 `is`での判定よりも時間がかかったり、`==`の動作を変更するようなことも可能。
よって、`valueがNoneであるかを判定する最適な方法`は`if value is None:`である。
# 2. range()関数
“`
range(stop)
range(start, stop)
range(start, stop, step)
“`
のいずれかで使用可能。
`stop は含まない (< stop)` `start 省略 => 0始まり`
`step 省略 => 1ずつ増加`
# 3. dicに使えるメソッド
`items()` : key, valueをペアで取得。
`keys()` : keyのみを取得。
`values()` : valueのみを取得。
“`python
data = {‘key1

元記事を表示

OTHERカテゴリの最新記事