Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
垢版 |
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/02/21(月) 12:48:10.10ID:SlMrMd1Q0
>>255
なるほど、その意見には同意できる。対角化とかを手続的に覚えてもしょうがないよなあ。
2022/02/21(月) 12:50:16.58ID:MEWOzonN0
芸術高校や商業高校みたいに数学高校があっても良いよね
2022/02/21(月) 12:54:14.59ID:Vv5lB4cH0
pythonで線形代数の数値計算知らずに困るのは、何でもgルーチンに投げちゃう事くらいでない?
3重対角や三角行列は別に呼ぶとか、ちゃんと条件数チェックをするとか
そのへんが一番大事
2022/02/21(月) 13:02:53.09ID:Vv5lB4cH0
抽象数学としての線形代数を学ぶには行列はむしろ理解の妨げになると思うし、線形代数の具体表現の一つとしての行列は掃き出し法だけやっとけばいいと思う
numpy引くときの落とし穴と効率のよい引き方の学びが全て凝縮されてる
2022/02/21(月) 13:16:29.98ID:Vv5lB4cH0
numpyにはeinsum等配列表現を隠蔽してくれる関数があるから、線形代数の学習にとても教育的だと思う
とりあえず行列で考えてしまう癖が付くと、多重線形がイメージ出来ずに詰む
2022/02/21(月) 13:34:40.55ID:FnAxVQSVM
最近、行列の結合法則も知らずにフォントまわりの実装始めてドハマリしてた蟻○間とかいうやつを見かけた気が…

行列なんて色んな分野で四則演算のように当たり前に登場するんだから高校の指導要領でいいんだよ
262デフォルトの名無しさん (ワッチョイ 8336-J7CF)
垢版 |
2022/02/21(月) 13:38:43.00ID:wf0/YaB30
昔、テトリス作ってて回転させる時どうやろう?って考えてたんだけど、なかなか良い案がうかばず(予め回転させておいた図形を用意しておくとか)、
プロ?のソースみたら行列処理でパッと回転させてた。

数学って大切だなって思ったよw
2022/02/21(月) 13:47:44.61ID:KPnDg4JY0
AtCoderとか、プログラミングを競ってるように見えて、いかに数学知ってるかだしな
264デフォルトの名無しさん (オイコラミネオ MM47-nAeH)
垢版 |
2022/02/21(月) 18:35:55.64ID:4B6rIEmtM
>>248
概念としてでも、全微分と偏微分の説明がある方が理解しやすいと思うんだけどね。
高校数学で微分法のやり方だけ教えられても、なんのこっちゃってなるわな。
2022/02/21(月) 20:16:27.67ID:L+huZtJR0
重積分も要るよね
2022/02/22(火) 13:11:29.21ID:ZRiDdWVcD
>>263
数学知識はアルゴリズムでは有利だろうけど、
データ構造の部分は補完できない気がする
267デフォルトの名無しさん (オッペケ Sr07-83Jl)
垢版 |
2022/02/22(火) 16:26:08.38ID:tFq2X4Pyr
JupyterLab上でCythonとNumbaを混ぜて書くのって、皆さんどうされてますか?
268デフォルトの名無しさん (ワッチョイ cf10-llH5)
垢版 |
2022/02/22(火) 19:28:51.42ID:VxZFbCEQ0
>>266
配列はベクトルだし辞書は写像だぞ
クラスもそう言ったものの組で表せる
2022/02/23(水) 04:11:43.69ID:ecVw6j+60
なんすか写像って?
2022/02/23(水) 08:14:28.55ID:dEsRB2rO0
関数のことじゃないか?
2022/02/23(水) 11:00:59.33ID:q4+ZzjL10
だめだこりゃ
2022/02/23(水) 16:12:00.78ID:wNcLFBxP0
数学で関数を一般化したものが写像
2022/02/23(水) 16:34:11.50ID:k6cUpA1I0
始域とか終域を気にしないなら写像も関数も同じ
274デフォルトの名無しさん (ワッチョイ 932c-jpDQ)
垢版 |
2022/02/25(金) 19:28:54.22ID:g1yppKye0
型ヒントでTrue, False, 0, 1を書きたいときはどうすればいいですか?
単にx: boolだと0か1を入れようとしたとき怒られてしまう
2022/02/25(金) 19:39:00.99ID:+MW+aCEYM
0,1を許すならintの全範囲を入れるしかないな
276デフォルトの名無しさん (ワッチョイ b35f-b3pi)
垢版 |
2022/02/25(金) 20:13:35.43ID:V7gW7EMD0
requests.get

