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

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

pythonのコメントアウト

## コメントアウト
“`py
#一行だけ

“””
複数行
複数行
複数行
“””
“`

元記事を表示

クエリシリーズ > 連想配列

https://paiza.jp/works/mondai/query_primer/query_primer__map_easy

辞書をつかった問題だと直感してたのだけど、自分自身ちょっと忘れてたので前に書いた記事にコメントくれてたのを思い出したので下記で復習(ありがとうございます)

https://qiita.com/Atsulabo/items/081ef794c729bb6709e6

辞書を作るにはdict。これ勉強。
これを思い出す前に{}の内包表記でなんとかしようとしてました。。。
というわけで、

“`py
N,K = map(int,input().split())
A = dict(input().split() for _ in range(N))
#次の連想配列のために出力
#{‘1’: ‘Sin’, ‘2’: ‘Sakura’, ‘3’: ‘Kayo’, ‘4’: ‘Yui’}
for _ in range(K):
print(A[input()])
“`

こうですね。
しかしですね、今回は辞書、ではなく連想配列。なので、
ちょっと違うんで

元記事を表示

「ipinfoのAPIアクセストークン」を取得する方法

### 環境
>iMac macOS Ventura13.2
python 3.10.4

### 概要
>ipinfo.ioは、IPアドレスに関する情報を提供するウェブサイトです。
このサイトでは、特定のIPアドレスの地理的な位置、ネットワークプロバイダー、使用されているデバイスなどの情報を取得することができます。

### ipinfo.ioのトークンを取得するまでの流れ
#### 1、無料アカウントにサインアップ :
https://ipinfo.io/signup

