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

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

Djangoで画像をアップロード、そして表示 躓いたポイントと手順を解説

# はじめに
Djangoで作ったWebアプリに画像をアップロードし、アップロードした画像を表示する機能を実装したい!と思い、いろんな記事を調べ実装したがアップロードした画像が表示されない…という問題に直面した。そのときの僕のミスを紹介した後、基礎的な手順を解説します。手順が分かっている人は冒頭のミス紹介を、これからアップロード・表示方法を学びたい人は下の手順からご覧ください。
コードの挙動も書いていくため長い記事になります。コードの部分だけで実装可能なので適宜読み飛ばしてください。

# 1.僕のミス
ここでは端的にアップロードした画像が表示されなかった理由を紹介
“`python:urls.py
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
“`
をアプリケーションルーティングに記述してしまっていた。Djangoのプロジェクトのルーティングは、project_name/ur

元記事を表示

Rye環境でNuitkaを使う

めっちゃ単純だった…
これに数日ハマってしまった…

# Rye
Pythonの今一番ホットなパッケージ管理ツール。
Rust製のため高速

https://rye.astral.sh/

# Nuitka
Pythonの今一番ホットなビルドツール。
Pythonから.exeを作れる。従来のpyinstallerなどと違い、C言語ベースでビルドするので、スクリプトで実行するよりも動作が高速になる。

https://nuitka.net/

# 問題点
Ryeをインストール後に、その環境にNuitkaをインストールしたが、Nuitkaがうまく動かなかった。
おそらくRye経由だとNuitkaが「スクリプト」としてインストールされない?

“`Powershell
PS C:\Users\xxx\dev> rye add Nuitka
PS C:\Users\xxx\dev> rye run nuitka –version
error: 指定されたファイルが見つかりません。 (os error 2)
“`

呼び出しを以下のように、 `python -m ` 経由に切り替えると動作

元記事を表示

はじめてのKaggle② タイタニックコンペのデータ確認~モデル作成(決定木)

## 概要

はじめてKaggleに取り組む人へ向けた記事②として、タイタニックコンペで簡単にデータ確認後、決定木モデルを作成して提出します。

