Pythonのお勉強 Part73

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f610-G7il)
垢版 |
2024/06/06(木) 08:48:10.07ID:DsazphEm0
!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のお勉強 Part72
https://mevius.5ch.net/test/read.cgi/tech/1703659345/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2024/07/20(土) 19:32:32.03ID:5OHSUBrx0
せっかく抽象化の仕組み作ってんのに
何かしたらポインタが出てくるという
悲しき言語
241デフォルトの名無しさん (ワッチョイ 7a3b-U8Y+)
垢版 |
2024/07/20(土) 19:37:16.96ID:pd3T6vIK0
>>239
オブジェクト指向設計ができるから
242デフォルトの名無しさん (ワッチョイ 7a3b-U8Y+)
垢版 |
2024/07/20(土) 19:38:32.16ID:pd3T6vIK0
>>239
変数と関数へのポインタを含む構造体をC言語で作ると関数をメソッドのように呼び出せる
2024/07/20(土) 19:47:49.59ID:szaKrRmH0
Bボタン押してると速く走れるくらい基本技だよ
244デフォルトの名無しさん (アウアウエー Sa02-hIhh)
垢版 |
2024/07/20(土) 19:50:01.72ID:JfCCJ2oka
C++にはvtableという隠しメンバがおるんやで
245デフォルトの名無しさん (ワッチョイ 7a3b-U8Y+)
垢版 |
2024/07/20(土) 20:09:41.06ID:pd3T6vIK0
>>243
それハードウェアの割り込みだから別物
2024/07/20(土) 22:16:10.12ID:HiyJxQDg0
>>243
たとえが古すぎる
だが100%同意する
247デフォルトの名無しさん (ワッチョイ 5312-aLFS)
垢版 |
2024/07/22(月) 21:07:44.56ID:SbBOLwbq0
言葉が古すぎる
2024/07/22(月) 21:17:26.98ID:eB6Mh8rN0
関数をメソッドのようにってメソッドは関数ちゃうんか?
2024/07/22(月) 21:52:20.09ID:KKI1xebv0
関数に入れられるのは数値やデータだから
モノを扱うなら関数ではなくメソッド
2024/07/22(月) 21:56:20.98ID:IoUmr5an0
自由関数をメンバ関数のように、って言いたいんだろうな
2024/07/22(月) 22:19:25.73ID:kAQiF9kn0
>>248
クラスやメソッドがないC言語で`foo.bar()`とか`foo->bar()`のように
構造体のインスタンスをレシーバーっぽく使って関数を呼び出す話だと思うよ

マジでBダッシュレベルの基本技だけど
C言語使わなければ知らなくても何の問題もない
メソッドもファーストクラス関数もない言語とかもうC言語以外に触れる機会無いから
2024/07/23(火) 06:59:40.67ID:tXXTtv/k0
>>249-251
そういうことか
C言語にはメソッドが無かったからなのね
2024/07/23(火) 07:10:17.60ID:4XhDIIO5M
XView はC言語用のAPIだけどメソッドはあったぞw
254デフォルトの名無しさん (ワッチョイ 5312-FUF1)
垢版 |
2024/07/23(火) 17:33:28.33ID:TPPfHQM20
C言語の話なのにC++の話だと思う人間がいるように、C++は失敗しているプログラミング言語。

オブジェクト指向でないのにPythonはオブジェクトという用語を取り入れたせいで、初心者もそうでない人間も気持ち悪いものになっている。
2024/07/23(火) 18:06:09.22ID:xnSNk6y30
いやオブジェクト指向だよ
別にそうでない書き方もできるだけ
2024/07/23(火) 20:26:56.80ID:O28HvEHi0
perlは元々は全然オブジェクト指向じゃなかったのに、
bless追加するだけでオブジェクト指向化した