#### 2、必要項目に入力(私は、Continue with Googleで始めました)
IPinfo Loginで「次へ」をクリックしたから メールアドレス、パスワードを入力
Googleを使わない場合は、随時項目に入力します。
![スクリーンショット 2024-03-21 8.37.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634708/47bf3b83-b4a2-a39e-6bcd-1e66197ce77d.pn

元記事を表示

【Python】ttkbootstrapでGUIアプリ制作&改修

# GUIアプリの概要
以前投稿したアプリを改修したのでそれを共有したいと思います。
以前投稿したアプリは以下の記事になります。

https://qiita.com/kensaka1228/items/3663fc18ed7c893feeee

ttkbootstarpのGoogle検索をしたら二番目にヒットします。
是非合わせてお読み下さい。

## 改良点
ソースコードをクラスで作成
QRコードの作成を自分で指定した場所に作成できるように改修
日記を書けるように改修

## アプリ概要
### QRコード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/2bf43cfc-8c0e-9e9a-38f2-5c5ae525fee4.png)

### 勤怠計算
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2759758/441b8800-fa5c-6b9f-dddf-197

元記事を表示

pygameでの文字列の位置合わせ

# はじめに
pythonのゲーム用ライブラリpygameでちょっとしたゲームを作成したのだが、文字列の位置合わせに若干時間を要してしまったのでまとめた。

# 環境
次の環境で確認した

+ pygame V2.5.2
+ Python V3.9.13
+ Windows Windows Pro (64bit) 22H2

:::note info
pygameモジュールのバージョンを確認するコマンド

“`
python3 -m pip show pygame
“`
:::

# フォントを指定して文字列を表示する

以下のプログラムを実行すると

“`py
import pygame

BLACK = (0,0,0) # 黒色
RED = (255,0,0) # 赤色
WHITE = (255, 255, 255) # 白色

WIDTH = 320 # 画面の横幅
HEIGHT = 240 # 画面の高さ

X = WIDTH/2

元記事を表示

クエリシリーズ

https://paiza.jp/works/mondai/query_primer/query_primer__single_insertion

“`py

N,K,Q = map(int,input().split())
A = [int(input()) for _ in range(N)]
A.insert(K,Q)

for a in A:
print(a)

“`

https://paiza.jp/works/mondai/query_primer/query_primer__single_search

“`py
N,K = map(int, input().split())
A = [int(input()) for _ in range(N)]
flag = ‘NO’
for a in A:
if a == K:
flag = ‘YES’
break

print(flag)

“`
よく考えたら、前にもリストの中にKがなかったらというのがありましたね。。。
忘れてました。それさえあれば下記の様に短くできます

元記事を表示

【Django】クエリセットの和集合を使ってみたのでサンプルコード付で解説

# 概要
Djangoにおけるクエリセットの和集合「` | `」を使ってみました。
サンプルコードで解説します。

## 前提
以下のように、国に関するDBテーブルを作成。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/6647194f-e8f8-ec9b-66e5-d8906a65ba8e.png)

# サンプルコード

以下のようにして使います。
ここでは、アジアとヨーロッパの国を取得するクエリセットを作成し、その後に和集合を利用して結合しています。

“`py
# from django.db import models
from response.models import Country

asia_countries = Country.objects.filter(continent=’Asia’)
europe_countries = Country.objects.filter(continent=’Europe’)

countries = a

元記事を表示

pythonのリスト型の使い方(要素の連結、要素の取り出し:extend,スライス機能)

## リストの連結
“`py
>>> f_list = [‘モモ’, ‘みかん’, ‘バナナ’, ‘イチジク’, ‘ブドウ’]
>>> list_int = [-1, 1, 2, 4]
>>> f_list + list_int
[‘モモ’, ‘みかん’, ‘バナナ’, ‘イチジク’, ‘ブドウ’, -1, 1, 2, 4]
“`
## リストの連結。メソッド「extend」
“`py
>>> list_int.extend(f_list)
>>> print(list_int)
[-1, 1, 2, 4, ‘モモ’, ‘みかん’, ‘バナナ’, ‘イチジク’, ‘ブドウ’]
“`
## 要素を取り出す。スライス機能
“`py
>>> list_f = [0,1,1,2,3,3,2,5,23,4,35]
>>> list_f[0:3]
[0, 1, 1]
>>> list_f[2:6]
[1, 2, 3, 3]
>>> list_f[:4]
[0, 1, 1, 2]
“`

元記事を表示

StableDiffusion APIから画像生成してみる。

# はじめに

[naritomo](https://twitter.com/KanagawaLo81146)と申します。

本職はインフラエンジニアを行っています。

最近生成AI(StableDiffusion)にハマり、外部PCからAPIをキックし画像入手するプログラムを作ってみました。

## 概要

StableDiffusion APIから画像を入手するためのプログラムを動かす。

必要なソースは以下にまとめてあります。

https://github.com/naritomo08/CreateAI_API.git

## 参考URL

[Stable Diffusion (AUTOMATIC1111) をAPIで操作する ~WEB UI不要で任意のサービスと連携~](https://note.com/rcat999/n/n1beb8d75d334#549b1d65-7771-4478-9578-af0377abb956)

## 事前作業

以下のサイトを参考にローカルPCまたはGoogleColabへStableDiffusionを導入する。

[【Stable Dif

元記事を表示

PythonでJSON 書き込み

## 早めの結論
– json に変換するには `json.dumps` 関数を使用する
– json ファイルに書き込むには `json.dump` 関数を使用する
– 変換できない型には `defalut` を指定すると良い
– 変換前後の型対応については[こちら](#型の対応)

## json に変換する

“`Python
import json

# json に書き込むデータ
target_dict = {
“int”: 42,
“float”: 0.5,
“bool_true”: True,
“bool_false”: False,
“none”: None,
“str”: “spam”,
“list”: [“eggs”, “ham”],
“tapple”: (“this”, “is”, “tapple”, 42),
“dict”: {“key1”: 1, “key2”: 2}
}

# json にする
target_dumped_str = json.dumps(target_dict)

元記事を表示

request.getでSSLのエラーが出たときの対処方法

### 私の環境
>iMac macOS Ventura13.2
python 3.10.4
selenium 4.18.1
requests 2.31.0

### 概要
Pythonで自作の新刊情報をTRC新刊図書オープンデータにアクセスしてdataを取得するprogramを、いつも通り実行したところ、突然、 r = requests.get(url)で以下のエラーが発生しました。
![スクリーンショット 2024-03-17 9.06.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634708/b71011d1-9afd-c470-11ed-febdc2f36ff7.png)
ChatGPTに質問したところ![スクリーンショット 2024-03-17 9.07.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634708/9c0ce1c4-895f-8fe

元記事を表示

Python C拡張でFortranのClassを操る

# FortranでもSOLID原則を意識してみる
オブジェクト指向をするならSOLID原則が大事なんですね。今頃になって知ることができたので、今後は`type,abstract` を効果的に使うことができそうです。なお、この記事では、計算速度のことは考えないことにします。

以下のコードは [https://github.com/sakamoti/fortran_oop_from_python](https://github.com/sakamoti/fortran_oop_from_python) から抜粋したので、動かしたい人はcloneしてみてください。

## 抽象既定クラスの定義
インスタンスが作れない、型の情報だけをまず定義します。インスタンスを生成する際には、これを継承してメソッドを上書きする必要があります。
“`fortran
type,abstract,public :: IShape
!! Interface representing a generic shape.
character(len=:),private,al

元記事を表示

Python初心者の備忘録 #13 ~統計学入門編03~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #12 ~統計学入門編02~](https://qiita.com/Yushin-Tati/items/af085499c49d244068ee)
次の記事:まだ

本記事は**推測統計の前提知識、区間推定**についてまとめてあります。
##

元記事を表示

【Python】findメソッドのいろいろな使い方をサンプルコードで解説(引数があるとき、rfindやindexとの違い)

# 概要
Pythonの`find()`メソッドは、指定した部分文字列が文字列内で最初に見つかる位置のインデックスを返すメソッドです。
サンプルコードで色々やってみたので使い方を紹介します。

## `find()`メソッドのサンプルコード

“`py
# 元の文字列
string = “Hello, world! My world is beautiful.”

# 部分文字列
substring1 = “Hello”
substring2 = “world”

# 部分文字列が文字列の先頭にあるかどうか判定する
if string.find(substring1) == 0:
print(f”‘{substring1}’ は文字列の先頭にあります。”)

# 出力結果:’Hello’ は文字列の先頭にあります。

# 部分文字列が文字列の先頭にないか、または全く見つからないかどうかを判定する
if string.find(substring2) != 0:
print(f”‘{substring2}’は文字列の先頭にないか、または全く見つかりません。”)
else

元記事を表示

Numpyが18年ぶりのメジャーアップデート! 改善点、変更点まとめ

![numpy_logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3743979/4ed7ccbd-2272-e939-a7cc-11f82825d31b.png)

——————————————————————-
# NumPy 2.0.0の主要な変更点

皆さんもお世話になっているであろう科学計算ライブラリNumPyが、2006年以降初めてのメジャーアップデートを発表しました。そこで、変更点をざっくりとまとめてみました。以下は変更点の一部であり、それ以外については実際のドキュメントを参照してください。

> 免責事項:この記事は、NumPy 2.0.0の変更点について個人的な見解を述べたものであり、NumPyの開発チームや関係者の公式な見解を代表するものではありません。変更点の影響や対応方法については、必ず公式のリリースノートと移行ガイドを参照してください。また、この記事には不正確な情報が含まれている可能性

元記事を表示

WSL2 による Python3 の環境構築

# 概要

WSL2 を使って,Python3 の実行環境を整備する方法をまとめました.
本記事では pip を用いた仮想環境を構築していきます.

– 利用可能になるまでの所要時間
– Python3:0分 ($\because$ インストール済み)
– pip3:10分


– 実行環境:Windows 11


WSL2 のインストール方法については以下の記事をご覧ください.

https://qiita.com/zakoken/items/61141df6aeae9e3f8e36

# 目次
1. [WSL2 上での Python3 の利用](#1-wsl2-上での-python3-の利用)
1. [pip3によるライブラリ管理のための準備](#2-pip3-によるライブラリ管理のための準備)
1. [仮想環境の構築](#3-仮想環境の構築)
1. [仮想環境下での pip3 を用いたライブラリ管理](#4-仮想環境下での-pip3-を用いたライブラリ管理)

# 1. WSL2 上での Python3 の利用

WSL2 では p

元記事を表示

【Python】ljustとrjustの使い方や注意点をサンプルコードで解説

# 概要
Pythonの`ljust`と`rjust`を使ってみたので、サンプルコードと一緒に紹介します。
これらは、指定した幅になるように文字列の右や左側を特定の文字で埋めることができます。
注意点もあることがわかったので記載します。

# サンプルコード
### `ljust`を使用して左側を`’0’`で埋める

“`py
string = ‘123’

# ljustを使用して左側を`’0’`で埋める
result = string.ljust(5, ‘0’)

print(result)
# 12300
“`

出力結果の通り、文字列の長さが`5`になるように左側が`’0’`で埋められました。

### `rjust`を使用して右側を`’ ‘`で埋める
“`py
string = ‘123’

# rjustを使用して右側を`’ ‘`で埋める
result = string.rjust(5, ‘ ‘)

print(result)
# 123
“`

文字列の長さが`5`になるように右側が`’ ‘`で埋められていることがわかります。

## 注意点
以下の3つがある

元記事を表示

【python3】指定された日付から昨日までを配列に格納し、表示するプログラム(テスト版)

## はじめに
指定された日付(過去日付)から昨日までの日付データを1日ずつ配列に入れて、日付で突き合わせてデータを取りたいなあと思ったのがきっかけで開発しました。

## 目的
指定された日付から昨日までのデータを何らかの形(CSV、JSON、XML etc)で取得して、指定された日付から昨日までの差分データを取得するためのテストとして、指定されたデータから昨日までの日付を配列に格納し、配列の要素を標準出力に出力するテストプログラムを実装しました。なおコーディングルールには従ってない点、ご了承ください。

## ソースコード
“`python
from datetime import datetime
from datetime import timedelta

data1 = input(“日付を西暦4桁、月2桁、日付2桁で入力してください。例) 2024年3月9日の場合は「20240309」と入力してください”)
if len(data1) == 8:
print(“OK”)
else:
print(“NG”)

year = data1[:4]
prin

元記事を表示

S3に格納されているファイルの中身をPythonで取得したい

# はじめに
S3に保存したファイル(csvなど)のファイル名一覧ではなく、**中身の情報**を取得する方法を紹介します。

# 取得方法

以下のポリシーを割り当ててコードを実行します。
【必要なポリシー】
・s3:GetObject
・s3:ListBucket

プレフィックス名は「prefix/prefix」ではなく、「prefix/prefix/」とスラッシュまでを付ける必要がある点でエラーが出やすいので、気をつけてください。
~~~Python:sample.py
import boto3

s3_client = boto3.client(‘s3′)
response = s3_client.list_objects(Bucket='{バケット名}’,Prefix='{プレフィックス名}’)

for content in response[‘Contents’]:
get_object_response = s3_client.get_object(Bucket='{バケット名}’,Key=content[‘Key’])
file_content = g

元記事を表示

さくらのレンタルサーバでPython3(PY_UNSUPPORTED_OPENSSL_BUILD=static)

## はじめに

– さくらのレンタルサーバはPython3が入ってないか or 入っているのは3.8
– OpenSSLも古い
– 3.9までは古いOpenSSLでもOK
– CGIとして動かしたい
– Python実行後にOpenSSLのパスを指定できない(と思う)

Python3の初期のモノをさくらにインストールする記事はいくつか見かけたが、3.10以降は?なので、3.12でCGIを動かすまでを試してみる。

## さくらのレンタルサーバ状況

https://help.sakura.ad.jp/rs/2251/?article_page=2#heading-1

> 3.8.x
> ※旧仕様の一部サーバは、2.7.xです。

新仕様のサーバは3.8.xが入っている様だが、今現在の私のサーバは2.7.xのままでOpenSSLは1.0.2oである。ここに無理やり3.12.xを入れてみる。

## OpenSSLのビルド

さくらのFreeBSD11ではOpenSSLが1.0.xと古く、Python3.9までならOpenSSLを別途用意しなくてもビルド可能だが、Pyth

元記事を表示

OTHERカテゴリの最新記事