Pythonのお勉強 Part72

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 03c5-hEBs)
垢版 |
2023/12/27(水) 15:42:25.63ID:sVIMH2iW0
!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/
※前スレ
Pythonのお勉強 Part71
https://mevius.5ch.net/test/read.cgi/tech/1695168821/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2024/02/15(木) 00:41:10.50ID:gd7OPnbH0
>>260
んー

だとしても特殊メソッドは、__XXXXXX__って感じでダブルアンダースコアで差別化されてるので、
selfがある理由がよくわかんない…
C++プログラマー的からすると…
262デフォルトの名無しさん (ワッチョイ 271a-DlM1)
垢版 |
2024/02/15(木) 00:48:53.52ID:W+PvA2Yc0
今頃になって気がついたけど、IDLEってi=1+1って打っても半スペが自動で入らないんだな
IDLEみたいに軽くて自動で半スペが入る奴ってある?
2024/02/15(木) 01:20:36.77ID:+nkTxZxo0
>>261
名前解決の拡張が前提にあるけど
selfを引数で渡すことで従来の関数処理そのままでメソッドが実現できてる
いまとなってはメソッド呼び出しかどうかランタイムで知れるので
言わんとしてることはわかる
2024/02/15(木) 01:50:26.08ID:wvzNp0zm0
暗黙のthisが嫌だったとかあるんじゃないの
2024/02/15(木) 02:04:54.37ID:mUN3/Ifr0
>>261
thisポインタを第1引数に取ってる感じ
じゃないとインスタンス空間に入らない。
ダンダーメソッドは オペランドのオーバーロードと同じ
純粋仮想関数はインターフェース使う感じ
2024/02/15(木) 02:08:17.71ID:mUN3/Ifr0
整数のリストは std::vector <int> とかだけど
pythonはなんでもいける
2024/02/15(木) 02:12:39.56ID:mUN3/Ifr0
レジスタ長指定するような処理命令書かないのならデフォルトのintで問題ない
厳密に型指定した整数値扱うならnumpyやら使ってもok
2024/02/15(木) 04:32:02.62ID:gd7OPnbH0
>>265
うん、selfはthisと同様だけど、不要なのでは?
って疑問。

試行錯誤の名残りって感じ?
2024/02/15(木) 04:33:00.92ID:gd7OPnbH0
>>268
逆に、
無いと不都合ある?
2024/02/15(木) 08:38:13.79ID:mUN3/Ifr0
暗黙的な多重継承だからだよ
明示するためにやってる感じ
objectクラスに含めるなら…と試してみるとわかると思う
2024/02/15(木) 13:12:53.87ID:mUN3/Ifr0
ちなみにここまで全部勘で言ってるだけだから詳しくはちゃんと確認するんやで。
2024/02/15(木) 13:45:01.97ID:YyGmGGtTF
selfはpythonの美しくない部分の一つではありそう
せめて省略して.xyzとかで書けんものかなあ
2024/02/15(木) 18:03:48.10ID:3rKktGL80
>>268
C++とかのthisはキーワードで明示的に引数として渡さなくても
thisを使えばインスタンスにアクセスできるように作られてる

Pythonのselfはキーワードではなく名前は何でもよく
__init__などの第一引数で渡されるものがインスタンスへの参照というルールしかないので
引数にselfがないとメソッド内でインスタンスへのアクセスができない
2024/02/15(木) 18:07:33.18ID:+nkTxZxo0
それは知ってて、でもなんでそういう設計なの?という疑問にみえるが
2024/02/15(木) 18:13:19.87ID:D0Mm6bQr0
メソッドと関数を別物として扱うか単なる専用関数と見るかの違い
ルールが2つあるより1つの方がシンプル
2024/02/15(木) 18:26:05.11ID:3TBdfxXna
selfがあるからこそ美しいだろーがよお
別にcppをディスるわけじゃあないけどさ
ディスポインタって(笑)
->ってプログラマよりも設計っぽくて(笑)
2024/02/15(木) 18:56:06.65ID:wvzNp0zm0
>>263
メソッド内に関数も定義できるからメソッドと同じ名前の関数があった場合、どちらを呼び出して良いかルール付けが必要だしね
selfがあればスッキリ
278デフォルトの名無しさん (ワッチョイ 5e7f-lmPU)
垢版 |
2024/02/15(木) 19:10:00.60ID:OO4P5JSq0
>>225 関係ないスレに愚痴書き込むようなやつだから冷たくされてるだけだろ
IT関係なくみんなから冷たくされてるのがわかんないかな?
2024/02/15(木) 19:43:32.15ID:D4XhFsF20
もう気にもしなくなったself
280デフォルトの名無しさん (ワッチョイ d63c-43hX)
垢版 |
2024/02/16(金) 00:41:46.49ID:lAMWIukf0
まぁJavaとかC#だとメソッドしかないから
それら上がりはメソッドと関数が両立してるpythonには違和感あるだろうな
2024/02/16(金) 00:50:43.28ID:I37f7dWZ0
Cがアセンブラを意識しないといけないように
pythonもやっぱりCを意識する必要があって
より抽象化された言語でも表層しか知らないと使えない
2024/02/16(金) 04:36:41.97ID:AeBxycap0
>>273>>274
うん、で、
そのselfは引数としては不要では?
って疑問。

