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

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

Python 不動産ライブラリAPIを使ってみる デプロイ編

前回のお話 ⇒ コーディング編

streamlitで作ったアプリをデプロイする方法について書く。
デプロイとはサーバー上に展開し、誰でもアクセスできるようにすることである。

目次:
1.デプロイ方法は、1つだけではない
2.Streamlit Sharingとは
3.Githubでの作業
4.ディレクトリ構造と秘匿情報(APIキー等)の取扱い
5.Streamlit Community Cloudでの作業(デプロイ)
6.まとめ

1.デプロイ方法は、1つだけではない

Streamlitで作成したアプリをデプロイする方法はいくつかあるらしい。

① Streamlit Sharingでデプロイ
② Dockerを使ったデプロイ(AWS, GCP, Azureなどのクラウドサービス上でホスト可能)
③ Herokuでデプロイ
④ 自前サーバーや**VPS(仮想専用サーバー)**でのデプロイ

今回、最も簡単に

元記事を表示

Python3: paizaラーニング問題集「部外者をはじけ」を解いてみた

おもしろそうだったのでやってみました。

https://paiza.jp/works/mondai/b_rank_skillcheck_archive/finding_putliers_99

解答例のように個別に距離を測ってもいいんだけど、距離2の平行線の外側って考えると、計算がちょっと軽くならないかな、と思ってやってみる。

“`py:
from itertools import combinations
from math import sqrt
from dataclasses import dataclass

@dataclass
class NumberedPoint:
n: int
x: float
y: float

DISTANCE = 2.0

def outsiders(points):
min_outs = [*points]

for p0, p1 in combinations(points, 2):
outs = []

if p0.x

元記事を表示

【備忘】よくつかうコードスニペット: Python標準ライブラリ系

## 目的
鳥頭のため、ちょっと書いてないだけで基礎的な記法も忘れる始末。

## 一覧

### json

#### JSONデータのシリアライズ(PythonオブジェクトをJSON文字列に変換)

“`
import json

data = {
“name”: “Example Item”,
“price”: 19.99,
“in_stock”: True
}

# JSON文字列に変換
json_data = json.dumps(data)
print(json_data) # {“name”: “Example Item”, “price”: 19.99, “in_stock”: true}

“`

#### JSONデータのデシリアライズ(JSON文字列をPythonオブジェクトに変換)

“`
# JSON文字列
json_data = ‘{“name”: “Example Item”, “price”: 19.99, “in_stock”: true}’

