- 1. Python 復習
- 2. 文系SEがPythonエンジニア認定データ分析試験を短期間で合格した話
- 3. 文系SEがPython3エンジニア認定基礎試験を受験した話
- 4. R使いの皆さん、Pythonのキモいところをいっぱいお見せします(対策あり)
- 5. Xarray と julia (NCDatasets) の対応
- 6. Python:二次元リストを作る際の注意点
- 7. is や not などは値の計算には使わない
- 8. WindowsPCでJupyterLabを始める(Miniconda利用)
- 9. Python学習で僕がやったことを公開
- 10. 【Game A Week:一週目】スライドパズルを作ってみた
- 11. 競技プログラミングで使えるPython計算のTips
- 12. VSCode の拡張機能 Flake8 と autopep8 に pyproject.toml を読み込ませる
- 13. 文系SEがPythonエンジニア認定実践試験受けてきた
- 14. 絵文字を一文字ずつ処理する方法
- 15. Pythonでprintデバッグから卒業する【VSCode・CursorでPythonのデバッグ】
- 16. Anaconda(conda) / Python / PyPI(pip) コマンド比較
- 17. [Python3][Linux]画像サイズを一括変換する方法
- 18. ターミナル文字列出力時、かっこいいエフェクトを追加する
- 19. Openpyxl: シートのコピー
- 20. python-lambda-local を使って AWS Lambda 関数をローカル環境で実行する
Python 復習
# はじめに
先日、職業訓練校を修了した、bdrccです。
最近はPHPに注力していたこともあり、Pythonの基本構文がだんだん抜けていることに気がつきました。
そこで、改めて基本的な文法を、ここでアウトプットしておこうと思います。# 文字列を1文字ずつ配列に
`split`ではなく、`list`で“`py:
name = ‘bdrcc’
name_split = list(name)
print(name_split)
# [‘b’, ‘d’, ‘r’, ‘c’, ‘c’] が出力される
“`# 1文字ずつの配列を結合
`join(~)`で
これは記憶がありました“`py:
name_split = [‘b’, ‘d’, ‘r’, ‘c’, ‘c’]
name_join = ”.join(name_split)
print(name_join)
# bdrcc が出力される
“`
文系SEがPythonエンジニア認定データ分析試験を短期間で合格した話
# Python3認定データ分析試験の体験記です。
23年9月末にPython3認定データ分析試験を受験し合格しました。
昨今、Python認定試験の受験予定者が多くなってきたと感じました。当時短期間で合格することが出来たため、その際のノウハウを残し、これから受験する皆様の参考になればと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/f3589341-c740-1603-7fe5-cdf88ae896f8.png)
# 私の当時のスペック
当時、私は文系学部の大学を卒業した後、公務員を経て転職し、IT企業(SES)で5年目でした。
IT業務の経歴は、インフラ系に身を置いた後、アプリ開発のプロジェクトを担当していました。アプリ開発を担当していましたが、プログラミングをがっつり行っていた訳ではなく、サーバ周りの業務を担当していました。
私は2020年度にPython認定基礎試験を受験し合格しました。
基礎的なPythonの書き方を把握していましたが、デ
文系SEがPython3エンジニア認定基礎試験を受験した話
# Python3エンジニア認定基礎試験合格体験記
2020年9月末にPython認定基礎試験を受験し合格しました。お伝えできる内容が少し年数を経過してしまっていますが、受験合格に向けた学習の糧にして頂ければと思います。
受験規約により試験問題を記載することは出来ませんが、私が受験した試験の感想を残し、これから受験する皆様の参考になればと思います。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/3efd5135-d4b1-ef78-e29e-0531d7c80bb7.png)
# 私のスペック
当時私は、私は文系学部の大学を卒業した後、公務員を経て転職し、IT企業(SES)で2年目でした。
当時は、インフラ系の業務に身を置いていて、プログラミング経験はありませんでした。
しかし、プログラミングの力を付けたいと思い、当時人気言語として評判があったPythonを勉強し始めたのがきっかけです。# 勉強時間
当時私が勉強していた期間はおおよそ1ヵ月程度だった記憶です。
R使いの皆さん、Pythonのキモいところをいっぱいお見せします(対策あり)
# はじめに
こんにちは、事業会社で働いているデータサイエンティストです:
普段の業務ではRやSQL、git、Docker関連のlinuxコマンドなどを使っていて、Pythonを利用することはほとんどないですが、言語仕様自体は理解しています。
以前Pythonの観点からRのキモいところをいっぱい説明する記事を出したら、かなり良い反応があったので、
https://qiita.com/Gotoubun_taiwan/items/d958623d09100ea8095e
今回はR、特にtidyverseのモダンな観点から、Pythonのキモいところを説明しようと考えております。
具体的にはR言語(R6オブジェクト指向プログラミングシステムは除く)には存在しえないミュータブルなオブジェクトの挙動と、pandasの型のゆるさを中心に共有できればと思います!
結論を先に話すと、**Python書くときはPythonの言語仕様にあった書き方をしましょう**。これはプログラミングを超えた社会の真理だと思います。無
Xarray と julia (NCDatasets) の対応
## はじめに
juliaのnetcdfデータを扱うパッケージに[NCDatasets](https://alexander-barth.github.io/NCDatasets.jl/stable/)がある。doiも発行されている([https://doi.org/10.21105/joss.06504](https://joss.theoj.org/papers/10.21105/joss.06504))。
pythonのnetCDF4に相当すると思われるが、比較する記事を見つけられなかった。自分も含め、netCDF4よりもxarrayを使う人もいると思うので、ここでは**ごく基本的なxarrayの関数とNCDatasetsの関数をなんとなく対応させること**を目指してまとめた。(用語や文法の説明は適当です。気が向けば追記します。)## NCDatasetsのインストール
juliaは導入済みを想定
まずターミナルでjuliaのREPLを起動
“`bash
$ julia
“`
のち
“`julia:julia(REPL)
julia> using Pkg
jul
Python:二次元リストを作る際の注意点
# 二次元リストを作る際の注意点
皆さん、二次元リストを書く際、どのように記述していますか?
恐らく多くの人が以下のようにfor文を用いて記述していると思います。“`py
fields=[[0 for _ in range(4)] for _ in range(4)]
print(fields)
# [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
“`ただ、二次元リストを作るだけなら以下のようにも記述できますよね。
“`py
fields=[[0]*4]*4
print(fields)
# [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
“`リストの中身にもよりますが、状況によっては下のコードの方が、短く済みそうですよね。
しかし、実は下のコードは二次元リストとしての役割を果たしていません。
試しにリストの中身を更新してみます。
まずは、for文で書いた二次元リストから更新します。“`py
fields=[[0 for _
is や not などは値の計算には使わない
## TL;DR
– `is` や、`is not` はオブジェクトの同一性を判定するための演算子(Identity operator, 同一性演算子)
– 同一性演算子は数値計算には使わないほうがよい## 事例
とあるPythonコード
“`python
a = 255
b = 1
a + b is a + b
True
b = 2
a + b is a + b
False
“`### ポイント
– 数は違うが同じ値を比較している
– `is` や、`is not` を比較している### なぜなのか
– `is` や、`is not` は同一性演算子(Identity operator)とよばれ、値ではなく更に厳密にオブジェクトが同じかを判定する
– 数を足したり引いたりしたものを比較する際にも、Pythonでは新たにオブジェクトが作成される
– Pythonでは、すべてのリテラル(数値や文字列)に対してオブジェクトが作成される
– ***ただし最初の部分では比較されているオブジェクトはプール化されているため最初の結果がTrueとなる***###
WindowsPCでJupyterLabを始める(Miniconda利用)
# 概要
Minicondaを利用して、WindowsPCでJupyterLabを使えるようにする手順です。JupyterLabはPythonの統合開発環境(IDE)で、データ解析や機械学習のためのコード作成、実行、共有を簡単に行うことができます。
# ゴール
JupyterLabでNotebookを新規作成し、動作確認までを行います。# 手順
### 1. Minicondaのインストール
– [Minicondaのダウンロードページ](https://docs.conda.io/en/latest/miniconda.html)からWindows用のインストーラをダウンロードする
– インストーラをダブルクリックして起動し、指示に従ってMinicondaをインストールを進める### 2. Minicondaのパスを環境変数に追加
– インストールが完了したら、コマンドプロンプトを開く
– 以下のコマンドを実行して、Minicondaのパスを環境変数に追加する
※ `u-data` の部分は、自分のユーザーネームに置き換えてください。“`
setx
Python学習で僕がやったことを公開
# Pythonプログラミングチュートリアル
こんにちは!
私はPython未経験から案件に入ったのですが、同じ体験をする人がいるかもしれないので僕が案件参画までにやったことをまとめました。以下にチュートリアル的な感じで作成しているのでやってみて下さい。
https://github.com/masakiShito/python-tutorial
この記事では、私が作ったチュートリアルの概要を説明します。
## 対象読者
このチュートリアルは、以下のような読者を対象としています。
– Pythonプログラミングを初めて学ぶ初心者
– 基礎的なPythonスキルを磨きたい中級者
– 実際のプロジェクトでPythonを活用したいと考えている方
– Pythonの標準ライブラリや応用例を学びたい方## チュートリアルの意図
このチュートリアルを作成した意図は、以下の通りです。
1. **基礎から応用まで一貫した学習**:
– Pythonの基礎から始めて、オブジェクト指向プログラミングや例外処理、標準ライブラリの使い方まで体系的に学べるように構成しています。
【Game A Week:一週目】スライドパズルを作ってみた
## はじめに
普段はPHPなどを使ってwebアプリ開発を行っていますが他の技術も身に着けたいのでGame A Weekに挑戦しようと思います。## Game A Weekとは
「Game A Week」とは一週間でゲームを1つ作って、ゲーム開発の経験値を上げる方法として、オランダのインディー系デベロッパー「Vlambeer」のRami Ismail氏が提唱したものです。詳細については以下の記事を読んでみてください。https://note.com/syun77/n/n8063d509a864
## 振り返り
### Idea
スライドパズルを作成しました。
![スライドパズル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2954837/43461242-6d15-49fa-ac12-9300923add55.png)https://github.com/eyamagishi/slide_puzzle
### What I learned
– Pythonを使用しての開発
– Pyga
競技プログラミングで使えるPython計算のTips
# モチベーション
最近(今更)AtCoderを本格的に始めた者です。
AtCoder Beginner Contestで300~400点程度の問題をしっかり取れるようになることを目標に頑張っています。解けなかった問題に対して解説を読んで復習をするときに、
「この解説と同じような理論で実装してるはずなのにTLEになってしまう」
「やりたいことはわかるけど書かなければいけないプログラミングの行数が多すぎる」ってことありませんか?筆者は滅茶苦茶ありました。
そこで、「実はこうすると速いんだよ」っていうTipsをここでまとめておきます。ほぼ筆者の備忘録用ですが皆さんの参考になれば幸いです。
## ビット演算
N個のものがそれぞれあるかないか、本当かウソか、真か偽かなどを扱う問題で$2^N$通りを全探索する場合などがあります。このとき、筆者はこんな面倒くさいコードを書いてしまっていました↓
“`python
lst = []
for i in range(2**N):
s = bin(i)[2:] # bin(2) = ‘0b10’
while(len(
VSCode の拡張機能 Flake8 と autopep8 に pyproject.toml を読み込ませる
VSCode の拡張機能 **Flake8**, **autopep8** では`settings.json`で各種設定が可能です
“`settings.json
{
“[python]”: {
“editor.defaultFormatter”: “ms-python.autopep8”
},
“autopep8.args”: [
“–aggressive”,
“–indent-size”,
“4”,
“–max-line-length”,
“119”,
“–ignore=E111, E114, E402, E501”
],
“flake8.args”: [
“–ignore=W293, W504, E111, E114, E402, E501”
]
}
“`しかし,Poetry のプロジェクトのような場合には`pyproject.toml`に設定を記載することが多いかと思います
その場合,
文系SEがPythonエンジニア認定実践試験受けてきた
# Python3エンジニア認定実践試験の体験記です。
2024年5月3週目にPython認定実践試験を受験して合格しました。
まだまだインターネット上にPythonエンジニア認定実践試験を受験したナレッジが少ないように感じました。
受験規約により試験問題を記載することは出来ませんが、私が受験した試験の感想を残し、これから受験する皆様の参考になればと思います。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/96d94ac8-ae67-92f5-20da-16bea35c2083.png)
# 私のスペック
私は文系学部の大学を卒業した後、公務員を経て転職し、IT企業(SES)で6年目になります。IT業務の経歴は、インフラ系に身を置いた後、アプリ開発のプロジェクトを担当していました。
がっつりプログラミングする経験はありませんでした。
現在はRaspberryPiを用いたWeb Script業務をしています。当時は業務でPythonを触る機会はなかったのですが、プ
絵文字を一文字ずつ処理する方法
# 結論
[emojiモジュール](https://pypi.org/project/emoji/)を使うと、できます。
“`python
import emoji
text=”👧🏻”
emoji.replace_emoji(text,replace=lambda e, data_dict:print(e,end=” “))
# 👧🏻
“`
# 解説一般的に、Pythonで一文字ずつ処理したい場合、これでいけます。
“`python
text=”ABCD”
[print(e,end=” “) for e in list(text)]
#A B C D
“`
しかし、ZWJ emojiが含まれている状態で行うとうまくいきません。
“`python
text=”👧🏻”
[print(e,end=” “) for e in list(text)]
# 👧 🏻
“`## 参考
https://carpedm20.github.io/emoji/docs/#non-rgi-zwj-emoji
Pythonでprintデバッグから卒業する【VSCode・CursorでPythonのデバッグ】
# はじめに
CやC++においてVSCodeの拡張でデバックを行ったことがあるのですが、Pythonでも簡単に導入できたので記事にしました。:::note warn
注意
VSCodeと書いていますが、実際にはCursorを使用しています。どちらでもほぼ同じ形で使用できると思います。
:::VSCodeのデバックを導入することで出来るようになること
1. 全ての変数の値がわかる
1. ブレークポイントを設定して、プログラムを途中で止めながら順番に確認する事ができる
1. print文を書かなくて良くなる# 導入
VSCodeの拡張機能をインストールします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085757/59b6d8e3-ce27-5050-653a-1834c9004f9d.png)
画面左側の「launch.jsonファイルを作成します」をクリックすると、今開いているプロジェクトのルートに`.vscode`ディレクトリと`launch.json`が作成
Anaconda(conda) / Python / PyPI(pip) コマンド比較
# 概要
Anaconda(conda) / Python / PyPI(pip) コマンドを比較しました。
###### 表1. コマンド情報
|コマンド|バージョン|備考|
|:–|:–|:–|
|conda|24.1.2[^1]|Anaconda|
|python|3.9.18[^2]|Python|
|pip|21.2.3[^2]|PyPI|
# Anaconda と Python コマンドの比較
###### 表2. Anaconda / Python コマンド情報
|用途|Anaconda ( conda コマンド)|Python ( python コマンド)|
|:-|:-|:-|
|仮想環境作成|\\$ conda create –name <仮想環境名> python=<Pythonバージョン番号>例)
\\$ conda create –name testEnvAna01 python=3.11
\\$ conda create –name testEnvAna02 python=3.6|\\$ pyt
[Python3][Linux]画像サイズを一括変換する方法
## 要 旨
Linux下においてPython3を使用して画像サイズを一括変換する方法について記述します。
## 実施要領
### 準備
作業用フォルダimage_resizeの作成
“`linux
mkdir image_resize
“`
作成したimage_resizeフォルダ内に入る。
“`
cd image_resize
“`仮想環境venv構築
“`
python -m venv .venv
“`
仮想環境のアクティブ化を実施
“`
source ./.venv/bin/activate
“`
画像処理に便利なPIL(Python Image Library)をインストールする。
“`
pip install pillow
“`
画像サイズを320×320に一括変換する処理を含ませたpythonコードを作成する。
なお変換可能な画像の型式は、png、jpg、jpegである。
“`python3:resize.py
from PIL import Image
import osdef resize_images(input_dir, output
ターミナル文字列出力時、かっこいいエフェクトを追加する
## はじめに
とにかくかっこいい見た目が好きなので、ターミナル・かっこいい・エフェクトというワードを見つけたので、やってみました。ターミナルの文字列出力にかっこいいエフェクトを追加できるライブラリ「TerminalTextEffects」
https://gigazine.net/news/20240529-terminal-text-effects/
## 環境
– WSL2(Linux-Ubuntu)
– python3が必要## TerminalTextEffectsインストール
“`bash:WSL2:Ubuntu
# アップデート
sudo apt update
sudo apt upgrade -y# pipxのインストール
sudo apt install pipx -y# terminaltexteffectsのインストール
pipx install terminaltexteffects# パスを通す
pipx ensurepath
“`ターミナルを再起動が必要
## ScreenFetchインストール
紹介されていた記事で使
Openpyxl: シートのコピー
file_a.xlsx のシート1を、file_b.xlsx にコピーする方法です
## プログラム
“`py:sheet_copy.p
#! /usr/bin/python
# —————————————————————
# sheet_copy.py
#
# May/31/2024
# —————————————————————
import sys
import openpyxl
from openpyxl.styles import Border, Side, Alignment, Font# —————————————————————
xlsx_in=sys.argv[1]
xlsx_out=sys.argv[2]
#
sheettitle = ‘コード一覧’wb1 = openpyxl.load_work
python-lambda-local を使って AWS Lambda 関数をローカル環境で実行する
# はじめに
Lambdaのプログラムをテストする際、毎回 Lambda 関数を更新して実行するのは面倒ではないですか?
そこで良い方法ないかなと調べていたところ、 **python-lambda-local** というツールを知りました。https://github.com/HDE/python-lambda-local
# 仕様
Python 3.7+
今回試した環境のバージョンは 3.9.6 でした。
“`bash:バージョン
$ python3 –version
Python 3.9.6
“`# インストール
pip でインストールすれば完了です。“`bash:インストール
$ pip install python-lambda-local
“`# オプション
使い方とオプションは以下になります。“`bash:使い方
$ python-lambda-local [-h] [-l LIBRARY_PATH] [-f HANDLER_FUNCTION]
[-t TIMEOUT] [-a ARN_ST