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

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

Pythonエンジニア認定基礎 受験記録

先日Pythonエンジニア認定基礎を受験してきました。
自分の記録のため、勉強期間や資料などを記載しておこうかと思います。
[Python 3 エンジニア認定基礎試験](https://cbt.odyssey-com.co.jp/pythonic-exam/python3basic.html)

## 結果

合格!
とりあえず11000円が無駄にならなかったことがうれしい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780076/9335b88f-057b-6de0-2185-a6eed7075f68.png)

## 受験の動機

アサインされていた案件が終了し、次が決まらず待機になったので、何か勉強しておこう、ついでに次の面接でプラスになりそうなものを、と思ったことが一番の動機です。
Pythonには興味津々だったものの実務経験がないので、どの程度使えるかの目安になれば未経験でもチャンスないかな?と思ったことがきっかけです。

## 勉強前の予備知識とスキルレベル

Pyth

元記事を表示

AtCoder入茶まで半年かかった凡人がやったこと

こんにちは、Yuyoです。プログラマーになるべく、日々精進している人です。
先日のAtCoderという競技プログラミングコンテスト(通称競プロ)のサイトで、色が一番下の灰色から一つ上がって茶色になりました!
![ScreenShot 2024-05-13 13.57.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/568092/074fb9bf-90de-75d4-3ee0-dceb48cd86fa.png)

そこで、今回は私が茶色になるまでにやったこと、普段問題を解いている環境、これからどうしていくかについて書いていきたいと思います。
また、前置きが少し長いので、私の取り組んだことについて、知りたい方は4から読むことをお勧めします。