# Pythonオブジェクトに変換
data = json.loads(

元記事を表示

【備忘】よくつかうコードスニペット: Python外部ライブラリ系

## 目的

コードを書く機会はそれなりに多いが、日ごろから持ち前の鳥頭が存分に活かされすぎているため書き方を一瞬で忘れる。
そのため、仕事用端末からもプライベートの端末からも閲覧できる形でスニペットとして残しておきたい
今のところ、1から書くと多すぎる上に他の記事などでうまくまとまってる可能性の高いもの(Pandasとか)はそちらを参照することにする。

## 一覧

### FastAPI(v0.103.1)、Flask(v2.3.3)

#### 基本的なAPIエンドポイント

FastAPI
“`
from fastapi import FastAPI

app = FastAPI()

@app.get(“/data”)
async def get_data():
return {“message”: “データを取得しました”}
“`

Flask
“`
from flask import Flask, jsonify

app = Flask(__name__)

@app.route(“/data”, methods=[“GET”])
def get_dat

元記事を表示

Python プロジェクト管理したくて uv に触れてみたメモ

# これは何
2024の春先だっただろうか、pythonを使った開発を新しく始めようと思ったとき、環境管理何がいいのかなー?と調べていたところ、2024のトレンドは rye だ!という情報を沢山見ていたが、最近改めて調べ直してみると uv がトレンドだという話題を見て触ったことないなと思ったので python素人の自分が uv を触ってみたメモ

# uv について
https://github.com/astral-sh/uv

自分はPython界隈の事情に一切詳しくないので、正しく解釈できていないかもしれないが、ざっと調べた限りでは uv は rye の後継ツールで、rye は終わり、uv へ移行している過渡期のようだった。なら、これから始めるなら rye より uv の使い方を覚えるのが良さそうと感じた

# uv をインストールしてみる
手元の環境(win11+wsl2+ubuntu) には brewを導入済みなので `brew install uv` でよかった。
他にも色々インストール方法はありそうだった https://github.com/astral-sh/uv

元記事を表示

Python 3 エンジニア認定実践試験対策 (3) - venv

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

### 仮想環境(venv)とは
– **目的**: プロジェクトごとに異なるPythonのバージョンやパッケージを独立して管理するための仕組み。
– **利点**: システム全体に影響を与えずに、特定のプロジェクトに必要な環境を構築できる。検証用環境として一時的に作成するケースにも利用されます。

### venvの使い方

1. **仮想環境の作成**
“`bash
python3.x -m venv <任意のディレクトリ名>
“`
例: `$ python3.11 -m venv myenv`
作成された仮想環境用ディレクトリに、仮想環境に必要なリソースが配置される。

2. **仮想環境の有効化**
– Unix系(bash/z

元記事を表示

Python 3 エンジニア認定実践試験対策 (2) - requirements.txt / constraints.txt

Pythonを数年使ってきて、改めて知識の整理と最新仕様のキャッチアップのために Python 3 エンジニア認定実践試験を受験しようと思い、私的に作成した資料から簡易版を作成しました。
最後に練習問題を設けましたので、解説を読んだら記憶定着のために練習問題へチャレンジしてください。最後に答えを掲載しています。

# Python パッケージバージョンの統一管理

## 1. requirements.txtとは?
`requirements.txt`は、異なる環境(開発環境や本番環境など)で同じパッケージバージョンに統一するために使用するファイルです。
– 環境ごとに異なるバージョンを使うと、不具合が発生することがあります
– このファイルを使うことで、パッケージのバージョンを統一できます

## 2. requirements.txtの作成
### 自動作成
“`bash
pip freeze > requirements.txt # 現在の環境のパッケージとバージョンを一覧にしたファイルを作成
“`

## 3. requirements.txtの書式
– コメントは `#

元記事を表示

Python 101: プログラミング初心者が知っておくべき5つの重要な概念

### Python 101: プログラミング初心者が知っておくべき5つの重要な概念

Pythonは初心者から上級者まで幅広いレベルで人気のあるプログラミング言語ですが、効率的に学ぶためには基礎となるいくつかの重要な概念を理解する必要があります。この記事では、Python初心者や中級者が特にミスしやすい、押さえておくべき5つの重要な概念を解説します。

### 目次
1. イントロダクション
2. ミュータブルとイミュータブル
3. リスト内包表記
4. 引数とパラメータ
5. `__name__ == “__main__”`の使い方
6. GIL(グローバルインタプリターロック)
7. まとめ
8. 参考文献

## 1. イントロダクション

Pythonで効率よくコードを書くためには、特定の基本概念を理解しておく必要があります。特にプロダクションコードを読んだり、自分でコードを再現する場面では、理解度が鍵となります。ここでは、開発者がPythonコードを自在に読み書きし、他の開発者とも共有できるようになるための基礎を解説していきます。

## 2. ミュータ

元記事を表示

Python 101: 知っておくべき10の重要な概念

### Python 101: 知っておくべき10の重要な概念

Pythonの基礎を学ぶ上で、押さえておくべき重要な概念を10個にまとめました。これらの概念を理解することで、Pythonプログラムの効率的なコード作成や読み取りが可能になります。

### 目次
1. はじめに
2. ファイル作成と変数の定義
3. データ型の基本
4. 型アノテーション
5. 定数の使い方
6. 関数の定義とパラメータ
7. クラスの基本
8. メソッドとselfの使い方
9. Dunderメソッドの活用
10. まとめと参考文献

## 1. はじめに

Pythonは初心者から上級者まで幅広く使われるプログラミング言語です。本記事では、Pythonプログラムを始めるために知っておくべき10の基本概念を解説します。

## 2. ファイル作成と変数の定義

– Pythonファイルは、`.py`拡張子を付けて作成し、Pythonインタプリタで実行されます。
– 変数は、`変数名 = 値` の形で定義され、再利用が容易です。たとえば、`name = “Bob”`、`age = 20

元記事を表示

Pythonで時短開発!コーディングを加速するシンプルなテクニック

## はじめに
忙しいエンジニアにとって、開発効率を上げることは重要です。本記事では、Pythonでの開発を加速するための時短テクニックを紹介します。これらのテクニックは、日々の作業を少しずつ効率化してくれるので、ぜひ参考にしてみてください。

## 1. ワンライナーで処理を完結させる

Pythonはシンプルな構文を使って、1行で多くの処理を実行できます。以下は、特に便利なワンライナーの例です。

### 例1: リスト内包表記でリストを生成
“`python
squares = [x**2 for x in range(10)]
# 出力: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
“`

### 例2: if 文を含むワンライナー
“`python
even_numbers = [x for x in range(20) if x % 2 == 0]
# 出力: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
“`

## 2. `enumerate`でループ時のインデックスも取得

ループ内でインデックスが必要な

元記事を表示

【python3】 Excelの表データをPowerPointの表に転記するツール

# はじめに
Excelの表のデータを、PowerPointの表のデータに転記する自動化ツールをpythonで実装しました

## 転記元のExcelの表
今回転記する表は以下の通りです。

![Excel.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/aedbed56-0fc5-17a8-4a13-1a4f47ddd2bd.jpeg)

## 転記前のPowerPointの表

![before_ppt.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/318c7298-0e89-63d2-3a6d-06e3aa14e8c8.jpeg)

## 実装したソースコード
実装したソースコードは下記のとおりです。

“`python
#################################################
# Excelからpowerpointの表にデータコピーテ

元記事を表示

Google ColabでPythonのバージョンを変更する

## きっかけ
GoogleColabにインストールされているPythonのバージョンでは動かないライブラリを扱いたかったから。

## 変更方法
以下を実行することで任意のバージョンのPython(以下の例ではPython3.7)をGoogleColabにインストールできる。

“`bash
!sudo add-apt-repository -y ppa:deadsnakes/ppa
!sudo apt-get -y update
!sudo apt-get -y install python3.7
!sudo apt-get -y install python3.7-dev
!sudo apt-get -y install python3-pip
!sudo apt-get -y install python3.7-distutils

!python3.7 -m pip install –upgrade setuptools
!python3.7 -m pip install –upgrade pip
!python3.7 -m pip install –upgrade

元記事を表示

【python3】辞書のkeyをソートして辞書のkeyを昇順に表示する

# はじめに
辞書のkeyを昇順で並び替える問題に取り込みました

## 問題
>n人の野球選手の名前が背番号と一緒に入力されます。
>各選手の背番号と名前を、背番号の数字の小さい順に並び替えて出力してください。
>ただし、同じ背番号の選手は存在しないものとします。

という問題です。

## 実装したコード
実装したコードは下記の通りです

“`python3
# 数値入力
n = int(input())
# Dictionaryの定義
dict1 = {}
# listの定義
list1 = []
# 標準入力からdict1にkeyとvalueを入れる
for i in range(n):
key,value = input().split(‘ ‘)
dict1[key] = value
# dict1のkeyをlist1に入れる
for number in dict1.keys():
list1.append(int(number))
# list1を昇順に並び替える
list1.sort()

print(“—-結果—-“)
# listの要

元記事を表示

Python学習者向けおすすめリソース一覧

# Python学習者向けおすすめリソース一覧

Pythonは現在、最も人気のあるプログラミング言語の一つであり、初学者から上級者まで幅広いリソースが提供されています。本記事では、Pythonの学習に役立つ主なリソースやコースについて、カテゴリー別に紹介します。初心者から上級者まで、さまざまなレベルの学習者が自分のペースで学べる内容をまとめていますので、ぜひご活用ください。

## 目次

1. オンラインコース
2. 無料のオンラインリソース
3. 書籍
4. インタラクティブな学習サイト
5. 大学のMOOC
6. YouTube動画
7. コミュニティリソース
8. まとめ

## 1. オンラインコース

Pythonの基礎から応用まで、さまざまなオンラインコースが提供されています。人気のプラットフォームでは、コース内容やレベルも豊富に揃っており、自分の目的に合った学習が可能です。

– **Coursera**: 名門大学や企業と提携し、Pythonの基礎から高度な応用までカバーしたコースが揃っています。
– **Udemy**: 価格が手頃で、多くのユ

元記事を表示

MatplotlibにおけるAxesオブジェクトの使い方とカスタマイズ方法

# MatplotlibにおけるAxesオブジェクトの使い方とカスタマイズ方法

MatplotlibはPythonのデータ可視化ライブラリとして広く使われており、データを視覚的に表現するための多彩な機能が備わっています。その中でも**Axesオブジェクト**は、グラフを描画する際に中心的な役割を担います。この記事では、Axesオブジェクトの主要な使い方とカスタマイズ方法について、初心者にもわかりやすく説明します。この記事を読むことで、MatplotlibのAxesオブジェクトを用いたグラフ作成とそのカスタマイズ方法を習得できます。

## 目次

1. Axesオブジェクトの作成
2. データのプロット
3. 軸ラベルとタイトルの設定
4. 凡例の追加
5. グリッドの表示
6. 軸の範囲設定
7. 目盛りの設定
8. 複数のプロットの重ね合わせ
9. テキストの追加
10. スタイルの設定
11. 対数スケールの設定

## 1. Axesオブジェクトの作成

Matplotlibでグラフを描画するには、まずAxesオブジェクトを作成する必要があります。これは`

元記事を表示

【練習用】駆け出し未経験データサイエンティストの初投稿

## 内容
会社で技術共有の機会があり、それでqiitaに手を付けてみた。
やってみたは良いものの、アウトプットできるものが特にない。。。
何か思いつきたり試したいことがあり次第追記。

AI技術を中心にやっていきたい。

元記事を表示

Python 不動産ライブラリAPIを使ってみる コーディング編

行動変容アプリのコーディング編を書いていく。⇒ 前回の記事はこちら

目次
1.UIの作成
2.APIリクエストの作成
3.ディレクトリ構造の確認
4.次回(デプロイ編)

1.UIの作成

まず初めにUIについて考える。
UIとは、画面のボタンや文字などの操作部分であり、ユーザーが直感的に使いやすいものである必要がある。
不動産取引情報にAPIリクエストを送るために、以下のデータをユーザーから入力が必要。

【必要なユーザー入力】
・都道府県名
・市町村名
・検索したい取引年度

上記の3つのユーザー入力に必要な入力フィールドと、検索ボタンを1つ設置したシンプルなUIを考える。

“`python:main.py
import streamlit as st
from src.send_api import connect_api
from src.pref_data import pref_id, change_index

# フッターの

元記事を表示

Google Gemini APIを利用したPythonプログラムを開始

## はじめ
Google Gemini APIの生成AIを利用して、Pythonでプログラミングを始める手順を紹介する。

## 環境準備
* 前提
* Pythonインストール済み

1. 下記のコマンドでGemini API SDKをインストールする
“`
pip install -q -U google-generativeai
“`

1. Gemini APIキーを設定する
1. [APIキー取得リンク](https://aistudio.google.com/app/apikey?hl=ja)でAPIキーを取得する
* 必要なもの
* Googleアカウント
* 注意事項
* API キーを共有したり公開コードに埋め込んだりしないでください

1. 下記コマンドでAPIキーを設定する
“`
export API_KEY=
“`
※``を生成されたAPIキーを置換する

## Gem

元記事を表示

Python 不動産情報ライブラリAPIを使ってみる 機能検討編

私は不動産が大好きである。
日本では空き家問題が取りざたされているが、なぜ空き家を放置してしまうのだろうか。
空き家を持て余している方の大半以上が、「相続」ではないだろうか。
そしてなぜ放置してしまうのかと考えた時に、「面倒だから」という理由はよく聞こえてくるが、本当にそうだろうか・・・
それは「空き家に価値はないから売れない」という思い込みではないだろうか。
よく「その空き家いくらで売れるかチェック」みたいなものを見かけるが、それよりも取引実績に基づいたデータを見る方が説得力があるという仮説の下、「空き家流通促進ツール」としてのアプリを考えてみる。

目次

1.API操作説明
2.目的に応じたAPIの選定
3.フレームワークの選定(GPT調べ)
4.選定理由と次回記事

1.API操作説明

不動産情報ライブラリでは、Webサービスや研究開発等にご活用いただくため、不動産取引価格情報や地価公示・地価調査、国土数値情報等のデータを公開APIとして提供している。
HTTPリクエストヘ

元記事を表示

Tkinter と pygame の構文比較

「[Pythonでつくるゲーム開発入門講座]()([廣瀬豪]())」という本で、Tkinterとpygameの両方を使って混乱したので、整理した記事です。

### ウィンドウを作成する
– **tkinter**
“` python
screen = tkinter.Tk()
“`
– **pygame**
“` python
pygame.init()
“`

### ウィンドウにタイトルを設定する
– **tkinter**
“` python
root.title(“~”)
“`
– **pygame**
“` python
pygame.display.set_caption(“~”)
“`

### ウィンドウサイズを設定する
– **tkinter**
“` python
root.geometry(f”{800}x{600}”)
“`
– **pygam

元記事を表示

OTHERカテゴリの最新記事