has not うんたらだと

ファイル名を変えろとあるが、ファイル名の何が引っかかってるのかすらわからんわ
ほんとくそ

クソすぎPython
277デフォルトの名無しさん (ワッチョイ 7f0c-JxlO)
垢版 |
2022/02/25(金) 20:21:17.06ID:Gd8T12Wp0
>274
文字列として if x in ['True', 'False', '0', '1'] にする。
278デフォルトの名無しさん (オッペケ Sr07-llH5)
垢版 |
2022/02/25(金) 20:27:27.26ID:ACjsrF+lr
>>274
Union[bool, Literal[0,1]]
279デフォルトの名無しさん (ワッチョイ 932c-jpDQ)
垢版 |
2022/02/25(金) 20:37:59.00ID:g1yppKye0
>>278
あーやっぱりこれしかないんすね
了解
280デフォルトの名無しさん (ブーイモ MMe7-n5qM)
垢版 |
2022/02/25(金) 21:51:21.25ID:jsx2tRykM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
2022/03/02(水) 15:38:22.24ID:idBaDh/00
win10の話

batファイルに
python script1.py
python script2.py
pause

みたいに書いても、1行目だけ実行して終わってしまう
明示的にpythonのパスを指定すれば大丈夫
何故?
2022/03/02(水) 15:45:27.74ID:JcG9HuPr0
俺は動いたぞ
2022/03/02(水) 17:11:23.86ID:T840wOH30
where python
の結果とパス指定したpythonがちがうんでない
2022/03/02(水) 17:19:36.94ID:idBaDh/00
shims/python.bat が動いてるみたい
余計なことを
2022/03/02(水) 18:22:43.21ID:crGwBSaoa
call python ~
batはだいたいcallしたらどうにかなる
2022/03/02(水) 21:18:52.61ID:IV+v6BgH0
>>281
1行目と2行目並行してうごいてたりしない?
2022/03/02(水) 21:22:34.26ID:idBaDh/00
そうはならない
batからbatを呼ぶとそっちに処理が移って戻らない
288デフォルトの名無しさん (ワッチョイ aa36-VNNE)
垢版 |
2022/03/02(水) 22:08:07.22ID:eLOo0YcD0
逆に凄いなw
2022/03/02(水) 23:30:03.53ID:JgRDiBWO0
>>287
基本shのexec相当になるってこと?マジか知らんかった
2022/03/03(木) 03:47:53.51ID:2VolXl3W0
cmdスクリプトはcmdが解釈できるからcallするセマンティクス(サブルーチン)、exit /bで明示的にリターンする
非cmdスクリプトなら解釈できないので当然使えないので、コマンドのセマンティクスになる

pythonを単にコマンド的に使いたいのならエイリアスにするか
PS> nal python -p \path\to\python.exe
(cmd使いなら多分
doskey python=\path\to\python.exe )

あるいはグローバルな変更になるけどシンボリックをPATH通ってるところに置くか
PS>ni python -v \path\to\python.exe -i symboliclink
2022/03/03(木) 03:55:25.10ID:2VolXl3W0
>>286
非同期にプロセス走らせるのはstartコマンド
2022/03/03(木) 04:00:59.79ID:2VolXl3W0
>>289
プロセスを置き換える訳ではないから違う
cmdはcmdスクリプトを直接解釈できるからそもそも化ける必要が無い、shなら.(source)に近い
2022/03/03(木) 04:14:15.66ID:2VolXl3W0
Pythonはpyとかpython.exeとかpython.bat?(俺環にはなかったはず)とか色々cliがあってややこしいね
294デフォルトの名無しさん (JP 0H4f-r1bE)
垢版 |
2022/03/09(水) 18:00:08.18ID:QXIvPM7CH
data = db.idx[10]
print(data.idx) #10

みたいなことがやりたいんですが
外部ライブラリなしで実現できますか?
pandasありゃ事足りるんだけど

data.name[src.name].state = False
みたいな感じに書きたい