存在する理由は?
283デフォルトの名無しさん (ワッチョイ b72a-RHzx)
垢版 |
2024/02/16(金) 05:01:39.27ID:3YaVKWwt0
>>282
https://docs.python.org/ja/3/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls
2024/02/17(土) 06:33:01.62ID:vlq/D15+0
>>283
ここ面白いね
勉強になります
2024/02/17(土) 10:41:54.61ID:ttFztjU1a
self.xじゃなくて.xじゃなぜダメなの?
2024/02/17(土) 10:59:18.09ID:hXgN2YMd0
変数名が省略されたらsyntax errorとせずにselfが省略されたと見なす
なんてルールを導入したら混乱とバグが増えるだけ
2024/02/17(土) 11:39:50.04ID:JQbQK4DFM
>>285
インタプリタが不必要に複雑化するから
2024/02/17(土) 11:48:35.04ID:BaZMPoI80
>>283
ありがとう。
最初にそこ見ればよかったw

でも、「第二」の説明がよくわからなかった…
2024/02/17(土) 14:59:06.49ID:p6Fewl3N0
>>285
それperl6で見たな
.から始まると現在のコンテキストのselfが勝手に解釈される
2024/02/17(土) 17:32:32.05ID:hXgN2YMd0
そもそもselfは予約語じゃないしな
nervと書いても通る
2024/02/17(土) 18:50:23.80ID:+5tlCYOD0
これが 0 1 を返す理由が分からない
False,Trueじゃないの?

def num(value):
return value

value1=num(0) and num(1) and num(2)
value2=num(0) or num(1) or num(2)
print(value1, value2)
2024/02/17(土) 19:28:47.65ID:hXgN2YMd0
value1=num(0) != 0 and num(1) != 0 and num(2) != 0
value2=num(0) != 0 or num(1) != 0 or num(2) != 0

なら期待通り
2024/02/17(土) 19:29:49.93ID:IuQJWQk10
>>291
なんで複雑にしたがるかわからんが
>>> 0 and 1 and 2
0
>>> 0 or 1 or 2
1
ってことだよね
https://docs.python.org/ja/3/reference/expressions.html#boolean-operations
だからこうする必要がある
>>> bool(0) and bool(1) and bool(2)
False
2024/02/17(土) 19:30:35.14ID:Gp/yCd5j0
>>291
https://docs.python.org/ja/3/reference/expressions.html#boolean-operations
> 式 x and y は、まず x を評価します; x が偽なら x の値を返します; それ以外の場合には、 y を評価した結果値を返します。
> 式 x or y は、まず x を評価します; x が真なら x の値を返します; それ以外の場合には、 y を評価した結果値を返します。
> なお、 and も or も、返す値を True や False に制限せず、最後に評価した引数を返します。

ブール演算だけど、TrueやFalseを返すわけじゃない
2024/02/17(土) 19:32:41.79ID:Gp/yCd5j0
失礼、めちゃ被った
2024/02/17(土) 19:42:53.21ID:8JWFBRmq0
すげ勃起してきてやばい
2024/02/17(土) 19:52:02.25ID:+5tlCYOD0
>>293
なんでと言われてもPython試験の問題集にのってたんで
2024/02/17(土) 20:14:12.42ID:hXgN2YMd0
TrueとFalseだけを返す仕様でも殆ど困らないよな

