Pythonのお勉強 Part68

■ このスレッドは過去ログ倉庫に格納されています
2022/09/15(木) 18:52:26.67ID:VqLViKoX0
!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://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/

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

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

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ​
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/10/24(月) 05:15:28.86ID:p6w8R1yaM
キーワード引数の違いで引数cがあるときだけ下側を呼ぶような関数オーバーロードってできないんですかね
def myfunc(a:int,b:int)
def myfunc(a:int,b:int,c:int)
2022/10/24(月) 06:55:32.96ID:+/V2/OmRH
>>463
gcc はカバのダンスの調教に疲れて c++ になったかと
2022/10/24(月) 07:32:37.40ID:FaCSJwQ/0
ラズパイを動かすための言語って思ってる人もいるかもしれない
2022/10/24(月) 07:46:28.41ID:LLDppSf/0
>>463
それはそう言う例があるってだけの話
テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
2022/10/24(月) 08:02:02.76ID:m3/1dAn60
>>467
例ってなんだよw
2022/10/24(月) 08:45:07.46ID:ps8GOOL70
はじめにCありき
2022/10/24(月) 08:48:17.61ID:LLDppSf/0
>>468
念の為に聞いておくけどC言語はC/C+でないと作れないとか思ってないよね?
2022/10/24(月) 12:57:00.37ID:m3/1dAn60
>>470
何を言ってるんだ?
支離滅裂だぞ
Cコンパイラの作り方を知りたいのか?
字句解析、構文解析、意味解析、コード生成、最適化とかを知りたいのか?
コンパイラの教科書でも読めば?
ちな俺は大学でその辺やってたから教えても良いよ
2022/10/24(月) 13:06:44.24ID:m3/1dAn60
Cコンパイラ作りたいなら湯淺太一先生のコンパイラの教科書読みな
この本は昔大学で使っててアセンブリ言語のコード生成までちゃんと書いてある
著者はLisp処理系とか作ってた人
この本読めばRustがどういうコード生成してるかもわかる
2022/10/24(月) 13:14:19.77ID:LLDppSf/0
>>471-472
御託はいいから>>470にyes/noで答えろよ
2022/10/24(月) 13:15:55.81ID:rCA25jH/a
>>473
なんでCでしか作れないんだよw
おちょくるのもいい加減にしろ
2022/10/24(月) 13:17:22.92ID:rCA25jH/a
というかマジでわかってない?
コンパイラとリンカとか知らんのかな
それなら謝るけど
2022/10/24(月) 13:17:23.04ID:oX2BqG4d0
どーでもいいw
すれち
2022/10/24(月) 13:19:20.96ID:rCA25jH/a
あまりに前提知識が無さすぎるが故に煽りっぽくなってしまったのなら俺の責任だからそこは謝るよ
2022/10/24(月) 13:21:10.71ID:rCA25jH/a
どうでもよくないよ
コンパイラのこと知らずにRust書いてるならかなり怖い
2022/10/24(月) 13:23:06.14ID:oX2BqG4d0
PythonのスレでRust書いてる前提で話すほうが怖いわw
2022/10/24(月) 13:35:13.05ID:rCA25jH/a
>>479
ん?あ、すまんw
リアルに勘違いしてたw
アスペ出たなあ
2022/10/24(月) 13:35:23.26ID:8nSTkhtC0
ほとんどのスレが閑古鳥だからかスレチでも書きたい欲求が上回るんだろうね
2022/10/24(月) 13:40:32.83ID:rCA25jH/a
ただpythonでC/C++拡張を書く場合には普通に有効だし
知っていて損はないと思うけどね

スレ違いスマソ
2022/10/24(月) 13:45:13.84ID:LLDppSf/0
>>474
お前には聞いてないからいちいち絡んでくるなよ...
2022/10/24(月) 14:40:45.31ID:Ifzcx8SRd
アウアウウー Sa45-sGwS、ワッチョイ 81f0-sGwS
は同一人物でしょ

スレ違いだけど、こっちの流れのほうがわからん
462の発言に対して463が否定した
その後の467が???
>>462 テテンテンテン MMe6-zh4g
> Cコンパイラが何でできているか知っているのは
> コンパイラを作った人だけ
>>463 ワッチョイ 81f0-sGwS
> gccならCだよ
> clangはC++
>>467 ワッチョイ 8201-yYWu
> それはそう言う例があるってだけの話
> テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
2022/10/24(月) 14:57:03.94ID:LLDppSf/0
>>484
だからC言語(のコンパイラやインタプリタ)はC/C++言語でなくても作れるって話
>>463 は単なる一例
もちろんPythonでも同様
2022/10/24(月) 15:22:20.03ID:2pr4kIm+d
>>485
一例ってことは、
462に対して例をあげて否定した463を肯定しつつ、新たな話題で絡んだってことよね