print(data.get(name=src.name).id) とかでも…
2022/03/09(水) 18:00:40.60ID:6qKP0lKwa
FastAPIのdependsのようにメソッドへ依存性を注入するライブラリやデコレータってないでしょうか?
2022/03/09(水) 18:24:05.80ID:BS7+0xn70
>>294
そうゆうクラス書けば??
297デフォルトの名無しさん (ワッチョイ 9b2c-r1bE)
垢版 |
2022/03/09(水) 18:45:58.35ID:Va7Ks72V0
>>294
組み込みでやるならmy辞書クラスにドットアクセス機能つけたらいいよ
チェーンもできる。使いやすい
2022/03/09(水) 18:46:28.42ID:BmuwHDcN0
>>294
collections.namedtupleで我慢するか
適当に拡張する
2022/03/11(金) 18:31:46.93ID:I+f+ofSh0
環境がわけわかめになってる
VS code EditorでPowerShell使って、WSLの中に入ったのか、PowerShell使ったのか
とりまAnacondaで環境作ったのに、
どこを定位置にするか
2022/03/11(金) 18:33:01.39ID:I+f+ofSh0
Dockerで作ったほうがいいのか、コラボラトリーも便利だし
2022/03/12(土) 10:53:58.88ID:2x7XRkpq0
ランタイムだけなら小さいから両方入れればいい
俺は特にwslに用は無いんだが、リモートコマンドを試す為に入れてみた
変数のスコープ(ローカル/接続先)とか今まで気にしたことなかったので勉強になります
302デフォルトの名無しさん (ワッチョイ 7e02-t0a9)
垢版 |
2022/03/12(土) 16:53:20.02ID:0WnO0bNJ0
smtplibでメール送るプログラム作っているのですが
こんなBodyの中に変数埋め込む事できますか?
body = u'''
本文1行目
本文2行目
'''
2022/03/12(土) 17:06:53.14ID:vOggJ4gq0
今時旧石器時代のPython2使ってるなら我慢して%フォーマットとかstr.format使ってくださいよ
旧石器時代の遺物なんだから
2022/03/12(土) 17:10:13.85ID:tO7UJ8Pfa
%は使わんわ…
2022/03/12(土) 17:42:38.98ID:8w9oH7w/0
何故最初からf文字列を発明しなかった
2022/03/12(土) 22:11:32.35ID:9cczQYeA0
Ruby on Rails で初心者なら、クラウド開発が簡単。
Heroku, Cloud 9, CircleCI/Github Actions とか

ローカルPC は、OS の設定が難しい

WSL2, Ubuntu, VSCode の拡張機能・Remote WSL とか、

日本人が作った、バージョンマネージャーのanyenv で、
rbenv, goenv, nodenv, pyenv, tfenv(Terraform)とか。
同様のツールに、asdf もある

WSL2 なら、Windows 10 Home でも、Docker Desktop を使えるようになった
2022/03/12(土) 23:26:39.09ID:I8V3fNpzr
>>306
Ruby の話題は、Ruby のスレへ書き込んでください!
2022/03/12(土) 23:55:16.06ID:8w9oH7w/0
dataを入れるリストをdatasにしようと思って、dataは複数形だと思い出す
2022/03/13(日) 00:06:36.81ID:FJ5LNgJs0
dataとか単語選んでる時点で失敗
2022/03/13(日) 00:10:17.75ID:q5deeCy80
別にdでもいい
2022/03/13(日) 00:14:39.66ID:+47b0DPf0
>>308
昨日の俺かよ
イキってギリシャ語やラテン語をそのまま輸入するから変なことになる
312デフォルトの名無しさん (ワッチョイ 7e02-t0a9)
垢版 |
2022/03/13(日) 08:44:57.29ID:PNg3e3/T0
>>303
ありがとうございます。Python始めたばかりなので
なので参考になりました。f’’’で解決しました。
2022/03/13(日) 08:54:54.23ID:q5deeCy80
参考にしたであろうperlとかでも、
"文字列中に $var を混ぜる"
とかできたんだから、python1でやれてて当然なのに
2022/03/13(日) 09:52:45.18ID:LZlYUQW/0
Perlを反面教師以外に参考にしてるなんてRubyくらいやろ
315デフォルトの名無しさん (オイコラミネオ MMe9-HUYZ)
垢版 |
2022/03/13(日) 10:08:52.18ID:3EInARLLM
標準ライブラリのtemplateもある。formatでできることより単純な差し込み向け。
2022/03/13(日) 11:28:50.07ID:HQz48e8Z0
>>308
なんでもsつけて複数形にするのはよく見かけるわな
メガネとか靴とかもとから複数形の物もあるし混乱の種
複数形は集合を表すものじゃないんだから使わないのが一番
2022/03/13(日) 11:37:43.97ID:q5deeCy80
nameのリストの名前
name_listで特に困らない
ちょっとハンガリアン
2022/03/13(日) 11:51:57.64ID:HQz48e8Z0
アドレス帳をaddressesなんて言わんしな
単純にはaddress listでいいわ
データベース的にはfield, record, tableという構造になってる
これに即して命名するのもあり
2022/03/13(日) 12:26:52.57ID:xFTnNj9la
listsがlistのlistだった
2022/03/13(日) 12:35:44.52ID:q5deeCy80
perlだと$nameと@nameは別扱いなので、
push @name, $name;
とかやってた