result = check() or error_process()
みたいに、評価したりしなかったりする処理が短く書けるけど、
それは果たしてpython的なのか
2024/02/19(月) 20:34:01.40ID:aCtGbdyX0
PySimpleGUIサブスク化かよ
2024/02/19(月) 21:12:23.08ID:lkdPrYUb0
>>299
ソースは?
2024/02/19(月) 23:03:28.65ID:GOMVHdKw0
商用(というか個人利用以外?)は有償になったのか
2024/02/20(火) 12:42:51.01ID:1KVYIZp50
有償になるほど使われてるのか
2024/02/20(火) 12:49:34.64ID:WEiok5ET0
金払ってまでPySimpleGUIを使うのかいな
2024/02/20(火) 14:37:43.80ID:1CgxDriU0
結局ライセンス意識せずに使えるGUIライブラリってtkぐらいか?
2024/02/20(火) 15:46:43.36ID:OgJCaCRy0
商用ダメならtkにするよね
でも作るのはSimpleが楽だからSimpleで作ったのをGPTでTKにしてもらうわ
2024/02/20(火) 16:08:00.63ID:eAorjiGp0
Tkまで戻らなくてもwxPythonとかあるやん
有象無象がほとんどだろうけどPyPI漁ってみては
2024/02/20(火) 16:10:52.52ID:eAorjiGp0
https://wiki.python.org/moin/GuiProgramming
ここにそろってた
Kivy推します
2024/02/20(火) 16:29:49.42ID:82xdZs450
起動ボタンが欲しいだけならexcelでできる
2024/02/20(火) 16:34:44.06ID:1CgxDriU0
高速なツリー表示が欲しいけど1番速いのは何?
2024/02/20(火) 17:07:23.78ID:1CgxDriU0
PySimpleGUIって趣味アプリ公開で金取らないなら無償なんか?
いまいちわかりにくい
何かあった時のリスク高いからもう使えないな
Qtとかもそうなんだけど難癖つけられたら詰むし
311デフォルトの名無しさん (ワッチョイ 937c-VubJ)
垢版 |
2024/02/20(火) 17:12:11.14ID:oBR9eIxF0
何でこの手のGUI使うのか俺には理解出来ない
StreamlitとかWebのUIで良いじゃん
2024/02/20(火) 17:29:25.35ID:1CgxDriU0
Web嫌い😠
ネイティブマンセー
2024/02/20(火) 17:59:14.32ID:OgJCaCRy0
商用ってツール作って売ってお金貰うってことだよね。
社内利用ツールって商用じゃないよね?
2024/02/20(火) 18:12:39.92ID:U20c72NCa
guiならtk1択か
simplegui学習するくらいの時間でtkも学習出来るよう感じだしな
何しろ標準ライブラリだからコスパが良い
2024/02/20(火) 19:13:46.57ID:OgJCaCRy0
過去に作ったやつをtkにして動くようにしたけど、やっぱ見た目が古いなぁ
customtkinterにしてみようかな
2024/02/20(火) 19:33:49.65ID:cgpOPtjl0
配布する目的だとどれもライセンス問題が付きまとうのが本当に面倒
flet良さそうだけどまだ発展途上感強し
2024/02/20(火) 20:34:51.10ID:seMVwkYx0
flet触ってるわ
2024/02/20(火) 20:39:10.63ID:cgpOPtjl0
flet良いよな
asyncアプリとしても作れるしかなりモダンな作りだ
安定性とか度外視すればこれ一択だろう
319デフォルトの名無しさん (ワッチョイ 4377-DpTM)
垢版 |
2024/02/20(火) 20:54:30.95ID:7RH+9v0I0
>>312
ネイティブっていうけど、GUIのネイティブ感出したいならそれぞれのOSの GUI書くのに適した言語を多少は学ばないと意味なくない?
2024/02/20(火) 20:57:37.57ID:82xdZs450
GUIの自由度は無いけど洗練されててやりたいことが大抵できるようなのでいい
2024/02/20(火) 21:00:27.02ID:seMVwkYx0
>>318
デフォでasync対応してるのは好き
2024/02/20(火) 21:08:04.02ID:OgJCaCRy0
へーfletなんてあるんだね。
勉強してみる。ありがとう。
2024/02/20(火) 22:59:03.35ID:OgJCaCRy0
listboxがないからchatgptに聞いたらTkinter,PyQt,wxPython使えって言われたw
とりあえずchipで代用しようと思う
2024/02/20(火) 23:22:03.43ID:1CgxDriU0
見た目ゴミで良いからとにかく無料で作りたい
tk