463以前でもそれ以降でも「C/C++以外では作れない」なんて言ってないのに
2022/10/24(月) 15:36:46.66ID:LLDppSf/0
>>486
どうやったそんなアホな解釈になるんだよw
462 はコンパイラ一般の話を書いてるのにそれに対して個々のコンパイラの例を挙げても否定にも何にもなってないって話だぞ
2022/10/24(月) 16:17:10.49ID:ZTzctXE7d
>>487
>>462 コンパイラ一般の話と
>>463 いくつか例外があるぞと
>>467 いくつか例外をあげても意味ないぞ
こういう流れだったか

> テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
んで、2行目のこれは「どこに」かかってるんだ?
2022/10/24(月) 16:37:51.01ID:LLDppSf/0
>>488
頼むから書いてもない例外とかいきなり出してこないでくれ

> んで、2行目のこれは「どこに」かかってるんだ?
いくつかの例以外のものを作れるだろって話
2022/10/24(月) 17:06:30.10ID:/FISPYrld
例外 → 一般とは違う例
と読み替えてくれ

その作られている例と作れる話が繋がらなかったんだ
とりあえず流れは理解したわ
横槍すまんかった
2022/10/24(月) 17:39:36.14ID:LLDppSf/0
>>490
> 例外 → 一般とは違う例
> と読み替えてくれ
意味不明、487の一般の意味がわかってないだろ...
全般と書けばわかるかな?
2022/10/24(月) 17:44:48.33ID:aNKyy4xv0
しつこいと嫌われるぞ
493デフォルトの名無しさん (ブーイモ MMe6-/6zz)
垢版 |
2022/10/24(月) 18:01:08.06ID:neM6LaqeM
そもそもPythonもC言語で実装されているとは限らないしね。普通はCPython以外のことを考えなくていいと思うけど、今でもpypyとか使おうと思ったら考えなくちゃだしな(使ったことないのでよく知らないけど)
2022/10/24(月) 20:11:23.46ID:FaCSJwQ/0
c++で思い出したんだけどboost.pythonでndarrary渡したあとそのままndarrary操作してたら処理にアホほど時間がかかったわ
結局vectorに入れ替えて処理したあとpythonのリストに変換して戻したら早かった
今思えば最初から渡すのリストで良かったな
ndarray渡す利点なんかあるのかな?
2022/10/24(月) 20:35:32.52ID:Uzj8AQ880
>>494
コピーを減らせるのが利点だけど、アクセス時のチェック等で遅くなったら意味ないのでポインタを使う。
コピーをするにしても、ndarrayのデータは連続してるのでリストより速くなると思う。
496デフォルトの名無しさん (ワッチョイ 3901-maSS)
垢版 |
2022/10/24(月) 20:57:46.29ID:1daaREig0
初めてvsコードに触ったんだが
pyhtonのバージョンはどうやってわかるんですかねー
教えて偉い人!
2022/10/24(月) 20:57:59.34ID:SgELnO580
flex とか bison は古典芸能ですか?
498デフォルトの名無しさん (ワッチョイ 3901-maSS)
垢版 |
2022/10/24(月) 21:01:12.11ID:1daaREig0
September 2022 (version 1.72)
これのことかな?
すまん。よくわからんw
2022/10/24(月) 21:07:00.51ID:FaCSJwQ/0
>>495
データが連続してるからリストより早いってのはありそう
昔のコード発掘できたら試してみるわ
2022/10/24(月) 21:58:07.47ID:OQANp5iI0
>>497
今はPEGベースが流行りだね。
501デフォルトの名無しさん (ワッチョイ e933-80Lh)
垢版 |
2022/10/24(月) 22:16:28.14ID:dNNjxJBr0
>>496
右下に表示されてる
そこクリックしたらインタープリターを選択っていうのがでてくる
502デフォルトの名無しさん (ワッチョイ 3901-maSS)
垢版 |
2022/10/24(月) 22:38:27.05ID:1daaREig0
>>501
右下だとこうなります。
imgur.com/a/6CZm37Y
なかなかに初心者には難しいです。
503デフォルトの名無しさん (ワッチョイ 3901-maSS)
垢版 |
2022/10/24(月) 22:44:52.56ID:1daaREig0
あ!できたっぽいw
python3.9.0ってでてきた。
これかな?
2022/10/26(水) 11:41:31.93ID:IsZcNO330
半島系のクズは皆殺しでOK
日本に来て強姦と窃盗を繰り返す極悪非道の朝鮮人
2022/10/26(水) 15:13:34.34ID:/Jbhrlo+a
>>497
RubyやPHPで使われてるから普通に現役だよ
手書きだとCFGから左再帰の除去だとか
先読みトークン数の問題とかすげー面倒だから
初心者はまずbison使えば良いんじゃないか
506デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
垢版 |
2022/10/26(水) 22:25:06.76ID:HUwfFIwe0
質問です
この引数は普通関数と可変引数ですが
この関数を簡単にする方法ありますか?
5個以上の場合も全部記述するしかないですか?