# 目次
[1.AtCoderとは?](#1-AtCoderとは?)
[2.AtCoderのメリット・デメリット](#2-AtCoderのメリット・デメリット)
[3.使用してる言語・エディタ・便利機能](#3-使用してる言語・エディタ・便利機能)
[4.茶色に

元記事を表示

pygameでゲームつくるよ!2024

# 1.はじめに!
__皆さんはじめまして!__
今回が初投稿の __たまねぎ(@onion0815)__ です!よろしくお願いします^^
早速ですが、今回からpythonでゲームをつくっていきます!!

### おしながき ~ 今回の目標 ~
– 環境構築

# 2.環境構築
はじめに __環境構築__ を行います!
僕はAnacondaを使っているのでそこに仮想環境を作っていきます。
とはいっても、pythonとpygameをインストールするですが(笑)
では早速やっていきましょう!

# 2-1.仮想環境の立ち上げ
まずは”Anaconda prompt”でゲーム制作用の仮想環境を用意します。
ゲーム制作用とわかるように名前は “game_project”にして作ってみます!
※game_projectの部分を変えれば好きな名前にできます

“`:仮想環境の立ち上げその1
conda create -n game_project
“`
コマンドを実行すると、proceed([y]/n)と「作っちゃうけどだいじょぶそ?」のような感じの確認が入りますが[y]を選択しちゃってく

元記事を表示

異文化交流した話【arduino/c++ ⇒ raspberrypi/python】

arduinoの民が…ラズパイに…出会ったぁ~([10日ぶり2回目](https://qiita.com/kei_tnk/items/2815002705fcf4c994f0)

# はじめに
– GWの間はラズパイ5の環境構築ばかりしてたけど、さすがに飽きたので、ラズパイのパーツを動かしてみた。
– ラズパイ5より、arduino系統っぽいラズパイzero2w(以下、pi02)を購入したのでそちらで作業してみた。
– pi02は、ラズパイ5と同様に[usb接続でssh接続可能](https://qiita.com/kei_tnk/items/33b2d99b4c84c564237e#%E3%81%8A%E3%81%BE%E3%81%91%E3%81%AE%E3%81%8A%E3%81%BE%E3%81%91%E8%BF%BD%E8%A8%98zero2w%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AEusb%E6%8E%A5%E7%B6%9A)にしてある。なお、osはlegacy_64bit版を使用。古い奴の方が、困ったときの事例検索が楽そうだったので

元記事を表示

【環境構築】Pythonの実行環境構築のベストプラクティス

– `python`の実行環境には`docker`を使用していたが、電力消費が多いのと接続クラッシュがしやすく悩んでいた。
– 仮想環境の構築が苦手だったが、一番良さそうな方法をLLMが教えてくれたのでメモ。

はい、以下の手順でHomebrewを使ってpyenvをインストールし、pyenvで仮想環境を作成して、VSCodeで使用できるようにする方法をまとめました。

1. Homebrewでpyenvをインストールする
– ターミナルで以下のコマンドを実行 [1][2][4][10][13]
“`
brew install pyenv
“`
– シェルの設定ファイル(~/.bash_profileまたは~/.zshrc)に以下を追記 [1][3][4][13]
“`
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”
“`
– 設定ファイルを再読み

元記事を表示

PythonでPC用通知システムを作る

# PC用通知システム
notify-pyライブラリを使うことでPC用の通知システムが簡単に作れます。

pip install notify-py

でライブラリをインストールできる

## テストコード(Linux用)
“`python:ntf
#!/usr/bin/python3

from notifypy import Notify

# 通知オブジェクトを作る
n=Notify()
# 何も操作しなければ通知エリアにメッセージが残るように設定
n.urgency=”normal”
# メッセージタイトル
n.title=”テスト通知”
# メッセージ
n.message=”メッセージテスト”
# 通知送信
n.send()
# この他にも、アイコンや音 等も設定できる。

“`
このファイルに実行権をつけてください。

## 応用
外部データベースやAPIと連携することで、独自通知システムが可能になる。

元記事を表示

python GUI tcl/tk ウィンドウ全体リサイズ時にフォームサイズも伸縮させる

# 実行サンプル

tcltk の GUIレイアウト配置で
grid や pack のオプションを適切に設定して
ユーザーがウィンドウを大きくしたり、小さくしたときに
配置された各部品(フォーム) が同時にサイズ伸縮するようにした例。

設定していないと、フォームのサイズが変わらず、
違和感のある表示になってしまう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/a2d20aae-4678-8c4d-f02b-a67d81707f52.png)

# 実行環境
windows10
python3.9.5

pythonモジュール tcl/tk

# 実行手順
ソースコードを作成する
windowsコマンドプロンプトでプログラム作成したフォルダに移動し、下記実行する
“`
python プログラム名.py
“`

# 参考 URL
https://tkdocs.com/tutorial/grid.html

# ソースコード

https://github.

元記事を表示

【Python】「FileExistsError: [Errno 17] File exists: ‘xxx’」エラーには`exist_ok=True`オプションを

# エラー内容
Pythonアプリで以下のエラーが発生。

> FileExistsError: [Errno 17] File exists: ‘loggings’

# 原因と解決方法

BEFORE:

“`py
import os

os.makedirs(“loggings”)

# FileExistsError: [Errno 17] File exists: ‘loggings’
“`

AFTER:

“`py
import os

os.makedirs(“loggings”, exist_ok=True)
“`

`os.makedirs`関数は、既に存在するディレクトリを作成しようとすると`FileExistsError`を発生させる。

これを防ぐためには、`os.makedirs`関数の`exist_ok`パラメータを`True`に設定すると良いです。デフォルトでは`False`になっています。

`True`にすると、ディレクトリが既に存在していてもエラーが発生せず、ディレクトリが存在しない場合のみ新たに作成されるようになりました。

元記事を表示

python GUI tcl/tk 子ウィンドウ起動 改善版:起動引数

# 実行サンプル
子ウィンドウ起動

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/6bc2b158-ec33-a9a1-c926-df86e9aa1c94.png)

・ボタン押下で mode 指定して、子ウィンドウ起動
 モード指定により、画面GUIが違うものとして表示される

・ChildWindowが既に存在する場合はメッセージボックスで通知し、新たに開かないようにする

・childWin.py で mode を引数として受け取る

・childWin 起動後、画面が閉じられるまで、次の処理は実行されないようにする

・00_mainWin.py と childWin.py で情報受け渡しする

・ childWin.py func_initを複数用意することで、GUI表示や、渡す引数を自由度高く切り替えできるようにする
  例)↓これらを 00_mainWin.py から呼び出す
  func_init_01(),
  func_init_02(self,

元記事を表示

Pythonの例外ハンドリング

## Pythonの例外ハンドリングについて学習
Javaと同じ点や異なる点を整理しながらPythonの例外ハンドリングについて学習する。

## try節
Javaと同じで、例外が発生する可能性のある箇所で使う。exceptかfinallyのどちらかは必須。

## except節
Javaのcatchと同じで例外を捕まえることができる。
asで一時変数を定義することができる。

## else節
すべてのexcept節よりも後ろにelse節を置くことができ、例外が発生していない場合の処理を記載することができる。

:::note info
どのような使い方をすれば効果的なのかを調べる。
:::

## finally節
Javaと同じで、例外の発生有無にかかわらず実行される処理を書くところ

## 基底クラスでの例外捕捉
Javaと同じで、except節で基底クラスを指定することで、継承しているクラス例外を捕捉することができる。

## raiseで例外送出
Javaのthrowsと同じようにraiseで例外を送出することができる。

## with文
Javaの[try-with

元記事を表示

機械学習における重み減衰率を理解して過学習を防ごう

モデルの過学習を防ぐための手法の1つ。数学的にはL2正則化と同義。

重みの値が大きくなりすぎるのを防ぐために、重みの大きさに比例したペナルティを損失関数 L に与える。

$$L’ = L + \frac{\lambda}{2} \sum_{i=1}{w_i^2}$$

ここでλは正則化の強さを調整するハイパーパラメータであり、Transformersライブラリに含まれるTrainingArgumentsで引数として使えるweight_decayではこの値を設定している。

– λの役割: 過学習の防止

重みが大きいと、小さな入力の変化に対しても出力が大きく変動することがある。

これはモデルがデータの微小な変動やノイズに対して敏感に反応している状態を示しており、過学習の典型的兆候である。

λを増やすことで、モデルはデータの本質的なパターンを捉えつつ、訓練データのノイズに過剰に適合することを防げる。

その結果、モデルによる予測は入力データの微小な変化に対して頑健になる。

元記事を表示

SMILES 化合物構造を文字列でPythonに入力する方法

# はじめに
こんにちは、@sasshi_iです。

ケモインフォマティクスの分野では、化合物の構造を計算機に入力するため様々な表現方法があります。

今回は文字列で分子構造を表現するSMILESについて紹介します。

# SMILESとは?
## 概要
SMILES(Simplified Molecular Input Line Entry System)は、**分子の構造を表現するために文字列を使用する表記法**です。

1980年代に開発されたこの表記法は、分子や化学反応をコンピュータプログラムに簡単に入力し、保存するために広く使用されています。

例えば、解熱鎮痛薬のバファリンの成分であるアスピリンはSMILESだと `CC(=O)Oc1ccccc1C(=O)O`と表現されます。

SMILESはrdkitを用いてプログラムに入力できます。
rdkitはケモインフォマティクスの分野で広く使用されるpythonのライブラリです。

“`python
from rdkit import Chem
Chem.MolFromSmiles(‘CC(=O)Oc1ccccc1C(=O)O’

元記事を表示

pycordで作成したdiscord botのトークンをenvファイルに保存して、githubにpushしよう

# はじめに
前回の記事で[pycordを使ったdiscord botの作成記事](https://qiita.com/maooz4426/items/2c39929756af5541648f)を書いたのですが、discordbotのアカウントトークンを直書きしていました。
これをGitでpushすると、、、

“`
git push origin main
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.02 KiB | 1.02 MiB/s, done.
Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local

元記事を表示

Pythonの備忘録 (初心者) <数学の基礎計算(三角関数)>

僕がPythonのmath library使い方をド忘れした時のための備忘録を作成します。

:::note warn
あくまで記事は使用例です
厳密さを必要とする場合は下記LINKを参照してください。
https://docs.python.org/ja/3/library/math.html
:::

math libraryのimport

“`python
import math
“`
:::note info
:::

三角関数の使用例

“`python
theta = math.radians(45)
print(theta)
“`
:::note
出力
0.7853981633974483
:::
角度からラジアンに変換
詳細は下記wiki参照
[^KEY]:
https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0

三角関数の計算結果

“`

元記事を表示

Pythonの備忘録 (超初心者)

僕がPythonの使い方をド忘れした時のための備忘録を作成します。

Pythonのif文では制御構造を使用して、同じコードブロックを正誤判定を実行することができる
![スクリーンショット 2024-04-22 14.24.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3575336/19c43b75-d615-a729-5d44-3510f747cffc.png)

:::note warn
あくまで上記はイメージです
厳密さを必要とする場合は下記LINKを参照してください。
https://www.python.org/
:::
今回はif文の使い方の基本を書き下ろしておきます。

if文を設定

“`python
if 5/2 = 2.5
print(“5は2で割った時2.5になります”)
“`
:::note alert
エラー
if 5/2 = 2.5
^
Sy

元記事を表示

包括的に効果検証を自動化する関数を作ってみた

以前に効果検証のプログラムを作ったのですが、

https://qiita.com/murasaki1994/items/1b3bc37ee01203363edc

これについて図を作り差・t値・p値を各因子から自動で算出するプログラムを作ってみました。
# 関数
“`Python3
import scipy.stats as stats
import matplotlib.pyplot as plt
def effecttest2(df, columns, y_name, auto=False):
ave = []
dtr = []
pos = []
lab = []
x = 0
for col in columns:
values = list(set(df[col].values))
tmp_ave = []
tmp_dtr = []
tmp_pos = []
tmp_lab = []
for val in values:

元記事を表示

ROS2とQt5を使って自作UIを作ろう!!(1)

# はじめに
ロボコンをしていると、強豪校は自作のコントロールUIを作ったりしているのをよく目にします。
今回私がUIを書こうと思ったのは、それが単純にかっこいいと思ったからです。しかし、いざ書こうとすると、どのように書いたらいいかわかんなくなると思います。そんな人のためにこの記事を書きました。少しでも役に立つと幸いです。思ったより長くなりそうなのでpartを分けます。今回はROS2とQt5の連携の仕方です。
# 今回の学ロボで作ったUIの機能(ざっくり)
今回のUIに求めた機能は以下のようになっています。
* ロボットに乗せてあるカメラの画像の表示
* ボタンによってロボットに司令を送信する
* ロボットが今どこにいるのかの可視化
* ロボットの状態の表示
完成品はもう少しタイマー等の機能が増えて以下のようになりました。
![IMG_8558.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3531353/1104d68c-f8b1-fdee-bd7e-3045a1123874.jpeg)
この記事では

元記事を表示

[Django]Serializerのテストを作成してみる

## はじめに
自分用の個人開発のメモ/備忘録として記録していきます。

## 環境
django5.0
↓ dockerでの開発環境作成はこちら

https://qiita.com/mkthrkw/private/588226d30690c707d2b8

↓ 認証ユーザーモデルはこちらをそのまま利用

https://qiita.com/mkthrkw/private/b2ea8fb8f33a68faab87

## やりたいこと
Serializerのテストを一通り書いてみる

## 前回

### Modelのテスト

https://qiita.com/mkthrkw/items/c3fcebcbc17fe761bdd1

### Viewのテスト

https://qiita.com/mkthrkw/items/acd54a56f5cf600ca97b

## テストについて下調べ
おもに下記のようなテストをやる模様。
|No|カテゴリ|内容|
|–|—-|—-|
|1|シリアライザインスタンスの作成|テスト対象のシリアライザインスタンスを作成|
|2|バリ

元記事を表示

PostgreSQL: バイナリーデータの取り扱い

こちらのページを参考にしました。
[Aurora(PostgreSQL)のbytea列にバイナリデータをpythonでインサートする](https://zatoima.github.io/aws-aurora-bytea-insert-binary-data.html)

## PostgreSQL への接続情報

User: scott
Password: tiger123
DataBase: db_pdf

## テーブルの用意

“`sql:create_table.sql
create table table_pdf
(
id int primary key,
pdf bytea not null
);
“`

“`text
$ psql -U scott db_pdf < create_table.sql CREATE TABLE ``` ## データの挿入 fuji.pdf というデータを挿入します。 ```py:pdf_insert.py #! /usr/bin/python import psycopg2 import psycopg2.

元記事を表示

df.assign(column=lambda)でif文がうまく機能しない件

## 概要
以下のコードの実行するとどうなるでしょう?
### コード
“`python
import pandas as pd
df = pd.DataFrame(data={ “A”: [1, 0, 1], “B”: [101, 102, 103]})
df = df.assign(C=lambda x: x.B if x.A == 1 else 0)
df
“`

### 結果
“`shell
—————————————————————————
ValueError Traceback (most recent call last)
/var/folders/vr/jqnz40rd3hnfhg8qrp388zyr0000gn/T/ipykernel_29170/1740181337.py in ?()
1 import pandas as pd
2 df = pd.DataFrame(dat

元記事を表示

OTHERカテゴリの最新記事