それはやれてしまっていたというべきで、どう考えても混乱の元だから、
やれてもやるべきではなかった
2022/03/13(日) 13:32:36.18ID:w8tCkHdJM
そりゃアドレス「帳」ならAddressListだろうよ
例えばメーリングリストに含まれるアドレスを処理するために配列に取り出すとかした時の配列名とかの話だろ
2022/03/13(日) 21:39:49.63ID:FJSpDIi20
特定のホットキーを押したら、ウィンドウを動かす的なの
作ろうと思ったんだけど、もしかしてPythonじゃ遅すぎて無理?
2022/03/13(日) 21:48:17.53ID:q5deeCy80
keyhacを試してみるのだ
324デフォルトの名無しさん (ワッチョイ 82f7-qdIG)
垢版 |
2022/03/13(日) 22:05:12.64ID:Eg2cTOah0
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
クソチョンはゲリ便をじゅるじゅると
うまそうに食うw
2022/03/13(日) 22:40:55.14ID:FJSpDIi20
>>323
助かった。dクス
2022/03/14(月) 01:44:51.55ID:j1ckIHBu0
RubyはPerlと同じ罠にひっかかって
ユーザーがぐちゃぐちゃにしたなw
2022/03/16(水) 22:26:49.82ID:pk8gMscxd
配列なら○○Array、リストなら○○List
常考だろ?
2022/03/26(土) 02:56:43.62ID:tYKPI2AU0
printに()を付けるようにするのはどうしても必要だったん?
urllib.urlopenがurllib.request.urlopenになったり、pythonは2→3で必要文字数が無駄に増えて退化したように感じるんだけど
2022/03/26(土) 03:58:19.10ID:Hiiwe0bS0
インポート次第で問題なし
2022/03/26(土) 11:47:46.87ID:O3+9n+yo0
関数のほうが式として使えるから、文としてしか使えない2のprintよりいろいろ便利だよってことみたいだけど
2022/03/26(土) 11:54:09.36ID:FtvuvX4h0
a = ["hoge", "foo", "hage"]
[print(x) for x in a]

昔こんな使い方したことがある
2022/03/26(土) 11:58:33.72ID:Yf6WKcI40
2の文字列の扱いとか面倒だったし3を忌避する理由がわからん
2022/03/26(土) 13:29:55.11ID:0NM75cEC0
いまさら1.5や2にはもどれんけども
最近なんでも取り入れて糞化がすすんでる
2022/03/26(土) 15:07:48.48ID:7QixBL050
そんなほいほい新しいアイディアなんか無いやろ
2022/03/26(土) 15:44:34.49ID:G8hldp180
C++のマジそれ誰が実践で使うのっていうここ5年ほどのライブラリにくらべれば、まだPythonはマシな方。
2022/03/26(土) 16:09:36.02ID:/EcDyLpw0
未だに2と3どちらでも動かせるスクリプトをメンテしてるんだが、
モジュールのインポートで書き分けている(urllib/urllib2など)と、
そのあたりを理解できない頭の悪いPylanceとかが
インポートの問題が解決できないとかうるさい
環境に応じてtryしてるんだから理解してくれよって感じ
2022/03/26(土) 16:20:10.80ID:qLHTxQhk0
頭が悪い以前にそもそもpython2には対応してないかと。
2022/03/26(土) 16:21:50.03ID:k6daO3eta
>>336
おまえバカなんじゃねえの
2022/03/26(土) 17:11:52.39ID:/EcDyLpw0
>>337
3で使われていないモジュール名は理解できないということか
なるほどね
おとなしくJediにしておくかな
2022/03/26(土) 17:21:06.49ID:7QixBL050
2でスタートしたツールは未だに2が多いな
printとか自力で直しても、なんか謎のバグで動かなくて、
まあいいやってなる
2022/03/27(日) 12:16:29.81ID:/rdy5yNE0
長い文字列が
キーワード 文字列1 キーワード 文字列2 ...
みたいに並んでて、
[キーワード 文字列1, キーワード 文字列2, ...]
みたいにリストで切り出したい