あの手法は見事だし、オブジェクト指向なんて所詮はその程度のもの
C++は言語仕様すら変えずにプリプロセッサでやっていて、
努力は認めるけどろくなもんじゃない
257デフォルトの名無しさん (ワッチョイ 4967-MarV)
垢版 |
2024/07/23(火) 21:24:32.99ID:8wiIiKG40
C言語だってマクロで頑張ってオブジェクト指向プログラミングしてたりするライブラリもあるしね。GTKとかね。読めるまでがつらすぎるけど。
258デフォルトの名無しさん (ワッチョイ 53be-c9uF)
垢版 |
2024/07/24(水) 19:28:21.05ID:mAHVpeHr0
Django得意なやつおらん?
259デフォルトの名無しさん (ワッチョイ 53be-c9uF)
垢版 |
2024/07/24(水) 19:29:04.05ID:mAHVpeHr0
主テーブルが外部キーないんやが内部結合の方法しりたいんよ
2024/07/24(水) 19:54:12.53ID:aZhJNMHQ0
生成AIに聞けば?
261デフォルトの名無しさん (ワッチョイ 53be-c9uF)
垢版 |
2024/07/24(水) 20:29:39.34ID:mAHVpeHr0
なんでもAIに頼るな!
2024/07/24(水) 20:44:00.92ID:dGeLPp8h0
AIは地球を救うのか?
2024/07/24(水) 22:13:22.89ID:BHlXpcoL0
>>259
DBMS側で外部キーが設定されてなくても
モデル側で外部キー設定してれば普通に結合できない?
264デフォルトの名無しさん (ワッチョイ 5168-h7bd)
垢版 |
2024/07/25(木) 08:44:18.73ID:KP2cFN040
地球を救うのではなく地球に巣くうんだよ
265デフォルトの名無しさん (アウアウエー Sae3-hEcB)
垢版 |
2024/07/25(木) 16:19:53.06ID:EE/eILqDa
卓球のAIちゃんは今何してるのかしら
266デフォルトの名無しさん (アウアウエー Sae3-hEcB)
垢版 |
2024/07/25(木) 16:20:33.95ID:EE/eILqDa
>>258
pythonスレかDjangoスレで
267デフォルトの名無しさん (ブーイモ MMb5-0U8O)
垢版 |
2024/07/25(木) 17:56:40.20ID:d36Rq1nwM
>>259
「主テーブル」という用語はリレーションデータベース用語ではない。
2024/07/25(木) 18:57:39.87ID:WPUIh9u4M
>>267
「リレーションデータベース」という用語はリレーショナルデータベース用語ではない。
2024/07/25(木) 19:08:17.92ID:6w1rxeNv0
エモーショナルデータベース
2024/07/25(木) 21:26:05.65ID:AkRaRHXq0
外部キーの有無なんて結合には関係ないだろ
271デフォルトの名無しさん (ワッチョイ 5367-0U8O)
垢版 |
2024/07/25(木) 23:14:59.95ID:RikENVvZ0
「主テーブル」という用語を使うSIerがあるが、これはCOBOL用語なのかな?
272デフォルトの名無しさん (ワッチョイ 5367-0U8O)
垢版 |
2024/07/25(木) 23:17:47.16ID:RikENVvZ0
FROM句の最初に書くテーブル名を言っているのはわかっても、意味があるのか疑問に思っている。

処理方法を指示している言い方がひっかかる。
2024/07/25(木) 23:47:46.17ID:AkRaRHXq0
駆動表のことかな
274デフォルトの名無しさん (ワッチョイ 5367-0U8O)
垢版 |
2024/07/26(金) 00:52:40.61ID:JylNHC7t0
>>273
その駆動表の説明をすると日本人には逆じゃないのかという用語になるので使えない。

ネステッドループだと外側になるから、外部表と呼ばれるが、駆動表を外部表と言ってわかる人間はほとんどいない。