多少覚えること多くても良いからしっかり作りたい
kivy、PySimpleGUI

実績あるクロスプラットフォームのライブラリを使いたい
PyQt、PySide、wxWidget、gtk

未来のホープ
flet
325デフォルトの名無しさん (ワッチョイ 7368-NG0q)
垢版 |
2024/02/20(火) 23:26:38.41ID:91VjRzYN0
GTKはメジャーVUP関連で多大な迷惑を世界中に(ryしたばかりだからな
2024/02/21(水) 00:03:56.33ID:ax8uXPdD0
オマケ
Webで作りたい

ガワをpythonで作る
Eel

ガワをJavaScript
Electron

ガワをrust
tauri
2024/02/21(水) 01:38:08.21ID:Kl4Nsedo0
fletってPysimpleguiで言うところのkeyって無いのかな?
2024/02/22(木) 01:27:28.46ID:6uRZmZoW0
Fletは勉強してみよう
2024/02/22(木) 08:35:16.07ID:XeWX3PqR0
俺が天塩にかけてpysimlpeguiで作った社内ツールが社内から全削除することになったわ
上司に相談しなければ良かった
2024/02/22(木) 09:04:10.21ID:wxfAC/Y30
GPLとはそういうものだ
331デフォルトの名無しさん (ワッチョイ cf2a-LtO+)
垢版 |
2024/02/22(木) 09:29:19.62ID:pTbo5Mh00
社内ツールに GPLが障害となるケースってなんじゃい。

>>329
なんで??
2024/02/22(木) 09:41:05.97ID:wxfAC/Y30
GPLのせいじゃなくて有料化か
333デフォルトの名無しさん (ワッチョイ 937c-VubJ)
垢版 |
2024/02/22(木) 09:43:43.57ID:AUvxq0CN0
>>331
手塩じゃ無くて天塩掛けたからじゃね
2024/02/22(木) 09:55:37.47ID:Ihr/2Pzm0
E資格って簡単なんですか?
機械学習のスレだとITパスポートと同じぐらいって書かれてるんですが
335デフォルトの名無しさん (ワッチョイ 6fad-PEji)
垢版 |
2024/02/22(木) 10:09:13.03ID:1eORtE8r0
>>331
圧縮ファイルを解凍するのに遣ってたライブラリ引っかかったことならあった
公共交通機関関係の機器
336デフォルトの名無しさん (ワッチョイ 6fad-PEji)
垢版 |
2024/02/22(木) 10:10:10.09ID:1eORtE8r0
ごめん無視して
2024/02/22(木) 12:16:14.06ID:gV/RBJvh0
でもfletだってライセンス変更する可能性もゼロじゃないよね
やっぱtkinterか、ダサいけど
2024/02/22(木) 12:35:44.57ID:8vT7CeOy0
GPLやLGPLは社内ツールだと使いにくいからねえ
PySimpeGUIは独自ライセンスで先週にも更新されている
社内利用してる奴らはちゃんと読んどけよ
2024/02/22(木) 12:51:22.54ID:wxfAC/Y30
最初からMIT, BSD, Apacheしか許可されてない
2024/02/22(木) 12:52:54.94ID:E39S4hsh0
社内なのにコード見せるのイヤなの?
341デフォルトの名無しさん (ワッチョイ 937c-VubJ)
垢版 |
2024/02/22(木) 13:03:46.00ID:AUvxq0CN0
>>337
最初からFlutterやれば良いやん
2024/02/22(木) 13:16:33.91ID:mPxNjsx10
tkinterってテーマ自作できるからそれ使ってfletに似せてもいいよなー
343デフォルトの名無しさん (ワッチョイ 832a-LtO+)
垢版 |
2024/02/22(木) 13:35:15.22ID:70K/BySr0
>>338
> GPLやLGPLは社内ツールだと使いにくいからねえ

いやマジどういう場面で、GPLで社内ツールが使いにくいのよ??
344デフォルトの名無しさん (ブーイモ MM7f-ewg4)
垢版 |
2024/02/22(木) 14:46:32.00ID:K6xnKFGiM
GPLって外部公開に制約あるだけでは
2024/02/22(木) 14:48:02.08ID:wxfAC/Y30
制約じゃなくて公開する義務がつきまとう
346デフォルトの名無しさん (ワッチョイ ff9e-V99R)
垢版 |
2024/02/22(木) 14:48:12.31ID:uAOlO4Bi0
>>340
社内ならコードを見せてもいいという感覚は理解できないな

ただGPLの場合同じ組織内なら配布には該当しないから社内ユーザーにソースを見せる必要はないんだけどね
347デフォルトの名無しさん (ワッチョイ ff9e-V99R)
垢版 |
2024/02/22(木) 14:49:36.79ID:uAOlO4Bi0
https://www.gnu.org/licenses/gpl-faq.html#InternalDistribution
2024/02/22(木) 14:56:25.92ID:8vT7CeOy0
独自のパッチ当てることは普通にあるからな
特に社内でいろんな部署が使うと要求が強くなってきてコア部分に手を入れなきゃいけない場合が出てくる
最初は必要なくても数年使ってると必ずパッチを当てる日が来る
その時はもう手遅れ
とんでもないミスをしていたと気がつく
だから俺はGPL系は仕事では使わない
2024/02/23(金) 09:43:20.65ID:7JoECcSR0
社内利用の「公開」とは使う会社に対して公開すればいいってこと?
社内利用のアプリソースを全世界に公開するなんてしないよね
2024/02/23(金) 10:02:21.95ID:oyx4DsI90
少なくとも、要求があったら応じないといけない
2024/02/23(金) 10:04:52.79ID:7JoECcSR0
ごめん、勘違い
そもそもPySimpleGUIは個人利用以外有料化ってことか
俺も1アプリだけ使ってるところあったから修正する
2024/02/23(金) 10:07:15.38ID:7PfXlp3P0
バイナリを配布した相手に対してソースも公開しないとならないってだけ
2024/02/23(金) 10:12:25.45ID:oyx4DsI90
公開すりゃいいだけなのにな
公開を要求したら配布自体辞めちゃうフリーソフトとかある

GPLを設計した段階では、みんなソース公開したらユートピアになるくね?
と思ってたけど実際はディストピアだった
354デフォルトの名無しさん (ワッチョイ 832a-LtO+)
垢版 |
2024/02/23(金) 10:38:08.32ID:OAuv5pAJ0
>>349
> 社内利用の「公開」とは使う会社に対して公開すればいいってこと?

ツールが会社資産なら当然でしょ。
公開範囲は社の規程する事で、開発者の専断できる事じゃない。
部外秘コードを社内部外者が GPLをたてに見せろと言ったところで、社内規程的に無理。
2024/02/23(金) 10:58:04.19ID:f2UzWUno0
Qiitaとかで当たり前のように何の説明もなしにmac環境を前提とした記事を見るとイラッとする
2024/02/23(金) 11:10:03.61ID:hkSlnfDn0
XCodeとか使わせてくるものじゃなければWSLや素ウブンツで代用できるっしょ
2024/02/23(金) 11:16:44.92ID:oyx4DsI90
macの人もmacじゃない環境で作られた記事を普通に参考にしとるよ
2024/02/23(金) 11:59:51.40ID:QK/ZoJ33a
>>353
そりゃ学生やフリーのうちはよくても
企業に属して色々縛られたら自分のコード公開するのは余計なリスク背負い込むだけだし
何の見返りも返さない連中にやってあげる義理はないだろ
2024/02/23(金) 12:01:15.75ID:QK/ZoJ33a
なんかMac使ってたら1段階上みたいなのをずっと言ってるヤツなんなんだろうな
360デフォルトの名無しさん (ワッチョイ 937c-VubJ)
垢版 |
2024/02/23(金) 12:46:50.91ID:UO7UUnod0
ThinkPadにLinuxインスコしてるやつが最強だと思うの
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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