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

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

Python初心者のための基礎入門

# はじめに
プログラミングをこれから始める方、Pythonをこれから始める方に向けて簡単に学習をできるように記事を作ってみました。
この記事1つで、基礎的なPythonの記載方法を学べるようにしているので長い記事となっています。
目次から学習したいところをクリックして、対象の場所まで飛んで学習してみてください。

また、誤りのある点や感想などありましたら是非コメントの方よろしくお願いいたします!
Qiitaへの投稿も初めてのためアドバイスの方もよろしくお願いいたします!

# 目次
**[1.pythonとは](#pythonとは)**
**[2.環境構築](#環境構築)**
**・[2-1Pythonのインストール](#2-1pythonのインストール)**
**・[2-2環境変数の設定](#2-2環境変数の設定)**
**・[2-3VisualStudioCodeのインストール](#2-3visualstudiocodeのインストール)**
**・[2-4拡張機能の追加](#2-4拡張機能の追加)**
**[3.pythonファイルの作り方](#pythonファイルの作り方)**

元記事を表示

【python】 NFC felica 一次発行~内部認証の実装

felica認証の実装を解説している記事があまりなかったので記録として残しました。
公式ドキュメントをベースに進めていきます。
本記事は大まかに以下の構成となっています。
1. 一次発行~felicaカードにIDを書き込む~
1. 内部認証スクリプトの作成
1. 作成したスクリプトのまとめ

# 前提とするもの
[ユーザーズマニュアル3章 ブロック](https://www.sony.co.jp/Products/felica/business/tech-support/data/fls_usmnl_1.4j.pdf)の21ページにあるブロックについての情報
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629819/2dfe59f3-842d-9028-9b6a-ce611a487f55.png)

以下に記載するスクリプトは、ファイル上に書き込まれているものとして扱います。

SystemCode,BlockCodeの指定と、tagの読み込みです。
BlockCode(`bc`)

元記事を表示

26卒 エンジニア就活 アウトプット

# この記事について

この記事は、思考の整理と理解を深めることを目的に、これまでインターンやハッカソンで習得してきた技術についてまとめたものです。

以降、何か新しい技術を学んだときや体験談を書こうと思ったときには、随時追加していきたいと思います。

## 開発履歴

### 個人開発
[所属ゼミのホームページを作った時の話(ポートフォリオ)](http://qiita.com)

– Reactコンポーネント
– Chakra UI
– Bootstrap
– ナビゲーションバー
– ハンバーガーメニュー(レスポンシブ対応)
– Swiper(スライダー)
– グリッドレイアウト

### チーム開発

[ニフティ株式会社の5daysインターンで「プロバイダ比較サイト」を開発した話](http://qiita.com)

– Seeder(DBマイグレーション&シーディング)
– flask-mail(メール通知機能)

元記事を表示

初心者がWebアプリのテストフェーズを自動化してみた!(準備編)

# 自己紹介だの経緯だの
はじめまして!!記事を読んでくださりありがとうございます!
Webアプリの開発をやってる森んちゅというものです!

アプリの機能が充実してきた(嬉しい)….のはいいものの、
テストに割ける労力がない!じゃあ自動化すればいいじゃないかと一念発起した….のはいいものの
思ったより複雑そう!なのでQiitaにメモしながら頑張ろう!ついでに初心者が躓く点を共有しよう!ってな感じで始めました!
今回は準備編です!躓きポイントがあったら随時記事を書いていくつもりです!聞きたいことがあればできるだけ答えます!初心者なのでアドバイスもお願いします!
# テストの全体像
## 今はどうやって開発してるの?
今まではバージョンリリースごとにこんな感じで開発サイクルを回していました。テストをろくにしてないのにデカいバグが見つかってこなかったので、かなり有能だと思います。**特に、テストすべき事項を開発段階前にまとめておくことで、開発中は過去問を持った大学生のような万能感が生まれるのでお勧めです。**
![image.png](https://qiita-image-stor

元記事を表示

pyserialで文字コードを直接指定して送信

pythonを使用してシリアル通信で文字コードを直接指定して送信したい場合
通信相手:E220-900T22S

とりあえず書いてみる

“`python
import serial

ser = serial.Serial(‘COM1’, 9600)
pt = ‘\xc1\x00\x08’
ser.write(pt)
ser.close()
“`

encodeしてくださいと怒られる
“`
TypeError(‘unicode strings are not supported, please encode to bytes: {!r}’.format(seq))
“`

encodeしてみる

“`python
ser = serial.Serial(‘COM1’, 9600)
pt = ‘\xc1\x00\x08’
pt = str.encode(pt)
ser.write(pt)
ser.close()
“`

モジュールから0xff,0xff,0xffが返ってくるのでコマンドが違うようです
encode後のptの2文字目をordで数値化してみてみる。

“`py

元記事を表示

競プロをPythonでやるときのチートシート

# 競プロをPythonでやるときのチートシート
競プロをpythonでやるときのチートシートです
標準入力などよく使うものをまとめてみました
ジャンルでまとめてあります

# 標準入力
複数行はリスト内包表記かfor分で書くと良いです
スニペットにまとめとくと便利です
### 文字列一つ
標準入力の基本のき
“`python
input()
“`

### 文字列が一行に複数
あまり使いません
文字列は複数行が多いと思います(灰色の感想)
“`python
input().split()
“`

### 整数一つ
“`python
int(input())
“`
### 整数が一行に複数
“`python
list(map(int,input().split()))
“`

# 出力
入力の次に大事?
### リストを空白区切りで出力
“`python
print(*A)
“`
これだけです区切り文字を付けたい場合は引数にsepを追加します
改行区切りの例
“`python
print(*A,sep=”\n”)
“`

# 数学系
### 1からnまでの総和

元記事を表示

pythonのファイル操作をまとめてみた

## 問題の発生
ファイル操作がよくわからないのでまとめてみた

## ファイルを読み込むとき
基本形)
“`python:python
with open(‘テキストファイル名’,’ファイル操作モード’) as 置き換えるファイル名:
操作
“`
例)
“`python:python
with open(‘test1.txt’,’r’) as f:
s = f.read()
“`

## ファイル操作モードの種類
| ファイル操作名 | 効果 |
|:-:|:-:|
| r | 読み込み |
| w|書き込み |
| a | 追記 |
| r+ | 読み込み+書き込み |

### 参照するファイル test1.txtの中身
ぼくはボブです
99歳です。
よろしくお願いします

### 読み込み
#### 全ての行を読み込む
“`python:python
with open(‘test1.txt’,’r’) as f:
s = f.read()
print(s)

#結果
#ぼくはボブです
#99歳です。
#よろしくお願いします

元記事を表示

boto3:PythonでAWSを操作

## boto3とは
boto3は、Pythonを用いてAWSの各種サービスにアクセスするためのライブラリです。
AWSのAPIをPythonコードからシームレスに操作できるようにするツールで、PythonのオブジェクトのようにAWSリソースを扱うことができます。

## 基本的な概念
boto3を効果的に利用するためには、「セッション」と「クライアントとリソース」という2つの概念を理解することが重要です。

### ・セッション
セッションは、boto3がAWSサービスにアクセスするために使用するコンテキストを提供するオブジェクトです。セッションを使うことで、AWSの認証情報(アクセスキーやシークレットキーなど)や、デフォルトリージョン、使用するプロファイルを設定できます。boto3は、デフォルトでは、環境変数や設定ファイルから認証情報を自動的に取得しますが、セッションを明示的に作成することで、複数のAWSアカウントやリージョンを簡単に切り替えて使用することができます。

たとえば、次のようにしてセッションを作成し、特定のプロファイルやリージョンを指定します。
“`python
i

元記事を表示

paizaラーニング問題集「【シミュレーション 1】反復横跳び」を解いてみた

https://paiza.jp/works/mondai/b_rank_new_level_up_problems/b_rank_new_level_up_problems__repeated_side_jump

▼考え方

ポイントになる考え方1.~6.を以下に示します。

1.【題意の掘り下げ】左の線を元の位置から外側にXcm遠ざけられたあとに、中央の線から左の線をまたぐときに、Xcm多く移動します。次に、左の線から中央の線をまたぐときに、さらにXcm多く移動します。

2.【題意の掘り下げ】例えばN=1のとき、友達が線をまたぐのがN*4+2回(6回目)までは、本来の反復横跳びの移動距離に差はありません。7回目に中央の線から左の線をまたぐのでXcm、8回目に左の線から中央の線をまたぐのでXcm、多く移動します。

3.移動距離に差がない移動回数は除外して考えます。Kが移動回数で、N*4+2が移動距離に差がない移動回数です。

4.N=1、Xcm、K=20とします。移動回数1~6は移動距離に差がありません。7回目にXcm、8回目にXcm、多く移動します。その時の例を以下に示します

元記事を表示

PythonプログラムのExe化:cx_Freezeの使用

# 概要

* cx_Freezeのモジュールを用いて、Pythonプログラムをexe化する方法を記載
* cx_Freezeの詳細は以下を参照のこと
* https://cx-freeze.readthedocs.io/en/stable/
* CUI(コマンドプロンプト、ターミナルなど)操作でpythonを実行できる前提で記載

# インストール
* cx_Freezeは、pip、condaどちらでもインストール可能

“`
pip install –upgrade cx_Freeze
“`
“`
conda install conda-forge::cx_freeze
“`

# 実行
* Exe化する方法は大きく3通りあるが、個人的に使用しやすいsetupスクリプトを使用する方法を示す
* Exe化の方法
* https://cx-freeze.readthedocs.io/en/stable/overview.html

* cx_Freezeのsetupファイルは以下で作成

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その123 Dropdown による最善手・評価値の対応表の変更

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/c4150416c994571b2803

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/123/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/123/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/123/test.py) | テストに関する関数 |
| [util.py]

元記事を表示

Python(PyAutoGUI)によるPC画面の自動クリック

# 内容

* PC画面の所定位置を一定時間間隔で自動クリックするPythonのプログラム例を示す
* 最初にクリックする位置(座標)とウィンドウを取得
* クリックはEscボタンを押すまで継続
* 記載プログラムではマウス動作などで多少時間間隔は前後するため、改善の余地あり
* Pythonの構築やモジュールのインストール方法は未記載

# プログラム概要

* 以下のモジュールを使用
* pyautogui
* 画面位置(座標)取得とマウス操作に使用
* pygetwindow
* 所定の画面をアクティブ化するために使用
* pynput
* マウス、キーボードの動作検知に使用
* time
* 動作時間の確認に使用。任意
* csv
* 動作時間の結果のテキスト出力に使用。任意

* プログラムの流れは以下
1. モジュールのインポート
1. クリック座標の取得
* クリック座

元記事を表示

さくらインターネットのGPUサービスDOKでVALL-E X(音声読み上げAI)を試す

[DOK](https://www.sakura.ad.jp/koukaryoku-dok/)はコンテナー型のGPUサービスで、NVIDIA V100とかH100を実行時間課金で利用できるサービスです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/98a7fac2-c363-088f-8072-0a6b65395fe2.png)

[コンテナー型GPUクラウドサービス 高火力 DOK(ドック) | さくらインターネット](https://www.sakura.ad.jp/koukaryoku-dok/)

今回はこのDOKで、[VALL-E X(音声読み上げAI)](https://github.com/Plachtaa/VALL-E-X) を試してみました。

## 実行までのステップ

1. さくらのクラウドのアカウントの用意(必須)
2. Dockerイメージのビルド環境(Linuxなど)を用意
3. Dockerイメージのビルド
4. DOKにイメージをアップ

元記事を表示

python(41) error(138)

“`python
—————————————————————————
ModuleNotFoundError Traceback (most recent call last)
in ()
2 import codecs
3 from pprint import pprint
—-> 4 from datasets import load_dataset
5
6 # サンプルデータが保存されているパス

ModuleNotFoundError: No module named ‘datasets’

—————————————————————————
NOTE: If your import is fa

元記事を表示

Python:辞書型のget()メソッド第2引数(default)は常に評価される

何を言っているかわからないタイトルになってしまっていますので説明します。

## 辞書型のget()メソッド

“`python
>>> data = {‘lastname’: ‘suzuki’}
>>> print(data.get(‘lastname’, ‘nanashi’))
suzuki
>>> print(data.get(‘firstname’, ‘nanashi’))
nanashi
“`
上記のように、辞書型(dict)の get() メソッドを使うと存在するキーであればその値、存在しなければ第2引数のデフォルト値を返却する動作が記述できます。
(第2引数を省略した場合は None が返ります。)
KeyErrorが発生せず横着できるので好んで使っています。

## 第2引数の評価タイミング

この第2引数、どうやら常に評価されているようです。
第1引数のキーが存在した場合、第2引数部分の評価が不要であることは明らかで、処理しないだろうと勝手に思い込んでいたのですが、そうではないようだ、ということが本ポストの内容です。

## 確認

確認してみます。

“`py

元記事を表示

【Mac&Windows】Docker,Django,Nginx,PostgreSQLで環境構築

## はじめに
– 参考文献にある記事を参考に環境構築を進めていました
– しかしながら、AppleシリコンのMacBookとWindows環境の両方で動作するには少し修正が必要かもしれないと思い、本記事を投稿します
– 参考した記事に含まれる内容も多く含まれますが、ご了承ください

## 前提
– フレームワークはDjango
– DBはPostgreSQL
– アプリケーションサーバはGunicorn
– WebサーバはNginx
– DB側のコンテナ名はdb、django側のコンテナ名はapp、nginx側はwebにします
– 開発用はdocker-compose.yml(Django+PostgreSQL)として作成します
– 本番用はdocker-compose.prod.yml(Django+PostgreSQL+Nginx)として作成します
– 作成するプロジェクト名はdjangopjにしていますが別のプロジェクト名で作成する際はdjangopjと置き換えて作成してください

## ディレクトリ構成
初回作成時のディレクトリ構成は以下の通りです
containersフォル

元記事を表示

PythonでHTMLをExcelファイルに変換する方法

データ処理や分析の過程で、ウェブページから情報を取得し、より操作しやすい形式に変換する必要がよくあります。HTMLテーブルは、一般的なデータ表示形式として、オンラインレポートや統計資料などのシーンで広く使用されていますが、その構造化レベルが低く、データのクリーンアップや分析には適していません。**HTMLテーブルをExcelワークシートに変換**することで、Excelの強力なデータ処理機能を利用して、並べ替え、フィルタリング、計算などが簡単に行えるだけでなく、他者と共有したり、長期的に保存したりすることが可能になります。Pythonを使用すれば、この変換プロセスを効率的に実行し、データ移行を迅速に達成できます。
本記事では、**Pythonを使用してHTMLをExcelファイルに変換**する方法を紹介します。

– **[PythonでHTMLをExcelワークシートに変換](#pythonでhtmlをexcelワークシートに変換)**
– **[PythonでHTMLテキストをExcelのセルに書き込む](#pythonでhtmlテキストをexcelのセルに書き込む)**

本記事で

元記事を表示

言語処理100本ノックを始めるための(自分なりの)環境構築

https://nlp100.github.io/ja/

## 何をするのか
言語処理100本ノックを始めることにしたので環境構築をしていきます。
「あくまで個人の感想です。」なので他にいくらでもやり方はあるのですが、自分が思う最善の環境構築をします。
※ ここでは具体的なコードは載せません(自分で調べながら作った方が確実です)

## なぜいきなり言語処理?
ずばり…**研究室の課題**です!
と言っても、嫌々やるというわけではありません。

趣味でAtcoderをやっているせいか、プログラムで問題を解くことが好きなのでそこまで苦ではありません。(始める前なので何とでも言えます)

## 環境構築とかいらなくない?!
世の中にはGoogle Colabとかいう非常に便利なツールがあります。
コード補完もあるし、実行結果を残したままにできるし、何より、下手に環境構築しなくても使えます。めちゃくちゃ便利です。

**ただ、そういうことではないんです!
何が何でもvscodeでコーディングがしたいんです!**
(エンジニアの方ならわかってくれると信じてます)

ということでColab

元記事を表示

python で特定のURLにログインする

Pythonで特定のURLにログインできることを確認するコードを書くには、通常`requests`ライブラリを使用します。以下に、基本的なログイン機能をテストするコードの例を示します:

“`python
import requests

def test_login(url, username, password):
# セッションを作成
session = requests.Session()

# ログインページにアクセス
login_page = session.get(url)

# ログインに必要なデータを準備
login_data = {
‘username’: username,
‘password’: password,
# 必要に応じて他のフォームデータを追加
}

# ログインリクエストを送信
response = session.post(url, data=login_data)

# ログイン成功の確認
if re

元記事を表示

ViewSet actionsの種類 | Django REST Framework

Django REST FrameworkのViewSet、特にModelViewSetで自動的に提供しているlist, retrieve, create, update, partial_update, destroyなどのCRUDアクションの種類を整理します。

参考:公式ドキュメント[ViewSet actions](https://www.django-rest-framework.org/api-guide/viewsets/#viewset-actions)

# create
– HTTPリクエスト: POST
– 役割: 新しいレコードを作成します。通常、POSTリクエストを処理し、新しいインスタンスをデータベースに保存します。新規登録によく使われます。
“`python
def create(self, request, *args, **kwargs)
“`

# list
– HTTPリクエスト: GET (複数のオブジェクト)
– 役割: 全てのレコード、またはフィルタされたレコードのリストを取得します。通常は/api/resource/のようなリクエストに

元記事を表示

OTHERカテゴリの最新記事