図示がどれだけ重要なのか認識してほしいよな。
275デフォルトの名無しさん (ワッチョイ 5367-0U8O)
垢版 |
2024/07/26(金) 00:53:16.62ID:JylNHC7t0
ドキュメンテーションがいかに重要かわからないと戦力にならない。
2024/07/26(金) 07:59:40.23ID:74eajxja0
わかりにくいのは駆動表じゃなくて外部表内部表の方なんじゃないかな
2024/07/26(金) 10:10:40.76ID:RKHjG1e00
スレチなのでスレ立てるまでもない質問スレに行ってくれないか
2024/07/26(金) 10:29:45.96ID:wRuEZapv0
適用業務アプリーケーションとかな
2024/07/26(金) 11:35:08.08ID:Tac5kJOn0
鍵盤!
2024/07/27(土) 00:41:14.80ID:fo+WsYuB0
range(7)で0から6ってのがどうしても納得できない
2024/07/27(土) 00:53:11.08ID:gqmjLcpv0
range(0,7)は納得できる?
2024/07/27(土) 03:00:27.09ID:LWZ3F2id0
range(0)についてかんがえてみて
2024/07/27(土) 06:38:23.86ID:utWAOMso0
for (i = 0; i < 7; i++)
から0と7を抜き出しただけなんだよな
初期値と終了条件を与える
初期値が0の場合は省略可能で、終了条件は個数と同じになる
2024/07/27(土) 17:57:23.49ID:ri81ZY/A0
0も数字だからです
2024/07/27(土) 22:46:05.92ID:fo+WsYuB0
>>281
いや単にそう決めただけならいいんだが
すげーバカが設計したなあって思うよ
2024/07/27(土) 23:14:25.46ID:LWZ3F2id0
具体的には?
0 <= n < N なのは合理的だし問題ないけど
それが range(N) なのはドキュメンテーション悪いってならわかる
2024/07/28(日) 00:22:53.60ID:DlUEjl6T0
>>281
直前まで返すって覚えれば、
そう言うもんかー、てなる
2024/07/28(日) 08:19:00.94ID:YeQTV+6P0
0も数字だからです
2024/07/28(日) 16:04:26.52ID:8+9X2FyV0
>>286
根拠ゼロw
perl のリストリテラルでいいだろwガイジw
map(0..6)
2024/07/28(日) 16:17:45.56ID:PfNOVc/80
そう書きたくなるのは理解できるけど筋が悪いんだよな
(0 .. $num-1)
という書き方は気持ち悪いだろ
2024/07/28(日) 16:33:24.45ID:qukqof110
pythonが嫌なら使わなきゃいいのに
馬鹿にしながら依存してるとか
そっちの方がよっぽど重症だわ
2024/07/28(日) 16:42:25.73ID:FpEcEwXL0
ほんとそれな
他の言語で違う書き方のものはいくらでもある
2024/07/28(日) 16:46:36.09ID:D6cM4xic0
デフォルトがそうなってるのは0オリジンで配列アクセスのために使うからって理由がわからないなら
単にセンスがない
2024/07/28(日) 16:51:30.23ID:3fX6aheH0
>>290
それはどっちもどっちでしょ
range(start, end+1)と書く必要がある場合もあるわけなんだから

range(start, stop[, step])にrange(stop)も持たせたのは
別の関数を用意すると名前空間を汚染するからだと思うよ
ビルトイン関数を多用するPythonの弱点ではあるけどね

いいAPI設計ではないけど半日もすれば慣れるし
in演算子のように明らかなデメリットがあるわけでもないから気にならない
2024/07/28(日) 16:57:26.50ID:3fX6aheH0
>>293
配列アクセスはrangeじゃなくてsliceを使って下さいね
センスがあるなら
2024/07/28(日) 17:04:41.44ID:PfNOVc/80
range(start, end+1)
と書いた時点で筋が悪い
最後の要素のindexなんかをわざわざ持つような書き方はバグの元
2024/07/28(日) 17:13:34.21ID:FpEcEwXL0
>>295
スライスも範囲は同じだろ
何言ってんだ?
2024/07/28(日) 17:15:44.24ID:D6cM4xic0
0オリジンが嫌ならFortranでも使ってなさい
2024/07/28(日) 17:19:22.01ID:FpEcEwXL0
Rubyでいいんじゃない?
..や...演算子があるよ
2024/07/28(日) 17:38:40.75ID:PfNOVc/80
startとendを両方使う、というのがそもそもアウト
0から始めるのと、endを使わないのはセット
end=numにしたいなら、1から始めるべき
2024/07/28(日) 17:52:59.56ID:YeQTV+6P0
いつまで無駄な事に拘ってるのか
結論は「仕様です」で終わる話やろ
2024/07/28(日) 17:56:18.45ID:FpEcEwXL0
SwiftにはA..<BとA...Bがあるぞ
これが個人的には1番わかりやすい
2024/07/28(日) 18:02:26.09ID:PfNOVc/80
Swiftみたいに両方用意するのも手だな
その上で..<しか使わないのが読みやすくバグらない
range(5, 10)とだけ書かれても慣れてる人しか意味が判らない
2024/07/28(日) 18:26:18.00ID:3fX6aheH0
>>296
ユースケース次第だよ
Pythonの標準ライブラリでもrange(start, end+1)やrange(end+1)のパターンはたくさん使われてるよ
2024/07/28(日) 18:29:47.19ID:PfNOVc/80
内部で閉じてるのにそんな書き方してたら下手なだけ