def connect(F, *x) :
l = len(x)
if l==0 : F()
elif l==1 : F(x[0])
elif l==2 : F(x[0],x[1])
elif l==3 : F(x[0],x[1],x[2])
elif l==4 : F(x[0],x[1],x[2],x[3])
507デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
垢版 |
2022/10/26(水) 22:26:26.51ID:HUwfFIwe0
>>506
消費メモリと消費時間を計測するベンチマークの補助関数としてつかいたいのですが
2022/10/26(水) 22:39:31.86ID:Gwv5fEeF0
>>506
F(*x)
509デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
垢版 |
2022/10/26(水) 22:43:13.09ID:HUwfFIwe0
>>508
サンクス
F(x)で駄目だったですが
それでいいんですか
2022/10/26(水) 22:48:38.63ID:1pgEFdE40
python3.11どうですか
511デフォルトの名無しさん (ワッチョイ e933-80Lh)
垢版 |
2022/10/26(水) 23:22:36.27ID:iEeVk++I0
>>509
4.8.5. 引数リストのアンパック
https://docs.python.org/ja/3/tutorial/controlflow.html#unpacking-argument-lists
512デフォルトの名無しさん (ワッチョイ e933-80Lh)
垢版 |
2022/10/26(水) 23:24:41.91ID:iEeVk++I0
ていうかFって
2022/10/26(水) 23:32:56.52ID:3tunJph20
すべてが…
2022/10/27(木) 00:18:45.07ID:F/o6kN8OM
韓国人は強姦魔
処刑すべし!
2022/10/27(木) 00:19:10.85ID:H28rwqsV0
>>508
ウホッありがとな※
2022/10/27(木) 22:55:12.85ID:5KytWWZZ
FastAPI気軽に使えて良いわ
自動で/docs作られるからUI作んの完全に後回しにできる

ついでにSQLModelも、と思ったけどrelationship周りがエラー出たり出なかったりおかしかったが原因がわかった
SQLAlchemyのバージョンが最新のものだrelationshipが効かない、1.4.35だといける・・
あとCRUDの並行処理は無理ぽいかも。
これらさえなければ個人でさくっとお気軽にウェブアプリ作るフレームワークとして完璧なんだが
2022/10/27(木) 23:14:24.71ID:9zZ/mg550
tortoiseはどうですか
2022/10/28(金) 00:04:09.43ID:aYQ1muJl0
ちょんだらけw
2022/10/28(金) 01:57:08.28ID:dcIx+1f70
>>516
https://fastapi.tiangolo.com/tutorial/sql-databases/
ユーザじゃないけどこれ読んだかぎりセッションを自前で管理してないからじゃ
仕組みは用意してないと書いてる
2022/10/28(金) 08:27:01.13ID:aYQ1muJl0
ちょんてさ、半島に帰れば差別されないのに絶対に半島に帰らないよね?

それは、日本が平和で豊かで、
日本人はみな親切だからです。

なのにちょんは差別されてると妄想をいだいて
日本人女性を強姦しまくってる!

ちょんは皆殺しにするしかない!
2022/10/28(金) 08:47:10.38ID:aYQ1muJl0
半島に絶対帰らないちょんw
日本人は犯罪者に親切し過ぎる!
2022/10/28(金) 09:16:34.07ID:lPPjHZ9qa
発作か
2022/10/28(金) 10:42:02.56ID:6fPFyEs10
統一教会が追い詰められてきたから焦ってるんだろ
524デフォルトの名無しさん (ワッチョイ 9109-iO6U)
垢版 |
2022/10/30(日) 03:06:48.95ID:9F5gJDkR0
Python初心者ですが新事実を発見しました
クラスのメンバ変数はデフォルト値が設定してあっても
コンスタントラクタで初期化しないかぎり、別に生成したクラスobjと共有されてるようです
リストとか特定の変数限定かもしれないですが
525デフォルトの名無しさん (ワッチョイ 9109-iO6U)
垢版 |
2022/10/30(日) 03:14:13.07ID:9F5gJDkR0
具体的にこれですが