## 前提
以下は対応済みとます。
– [環境作成](https://qiita.com/udata/items/44ec3293ce8b6f97588b)
– [Kaggle登録](https://qiita.com/udata/items/0fe7a72fddd7018b6052)

## 1. 準備
データダウンロードと集計するための準備をします。

### 1-1.コンペデータのダウンロード
タイタニックのコンペぺージでDataタブ([■](https://www.kaggle.com/competitions/titanic/data))を開き、”Download All”を押下する

⇒”titanic.zip”がダウンロードされるので、所定の位置へ設置して展開します。
 ※今回はこのコンペ用にtinanicフォルダ(`C:/Users/u-data/kaggle/titanic/`)を用意し、その下の`data`フォルダに設置

元記事を表示

PyTorchに入門しよう② DatasetとDataLoader

### 前回の記事
[PyTorchに入門しよう① Tensorの使い方](https://qiita.com/175Rin/items/183d6205e034873ad0b2)

## はじめに
今回はDatasetとDataLoaderとは何か、どのようにして使用するか、
そして、FashionMNISTのDatasetをロードする方法とカスタムデータセットの作成方法を学びます。

## DatasetとDataLoader
データサンプルを処理するコードというのは煩雑になりやすく、メンテナスも大変です。
これを解消するためには、データセットのコードをモデルの学習コードから切り離して管理するのが理想的です。
PyTorchでは以下の2つのデータセットプリミティブが提供されており、プリロードされたデータセットや独自のデータを使用することができます。

torch.utils.data.Dataset
サンプルデータとそれに対応するラベルを格納する
torch.utils.data.DataLoader
Datas

元記事を表示

Cloud Run Servicesの実践

# **はじめに**

この記事ではいくつかの演習を通じてCloud Run Servicesの実践的な使い方を紹介します。

なおCloud Runは有料のサービスなので料金については事前に[公式サイト](https://cloud.google.com/run/pricing?hl=ja)で確認することをお勧めします。

また「Cloud RunとかCloud Run Servicesって何?」となってる方は[過去の記事「怖くないCloud Run」](https://qiita.com/sugarperson/items/548bacebdd1de4ccc41c)を読んで見ていただけると幸いです。

# **演習の準備**

## **プロジェクトの作成**

演習に使用するプロジェクトがない場合は以下の手順でプロジェクトを作成してください。

1. [**Google Cloud ダッシュボード**](https://console.cloud.google.com/projectselector2/home/dashboard?hl=ja)を開きます
2. 「プロジ

元記事を表示

【python】佐々木琴子さん、ツイート文例ツール

# はじめに
声優の佐々木琴子さんが、毎日おいしかった食事を定型文でツイートされていらっしゃるので、ツイート文例ツールを作りました

## どんなツール?
佐々木琴子さんのツイートに
> **今日はうどんを食べました。美味しかったです**

が食べもの以外の部分をテンプレートにしています。今回はテンプレートの作成を
実装しました。

## 実装したコード
“`python
# 佐々木琴子さんツイート用BOT作成ツール

food = “”
while True:
print(“今日美味しかった食べ物を入力してください。”)
food = input()
food = food.replace(“ ”,””)
check_food = food.replace(” “,””)
food_length = len(check_food)
if food_length == 0:
print(“文字が入力されていません”)
elif food_length > 0:
break

answer_sentense = f”今日は{food}を食べま

元記事を表示

[Python] 最大公約数を求める

# 最大公約数とは
皆さんご存じのように、最大公約数とは**2つ以上の正の整数の共通の約数のうち最大の数**のことです。
# 愚直に求める方法
2つの整数をa、bとします。aの約数のリスト、bの約数のリストをそれぞれ作成し、2つのリストに共通する要素の中で最大のものを求めます。
~~~Python:gcd1.py
def gcd(a, b):
a_div = []
b_div = []

div = 1
while a > div:
if a % div == 0:
a_div.append(div)
div += 1

div = 1
while b > div:
if b % div == 0:
b_div.append(div)
div += 1

c, d = 0, 0
gcd_list = []
for c in a_div:
for d in b_div:

元記事を表示

scratchで擬似的なpython

## scratchで模擬的なpythonを作っている話
https://scratch.mit.edu/projects/1074063277/
(↑)

とにかく暇だったのと、scratchで調べても改善できそうなものばかりだったのでならば自分が作ろう!と思って作り出したのですがめんどくさい事だらけでした()例えば、print(2+2*2)のようなものだと計算の順序を合わせないといけなかったり、scratchだと反応させれないキーなどなどでとても苦戦しています()

元記事を表示

よく使うコード

# vscode の python 設定

“`~/.vscode/settings.json
“python.analysis.extraPaths”: [
//Djangoライブラリの格納ディレクトリ
“/Users/user_name/.pyenv/versions/3.9.0/lib/python3.9/site-packages”,
//プロジェクトのルートディレクトリ
“/Users/user_name/workspace/project_name”,
],
“`

# pythonよく使うやつのめも
“`py
# 例外を一旦受け取って再送しているファイルを想定
import sys

try:
result = 1 / 0 # ZeroDivisionErrorが起きる
except Exception as e:
exception_type, exception_object, exception_traceback = sys.exc_info()

元記事を表示

【資格試験】Python 3 エンジニア認定基礎試験に合格した話

## 1. はじめに

こんにちは!
2024年9月にPython 3 エンジニア認定基礎試験を受験し、
一発合格することができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956452/32562c35-663a-06b1-a772-2d816a79060e.png)

今回は受験するにあたっての動機、
学習方法等について話していければと思います。

## 2. Python 3 エンジニア認定基礎試験とは
**Python 3 エンジニア認定基礎試験**は、Pythonの基礎知識を確認するための試験です。主にプログラミング初心者やPythonの基礎をしっかり学びたい方に向けた試験です。以下は試験の詳細です。

– **問題数**:40問
– **出題形式**:選択式
– **試験方式**:CBT方式(コンピューター上で実施)
– **試験時間**:60分
– **合格基準**:7割以上の正解
– **受験料**:
一般価格:11,000円(税込)
学割価

元記事を表示

Pythonのzip()関数

# はじめに
Pythonのzip()関数を使うと、複数のイテラブル(リスト、タプル、辞書、集合のように繰り返し可能なオブジェクト)から要素を取り出し、対応する要素をまとめることができます。
# zip()関数の使用例
例えば、キーと値が別々のイテラブルであっても、dict()関数とzip()関数を使うことで簡単に辞書を生成することができます。
~~~Python:zip_dict.py
drink = ‘milk’, ‘tea’, ‘coffee’, ‘juice’ # キーのイテラブル
price = 160, 210, 150, 250 # 値のイテラブル
dict(zip(drink, price))
# {‘coffee’: 150, ‘juice’: 240, ‘tea’: 220}
~~~
# zip()関数を使用する場合の注意点
異なる長さの複数のイテラブルにzip()関数を使用すると、zip()関数は**短いほうのイテラブルに合わせて処理を終了してしまう**ので、長いほうのイテラブルに**処理されなかった要素が存在することを警告してくれません**。
# どうすればいい

元記事を表示

Discord BOTでのレジ及び売上管理について(GTA RP/FiveM)

# 導入の背景について
FiveMで猫カフェのアルバイトをやっており、最初はスプレッドシートで管理していたが、猫カフェのオーナーになったことを機にDiscordでのレジを導入しました。

目的としては、計算のしやすさ、各人の売上の見える化、お店へのバック分の集計、人気商品の情報取得などを行えるようにしました。

## 実際のDiscord画面
【レジ画面】
![スクリーンショット 2024-09-16 14.39.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3868301/6c1b872e-1fb3-6f33-6205-bc13d67185d6.png)

![スクリーンショット 2024-09-16 14.47.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3868301/eb448895-ac12-3aeb-d2b1-7f27cb458b64.png)

【販売報告チャンネル】
![スクリーンショット

元記事を表示

にエクスポートするアプローチを整理してみる

フローの全体感はこんな感じでシンプルです。トリガーは手動にしていますが、必要に応じてスケジュールトリガーなど、目的に応じて変更ください。個人的にこの方法が一番簡単で、また、選択アクションを使うのでパフォーマンスも良いかなと思っています。[Dịch vụ kế toán quận 11](https://ketoanphamgia.com/dich-vu-ke-toan-quan-11/)
まず、CSV エクスポートしたいリストからデータを取得します。必要に応じてフィルターをします。

元記事を表示

初心者でもわかる!Hugging Faceを使いこなして、RAG風プロンプトエンジニアリングで精度UPする方法

# Hugging Faceとは
自然言語処理(NLP)や機械学習(ML)に関するプラットフォームです。トレーニング済みモデルが公開されているので、ここから簡単にダウンロードして使用できます。

https://huggingface.co/

こんなことを言っていいのかわからないけれど、見た目が胡散臭いのよ。
![スクリーンショット 2024-09-25 13.31.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/846404/7c3792c7-7c82-db34-e4f4-ba1d347fc8ed.png)

## この記事で出来るようになること
Meta社の作成したLlama3モデルを用いて、テキスト生成ができるようになります。
技術の発展が目覚ましいのであれですが、Llama3は日本語においても高い性能を持つモデルの1つです。

# 事前準備(アカウント作成まで)
## Meta社のサイトからLlama3の利用申請
下記のMeta社のサイトから申請を行います。

https://ai.met

元記事を表示

Pythonで辞書の値の合計を求める

# 辞書とは
辞書とは**キーと値のペアでデータを保持するデータ構造**です。
Rubyでいうところの連想配列(ハッシュテーブル)にあたります。リストやタプルの場合、データ(値)の数が多くなるとどれがどのデータ(値)だったか調べるのが難しくなります。

その点、辞書はデータ(値)をキーで管理できるためどのデータなのか判別しやすいという利点があります。

# Pythonで辞書の作成
Pythonで辞書を作成するのには複数のやり方があります。

やり方1:キーと値を個別に指定
~~~Python:dict_create1.py
# 以下のように波括弧{}の中に「キー: 値」のように記述すると辞書が作成されます。
scores = {“ネットワーク”: 60, “データベース”: 80, “セキュリティ”: 55}
print(scores) #{“ネットワーク”: 60, “データベース”: 80, “セキュリティ”: 55}
~~~
やり方2 : dict型のコンストラクタdict()を使う
~~~Python:dict_create2.py
# キーワード引数キー=値を指定するとキー

元記事を表示

円周率をもとめたい ―𝛑の近似計算の手法の比較―

## TL;DR

– 円周率の近似計算の手法を比較した
– **効率的なアルゴリズム**について考察した

## はじめに

本記事は、[芝浦工業大学 工学部サマースクーリング](https://admissions.shibaura-it.ac.jp/admission/summer_schooling.html)(情報・通信工学課程)に参加した経験を再構成し、作成したものです。内容の大半は、私自身の調査・研究によって明らかにしたものですが、一部において、TAや教員の方々にサポートしていただいた部分があります。この場を借りて、ご協力をいただいた方々に感謝申し上げます。
**また、本記事の公開において問題がございましたら、早急に対応しますので、コメント機能もしくはwisteriatp@gmail.comまでご連絡をお願いいたします。**

### おことわり

筆者は数学やプログラミングに関する知識が十分ではないため、本文に誤りが含まれている可能性があります。ご指摘、アドバイス等いただけますと幸いです。

## 1. 目的

より高精度な近似計算をするために、**効率的なアルゴリズム

元記事を表示

pyenvでPython3をインストールする方法

今回はMacBookにpyenvでPython3をインストールする方法について紹介します。

使用したMacBookのバージョンはこちらです。↓
MacBook Pro 13, 2019 – macOS Sonoma 14.6.1

MacBookには標準でPythonがインストールされています。ですが、今後Pythonでの開発を進めていく中で、異なるバージョンのPythonを使用したくなったり、複数のバージョンを用いる必要がでてくることを想定し、pyenvを使用したインストール方法を選択します。

pyenv(パイエンブ)とは、簡単に言えば「複数のバージョンのPythonを簡単に管理できるツール」です。

##### 手順は以下の通りです。↓
1. ターミナルを起動する
1. Homebrewをインストールする
1. pyenvをインストールする
1. Pythonをインストールする

### 1 ターミナルを起動する
これからの作業は全てこのターミナル上で行います。

### 2 Homebrewをインストールする
pyenvをインストールするためには「Homebrew」(ホームブ

元記事を表示

Python3: GATT をスキャン

## Ubuntu 24.04 にライブラリーをインストール

“`bash
sudo apt install python3-bleak
“`

## バージョンの確認

“`text
$ python
Python 3.12.3 (main, Sep 11 2024, 14:17:37) [GCC 13.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from importlib.metadata import version
>>> bleak_version = version(“bleak”)
>>> print(bleak_version)
0.21.1
“`

## プログラム

“`py:ble_scan.py
#! /usr/bin/python

import asyncio
from bleak import BleakScanner

async def run():
devices = await BleakSca

元記事を表示

ロボット開発プラットフォームのまとめ集(ROSなど)

## はじめに〜なぜこの記事を書こうと思ったか〜

今までロボット制御の開発プラットフォームというとROS、ROS2くらいしか知らなかったが、ROSだけでもROS#やIsaac Simなどフレームワーク・ミドルウェアは増えてきた。
備忘のため、この記事にまとめる。

1.ROS
一番有名な印象。各種モジュールはC++で基本書かれていて、Pythonで全体制御できる。

2.ROS2
ROSの後継プラットフォーム。ROS2での開発コンペなど出てきているので、本格的にROS(ROS1)からの移行が進んでいるようだ。
今後勉強する際は、ROS2をメインで勉強したい。
・[ROS2 Foxy公式ドキュメント]( https://docs.ros.org/en/foxy/index.html )

3.Isaac SDK:
・NVIDIAが開発したロボティクス開発プラットフォーム
・C++とPythonのAPIを提供
・UnityプラグインでIsaacSimとの連携が可能
・AIと深層学習の統合に強み
・https://developer.nvidia.c

元記事を表示

PyTorchに入門しよう① Tensorの使い方

## はじめに
今更になってAIの勉強を始めたいと思ったため、PyTorchのチュートリアルを読んで学習をしました。
この記事では、PyTorchのチュートリアルの内容を日本語に翻訳して、一部情報を追記しながらまとめていきます。

私の実行環境は下記のとおりです。
`Debian 13`
`Python 3.11.9`
`PyTorch 2.4.1`

## Tensorとは
Tensorとは、配列や行列によく似たPyTorch独自のデータ構造です。
PyTorchではモデルへの入力や出力、パラメータの調整にこれを使います。
Tensorの利点として以下が挙げられます。
– GPUやハードウェアアクセラレータ上に配置可能
– 学習に必要な自動微分に最適化されている

## Tensorの生成方法
必要なライブラリのインポート
“`Python
import torch
import numpy as np
“`

### データから直接生成する
tensor()を使うことで、リストや数値から直接Tensorを生成することができます。
“`Python
data = [[1,2

元記事を表示

OTHERカテゴリの最新記事