内部的には0から始まるけど、人間が扱うIDが1から始まってる
みたいなことは普通にあるので、それに合わせる為なら仕方ない
2024/07/28(日) 18:41:53.09ID:3fX6aheH0
>>305
>内部的には0から始まるけど、人間が扱うIDが1から始まってる
>みたいなことは普通にあるので、それに合わせる為なら仕方ない
それはrangeでend + 1するのとは違う話
2024/07/28(日) 19:16:49.11ID:PfNOVc/80
違う話だと思ってる人が多いから未だにrangeが2種類要るんだよな
配列のindexやidは0から始めた方が合理的、という考えは割と広まってるのに

num = 5
0 1 2 3 4 : 0からnum-1まで
1 2 3 4 5 : 1からnumまで
0から始めるかどうかと終了条件をどうするかは表裏一体
2024/07/28(日) 19:20:49.38ID:PfNOVc/80
関係ないけど、妊娠の日数の数え方は0週0日から開始するんだよな
そして1ヶ月は4週
そこだけフランス革命しとる
合理的すぎて大抵の妊婦は混乱してると思う
2024/07/28(日) 19:39:26.26ID:2kXxryni0
思考がコンピュータ寄りで素で0から6のindex列挙と発想するから
7回の操作と表現したい気持ちが理解できないんだろうか
2024/07/28(日) 20:02:46.28ID:PfNOVc/80
numだけでいいなら
for _ in range(num):
2024/07/28(日) 23:11:21.49ID:3fX6aheH0
0始まりか1始まりかに関係なく
妥当な範囲内にある上限値(end)を指定できることが
対象ドメインにおいて重要かどうか より自然かどうか

例えばipaddressモジュールにはrange(network, broadcast + 1)とあるけど
これはbroadcast addressを使ってrangeを定義できることに意味があるから
範囲外にある次のアドレス192.0.2.4を指定するのは不自然だから

192.0.2.0/30をイテレートすれば上のrangeが使われて
192.0.2.0(network)から192.0.2.3(broadcast)までが列挙される
ここでは0始まりか1始まりかは関係ない
2024/07/28(日) 23:20:07.46ID:3fX6aheH0
もっと簡単な例で言えば
’n’..’z’のようにアルファベットの任意の範囲を表現したい場合に
‘z’という妥当な範囲内にある上限値を直接指定できないと困るよね?
こういう場合にrange(start, end + 1)やslice(start, end+1)のパターンが出てくる
2024/07/28(日) 23:29:56.40ID:PfNOVc/80
それは恐らく、rangeを使うべきでない部分にrangeを使っちゃったのが原因
314デフォルトの名無しさん (ワッチョイ d62a-+h6N)
垢版 |
2024/07/29(月) 06:36:23.28ID:ev2lCRhV0
>>313
rangeという「言葉」を使うべきでない機能にrangeと命名しちゃったのが原因、だろ。
2024/07/29(月) 17:15:11.39ID:ekJQWRMJ0
0range
316デフォルトの名無しさん (ワッチョイ ce90-yNUa)
垢版 |
2024/07/29(月) 18:56:15.68ID:IM7EvJYP0
ミジンコのお前らが言ったところで言語仕様が変わるとでも思っているのか?
2024/07/30(火) 21:40:53.03ID:fyIsDC5M0
>>290
-1が出てくるお前の頭がバカなだけだろw
2024/07/30(火) 21:42:25.97ID:fyIsDC5M0
>>309
いやそことは関係ない
やっぱニワカやな
2024/07/30(火) 22:52:41.09ID:1KdlwQ+P0
>>314
rangeという言葉に代わる適切な名前があればよかったんだろうけどね。
かといってrangeという名前に動作を合わせるのはアホだし。
2024/07/30(火) 22:56:01.49ID:BmVgT2kF0
適当にdictionary作ればよくね
2024/07/30(火) 22:57:25.73ID:5JKGZuks0
少なくとも、数列に対しては+1とかの小細工は不要
数列でない例を出してきたら無理かもしれないけど、
そもそも加算不可能ならリストとか集合で扱うべき