固まりの終わりにも別のキーワードがあれば正規表現の .+? でうまくいくけど、
そういうのは無い
愚直に検索して見つかった位置から切り出すしか無いだろうか
2022/03/27(日) 12:27:04.30ID:o0+t6QgP0
「キーワード」と「文字列」は、何で区別できるの?
2022/03/27(日) 12:33:03.46ID:6UVMlVA40
csv
2022/03/27(日) 13:44:52.67ID:cSpAMJara
>>341
キーワード□文字列1□キーワード□文字列2□...(□は空白)
ってこと?
まさかと思うけど文字列nは任意の文字列(空白やキーワードなんかも含む)ってことはないよね?
2022/03/27(日) 13:47:59.10ID:QfDpYMDt0
https://docs.python.org/ja/3/library/re.html#re.findall

re.findall(r'(¥S+)¥s+(¥S+)', 'キーワード 文字列1 キーワード 文字列2 junk ')
2022/03/27(日) 14:01:37.59ID:/rdy5yNE0
理解できないふりをして遊んでるんだろうか
347デフォルトの名無しさん (ワッチョイ a901-VQaK)
垢版 |
2022/03/27(日) 15:12:28.59ID:nYvTQ02C0
質問なんですが
# -*- coding: utf-8 -*-
import glob,os,re
file = glob.glob(‘C:\Users\name\Desktop\*.jpg’)
で取り出したファイル名を使ってファイルを開こうとすると
ファイル名が日本語の場合文字化けしてファイルが開けませんでした。
文字化けを直すにはどうしたら良いのでしょうか?
print(file)した時に文字化け表示される文字は
'C:/Users/name/Desktop\\\x83A\x83\x8a\x83G\x83N\x83`\x83\x83\x83b\x83g\x91\xce\x89\x9e.JPG'
こんな感じです
2022/03/27(日) 15:47:21.70ID:Pt4QK33b0
>>341
単純に前から2つずつ取っていけばいいだけように見えるから
もう少し仕様の詳細を書かないとと何で困ってるのかよくわからないな

正規表現の.+?でうまくいく想定なら求めてるのはlookaheadなのかな?
re.findall(r'(キーワード .+?)(?= キーワード|$)', target_string)
2022/03/27(日) 16:03:23.39ID:/rdy5yNE0
|$ か、なるほど
今ひとつすっきりしないので、キーワードでsplitして先頭を捨てた
キーワード部分は必要なら後からくっつける
350347 (ワッチョイ a901-VQaK)
垢版 |
2022/03/27(日) 17:20:34.91ID:nYvTQ02C0
くだすれがありましたのでそちらに移動します
スレ違いすいませんでした
2022/03/27(日) 17:39:52.96ID:/rdy5yNE0
レコードの先頭だけ識別できて、次の先頭の直前または末尾までをレコードとする
構造を書き下すと、|$ そのままなんだよな
実装が面倒なんじゃなくて構造が本質的に面倒なのか
書く側としては素直なのに

pythonの字下げが終わるまでがブロック、も似たところがある
2022/03/27(日) 20:59:24.88ID:kcBBkNsT0
最近Python入門しました
ドットインストールのPython講座をデータ構造編までやって、今日からスッキリシリーズの機械学習に取り組んでます
パイソニックな書き方に早く慣れたい
2022/03/27(日) 23:13:28.78ID:jm3hrSJpd
機械学習やっててもパイソニックな書き方なんて身に付かないぞ
PandasとJupyterばっかり使ってる奴なんて、プロのデータサイエンティストでもPythonの使い方はだいたい無茶苦茶
2022/03/27(日) 23:55:14.61ID:ZGPAKte20
他の言語で言うところのスマートな書き方って奴で、初心者と中身のない奴が拘ってる印象
2022/03/28(月) 00:02:49.99ID:EKbaCAth0
pythonでより短く書ける程、それはいいコードだ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況