class A :
L = []
def __init__(self): pass

class X :
L = []
def __init__(self): self.L = []

a = A()
a.L.append(7)
b = A()
print(b.L) # 新規生成なのに値が入ってる

a = X()
a.L.append(7)
b = X()
print(b.L) # 正常
print(a.L) # 正常
2022/10/30(日) 04:02:03.41ID:2IVXofav0
それはメンバ変数でなくてクラス変数だからだよ
527デフォルトの名無しさん (ワッチョイ 9109-iO6U)
垢版 |
2022/10/30(日) 04:51:48.91ID:9F5gJDkR0
そういうことか

Pythonでクラス変数とインスタンス変数を取り違えてハマった
https://qiita.com/7shi/items/d37493c58a8bb8d7beed
2022/10/30(日) 05:37:36.99ID:q24pCrd50
韓国人は神さま!
全財産を寄進せよ!
マンセー!
2022/10/30(日) 07:07:55.87ID:PYm3clPCM
>>525
pythonから入った者には
そらそうだろとしか思わないw
たぶんオレは他言語扱えないな
2022/10/30(日) 07:49:05.29ID:2N6ePwSn0
他の言語でも同等の機能を持つものはあるけどpythonはどちらの変数なのかを明示しないから混乱し易い
2022/10/30(日) 07:56:11.62ID:WAC/PohS0
どっちも同じに見えるのはその方が便利だと思ったんだろうか
必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
2022/10/30(日) 08:30:50.67ID:2N6ePwSn0
>>531
> どっちも同じに見えるのはその方が便利だと思ったんだろうか
変数宣言をしないって言うポリシーなので最初に使った場所で決めるようにした/せざるを得なかったじゃないかなって思ってる

> 必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
使う側はそれでいいけど宣言する人が勘違いしてたら意味ないわけで...
2022/10/30(日) 08:44:46.72ID:YV/Jz1Xt0
つい最近同じように、クラスを覚えようと
「python class」でググった一番上のサイトにやられた

https://camp.trainocate.co.jp/magazine/python-class/

クラス変数もインスタンス変数もめちゃくちゃだった
2022/10/30(日) 08:51:51.63ID:KYgyTmU4M
クラス変数をself.でアクセスしない運用にすれば取り敢えず解決
535デフォルトの名無しさん (JP 0He5-3A4z)
垢版 |
2022/10/30(日) 08:58:13.36ID:ejVjSPjsH
self.__class__.foo
self.FOO
536デフォルトの名無しさん (ワッチョイ 1389-rDGy)
垢版 |
2022/10/30(日) 11:40:59.42ID:0ss8sts10
質問です。
requestsを使って画像をダウンロードする時、
一定のサイズ以下の物をダウンロードしないようにしたいです。
どのようにするといいでしょう?
2022/10/30(日) 12:00:39.70ID:Ofy0PT2CM
>>536
どうすればいいって
自分で質問して自分で答え言ってるじゃん
2022/10/30(日) 12:02:51.23ID:o3zlfJHfa
streamを有効にして、ちびちびと確認しつつ取得
2022/10/30(日) 12:03:47.95ID:o3zlfJHfa
事前にわかってりゃその時点で止めればいいけどね
540デフォルトの名無しさん (ワッチョイ 1389-rDGy)
垢版 |
2022/10/30(日) 12:10:52.74ID:0ss8sts10
>>539
つまり一度ダウンロードしてからcv2等でサイズを確認し、
OKならリネームして保存、NOなら削除
という感じでしょうか?
2022/10/30(日) 12:28:08.24ID:WAC/PohS0
そうでないことは質問者なんだから判ってるだろうに
2022/10/30(日) 12:37:02.73ID:0WCgMjCVM
requests ファイルサイズってググれば一番上に出てくる
2022/10/30(日) 12:37:56.59ID:o3zlfJHfa
サイズって、実データのサイズじゃなくて画像のピクセル数とか色のサイズってこと?
544デフォルトの名無しさん (JP 0He5-3A4z)
垢版 |
2022/10/30(日) 12:41:23.93ID:ejVjSPjsH
画像のサイズっていう文脈なら俺はim.sizeとかを想定するなー
request文脈なら容量のサイズだけどな!
545デフォルトの名無しさん (ワッチョイ 1389-rDGy)
垢版 |
2022/10/30(日) 12:41:44.93ID:0ss8sts10
すいません。
質問の仕方がまずかったです。
画像の横幅とか縦幅の方のサイズのことです。
横幅350px以下の画像をダウンロードする時に除外したいのです。
2022/10/30(日) 12:46:32.71ID:o3zlfJHfa
まあフォーマットによっては頭だけ読めばわかるけど…
2022/10/30(日) 12:59:12.74ID:WAC/PohS0
元々はサイズなんか判らん、というプロトコルがあって、
それでは不便だからと建て増しで追加してるから、
判る場合も判らない場合もあるんだよな
判ったとしても嘘をついている場合もある
548デフォルトの名無しさん (ワッチョイ 1389-rDGy)
垢版 |
2022/10/30(日) 13:09:28.80ID:0ss8sts10
>>547
なるほど
そんな事情があるとは知りませんでした。