加算可能でかつ数列でない例となるとかなりレアで反論として苦しすぎる
2024/07/30(火) 23:25:03.88ID:fyIsDC5M0
range型っていう概念がすでに邪魔だなあって
昔のメインフレームみたいに無駄なアクセスメソッドが増える
2024/07/30(火) 23:31:08.40ID:5JKGZuks0
イテレータが要求されるところに使えるシリーズの一つに過ぎない
rangeだけ嫌わんでも
listとして使いたい時にlist変換すればいい
324デフォルトの名無しさん (ワッチョイ 1a98-6Pme)
垢版 |
2024/07/30(火) 23:35:13.83ID:IMwqHlbY0
Pythonはコレクションの名前がわかりにくい
325デフォルトの名無しさん (ワッチョイ a5d8-8z5E)
垢版 |
2024/07/31(水) 00:15:40.33ID:Crs54f8j0
名前だと個人的にはABCに突っ込みたい
Abstract Base Class の頭文字だと言われればそうだけど、普通に読んだらアルファベットの先頭3文字にしか見えないし、どのような機能を提供するモジュールかが分かりづらい
326デフォルトの名無しさん (ワッチョイ 1a98-6Pme)
垢版 |
2024/07/31(水) 01:55:45.66ID:Qef+C1SH0
>>325
まあ、ふざけてそういう名前にしているんだよなあ。
2024/07/31(水) 07:48:14.96ID:fliUAr5E0
BeautifulSoupも意味判らん
2024/07/31(水) 08:10:58.35ID:8vm8X3ZV0
>>327
タグスープっていう用語が元ネタ
2024/07/31(水) 11:56:33.80ID:6VA4UCN/0
beautifulな
すーぅぷをぉ
あーげるーうー
2024/07/31(水) 12:28:50.45ID:ZAfvnnO40
>>326
モンティパイソン自体センスがないと言うしかないな
2024/07/31(水) 16:05:19.43ID:ZF1eb4h10
ふしぎの国のアリスじゃないの

https://www.jpnnavi.com/ja/study/book1_10.html
2024/07/31(水) 17:14:24.64ID:fliUAr5E0
なるほど
間違ったhtmlに対する揶揄なのか
その割に、間違っててもちゃんと読める訳でもない
今どきのはみんな自動生成だから、複雑なだけで間違ってはいない
2024/08/01(木) 09:11:21.61ID:K90xi8hX0
>>331
そもそも言語の名前からしてと言う意味だが
2024/08/01(木) 19:26:34.93ID:qf1CYWvK0
ウミガメのスープの話が元々ある
本物のウミガメのスープを一口食べて自殺する奴
本物じゃない方は、偽ウミガメのスープ
偽[ウミガメのスープ] という言葉を、[偽ウミガメ]のスープ と読み替えて、
偽ウミガメというキャラを登場させるのが面白い部分
2024/08/02(金) 20:38:42.76ID:19u61RTe0
おっすオラプログラミング初心者でPython勉強中!!
エディタはVScodeを使ってるんだけど、Pythonやるならこの拡張いれておけ!ってやつある?
とりまこれだけ入れてる。

・Japanese Language Pack for Visual Studio Code
・Python
・Pylance
・auto Docstring Python
・black formatter
・Flake8
・Error Lens
・IntelliCode
・indent-rainbow
336デフォルトの名無しさん (ワッチョイ 8d94-kReu)
垢版 |
2024/08/02(金) 20:48:05.46ID:KHQ7snP00
パイソンでポイントサイトの毎日ログインやらしたいんだけどどうしたらいい?
2024/08/02(金) 20:49:12.22ID:UamBNfSi0
不正のやり方は人に聞くものじゃない
2024/08/02(金) 22:17:32.40ID:LkwmfO+a0
>>335
また環境構築やってる
2024/08/02(金) 22:25:18.87ID:Wy4Cl7NP0
>>336
s*ei*nir
2024/08/02(金) 23:24:25.91ID:H4ME9sKD0
range(1,7)の動きとかな
データの個数だ!0から数えるのが当たり前だ!
とかいう言い訳は通用しないw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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