- 1. Pythonでdiscord botを作る(py-cord)1
- 2. venvで仮想環境を作ろう!Python開発をもっと快適に
- 3. python3_練習
- 4. Pythonの基礎を固めよう!
- 5. Pythonにおける==とisの違い
- 6. Python 復習
- 7. 文系SEがPythonエンジニア認定データ分析試験を短期間で合格した話
- 8. 文系SEがPython3エンジニア認定基礎試験を受験した話
- 9. R使いの皆さん、Pythonのキモいところをいっぱいお見せします(対策あり)
- 10. Xarray と julia (NCDatasets) の対応
- 11. Python:二次元リストを作る際の注意点
- 12. is や not などは値の計算には使わない
- 13. WindowsPCでJupyterLabを始める(Miniconda利用)
- 14. Python学習で僕がやったことを公開
- 15. 【Game A Week:一週目】スライドパズルを作ってみた
- 16. 競技プログラミングで使えるPython計算のTips
- 17. VSCode の拡張機能 Flake8 と autopep8 に pyproject.toml を読み込ませる
- 18. 文系SEがPythonエンジニア認定実践試験受けてきた
- 19. 絵文字を一文字ずつ処理する方法
- 20. Pythonでprintデバッグから卒業する【VSCode・CursorでPythonのデバッグ】
Pythonでdiscord botを作る(py-cord)1
# はじめに
### 今回の記事の対象
– pythonの実行環境がすでに整っている
– vscordなどのeditorの準備がすでにできている
– pythonの基本的な書き方がわかっている
– discord botのアカウントの作成方法がわかっている
# py-cordの入れ方
“`
pip install py-cord
“`
ターミナルに入力してください# 基本的な使い方
#### prefixコマンドの実装方法
“`python3
import discord
from discord.ext import commandstoken = “”
bot = commands.Bot(
command_prefix=”!”,
intents=discord.Intents.all(),
help_command=None
)@bot.command()
async def hello(ctx):
await ctx.respond(f”hello {ctx.author.mention}”)bor.run
venvで仮想環境を作ろう!Python開発をもっと快適に
# venvで仮想環境を作ろう!Python開発をもっと快適に
Pythonを使った開発をしている皆さん、仮想環境は使っていますよね?
私のロールは開発者ではないのですが、個人的なツールを作るときに仮想環境の便利さを知ってしまい、最近ようやくvenvを使って仮想環境を管理するようになりました。## venvって何?
venvとは、Python 3.3以降に標準ライブラリに追加された仮想環境管理ツールのことです。仮想環境を使うと、プロジェクトごとに独立したPython環境を作ることができます。つまり、プロジェクトAとプロジェクトBで、別々のパッケージやそのバージョンを使い分けられるということです。
## venvを使うメリット
– 標準ライブラリなので、別途インストールが不要
– 軽量で使いやすい
– プロジェクトごとに環境を分離できるので、依存関係の衝突を防げる## 仮想環境の作り方
1. プロジェクト用のディレクトリを作成
“`
mkdir myproject
cd myproject
“`2. 仮想環境を作成
“`
p
python3_練習
## Prompt:
undefined## Response:
はい、承知しました。私は世界最高のアプリケーション設計エンジニアとして、あなたのアプリケーション要件に対する最適な設計案を提案させていただきます。アプリケーションの要件をお聞かせいただければ、以下の点を考慮しながら、最適な設計をご提案します。
1. ユーザーエクスペリエンス (UX) の向上
2. パフォーマンスとスケーラビリティの確保
3. セキュリティとプライバシーの確保
4. 保守性と拡張性の向上
5. 開発の効率化とコスト最適化アプリケーションの目的や主な機能、対象ユーザー、非機能要件などをお聞かせいただけましたら、それらを踏まえて最適なアーキテクチャ、 UI/UX デザイン、使用する技術スタックなどを具体的にご提案させていただきます。
ご要望やご質問がありましたら、どんなことでもお聞かせください。世界最高の設計案を一緒に作り上げていきましょう。
## Prompt:
undefined## Response:
はい、業務要件を整理しました。主なポイントは以下の通りです。1. 会社概要
Pythonの基礎を固めよう!
PythonでHello Worldを実装しよう!
print(‘Hello World’)
Pythonにおける==とisの違い
# 前書き
Pythonにおける比較演算子として==演算子とis演算子があります。
これらは混同されがちですが、その明確な違いについてメモしておこうと思います。# 結論
==演算子はオブジェクトの等価性を比較し
is演算子をオブジェクトの同一性を比較する# 説明
### ==演算子
==演算子は、オブジェクトの値が等しいかどうかを比較します。
つまり、オブジェクトが同じ**内容**であるかどうかをチェックします。
例えば、`a == b`は、aとbの値が等しい場合にTrueを返します。### is演算子
is演算子は、オブジェクトの同一性を比較します。
つまり、オブジェクトが同じ**メモリ位置**を指しているかどうかをチェックします。
例えば、`a is b`は、aとbが同じオブジェクトを指している場合にTrueを返します。# 確認
下記の例では?の箇所に==もしくはisが入ります。
どちらが適切でしょうか。### 例1
“`
a = [1, 2, 3]
b = a
if a ? b:
print(“Same object”)
else:
pr
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`が作成