オンライン上でサイズを調べるのは無理そうなので、
一度ダウンロードしてから仕分けるようにします。

ご迷惑をおかけしてしまいすいません。
ありがとうございました。
2022/10/30(日) 13:18:51.61ID:XddGgynb0
パッとヘッダ見た感じjpegなら0xA3にWORD値で高さ、0xA5に幅、どちらもリトルエンディアン
pngなら0x10にDWORD値で高さ、0x14に幅、リトルエンディアン
って感じだね
上手くヘッダの一部だけダウンロードして画像サイズを得る関数を作ればトラフィック軽減になるかも?
2022/10/30(日) 14:39:50.92ID:XddGgynb0
暇だから作ってみたおじさん
https://ideone.com/2Bakfp
2022/10/30(日) 15:26:12.39ID:VC4EQr6u
デザインパターンのSingletonパターンって必要ですかね・・
結局なんらかのカウンターで一元管理することになりませんか・・
2022/10/30(日) 15:49:28.81ID:Hd1qfqu50
バイトコードってヒープ領域に格納されてvmに渡されるのですか?
2022/10/30(日) 16:53:19.41ID:pkba5bNo0
>>549
ビッグエンディアンね
jpegは画像サイズが含まれるセグメントの位置が固定ではないので決め打ちは危険
2022/10/30(日) 16:56:31.04ID:40a1nlTva
>>551
使わないほうが良いものである
2022/10/30(日) 17:24:05.37ID:yaCBWxQaa
>>552
そうです
内部的にはPyCodeObjectという形で実装されています
2022/10/30(日) 17:53:38.94ID:Hd1qfqu50
>>555
ありがとうございます!
2022/10/30(日) 18:13:35.82ID:CDidbViTM
>>524
他言語触ってて
先に型ヒントつけて宣言しとこで同じ間違いしたわ
2022/10/30(日) 19:10:27.11ID:XddGgynb0
>>553
本当だ逆に覚えてた恥ずかしい
JPEGはサイズ前の5byteが共通っぽかったから>>550ではFF C0 00 11 08を検索するようにしてみたけどFF C0後の3byteは可変っぽいね
そもそも1KB以内にサイズ情報があるかも分からないのか
2022/10/30(日) 23:05:03.89ID:q24pCrd50
ここは朝鮮人のスレ
チョッパリはくるな!
2022/10/30(日) 23:53:08.68ID:vrlOFY0H0
発作か
561デフォルトの名無しさん (ブーイモ MM33-cv0M)
垢版 |
2022/10/31(月) 14:05:35.97ID:j6J+ogvNM
>>551
なんないよ
2022/11/01(火) 02:33:37.39ID:mmiO/WJW0
不特定の文字・数字・記号、またそれらの組み合わせを意味する表記で記入する方法を教えて下さい

[123456aaaあ井う~〜」
↑みたいなのがあったとして、数字や文字は毎回変わる、場合によっては桁数が変わったりもする
テキストファイル内で上記のパターンの文字列を見つけて、その前の位置で改行を入れるみたいなことをしたいです

イメージですが下記みたいに表して a に代入しておいて
[123456aaa文字] → [%%% ¥¥¥¥¥¥¥¥] or [%(桁数)¥(桁数)]

replace(a,”/n”+a) でテキストファイルを書き換えるようなことって可能ですか?
2022/11/01(火) 02:42:25.93ID:mmiO/WJW0
誤字 /n → \n
564デフォルトの名無しさん (ブーイモ MMeb-cv0M)
垢版 |
2022/11/01(火) 03:36:18.46ID:I1aopbaSM
なるほどわからん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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