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/06(火) 01:20:01.22ID:Ta2t/Znt0
PycharmでFlask
2024/02/07(水) 01:00:36.24ID:ndXvW9ZXa
Ruby on Rails 以外をやっても無駄

フレームワークの米国年収は、
Rails : 9 万ドル
Django : 6
Laravel : 3.8

筑波大学でも使っている、Railsチュートリアルのサイトで、
古いRails 5 なら、無料で読める。

ただ大規模すぎる。
未経験者が学ぶ、プロの転職用

だからSinatra で、MVC の構造だけを学んだりする
212デフォルトの名無しさん (ワッチョイ 3768-jSnV)
垢版 |
2024/02/07(水) 01:03:45.37ID:5kFjsFmA0
import email.policy
e = email.policy.EmailMessage()
print(type(e))

これをVSCodeで書くと補完が効かない上にmypyで
Module has no attribute "EmailMessage"
って出るんですがなぜでしょうか?
標準ライブラリのpolicy.pyでは
from email.message import EmailMessage
していますし実際上記のコードはエラーなく実行できます

いま自作のライブラリでは内部でimportしているモジュールの隠ぺいのために
__init__.pyで公開APIだけ__all__に入れて実装ファイルは先頭にアンダースコアをつけています
自作モジュールでは__all__に公開APIだけを書いても非公開部分まで補完候補に出てきました

email.policyと同じ要領でツールの補完から隠ぺいできるなら採用したいのですがどうすればいいですか?
213デフォルトの名無しさん (オイコラミネオ MMeb-G92d)
垢版 |
2024/02/07(水) 06:21:33.17ID:J6JTwYeoM
>>1
p = [29, 30, 31, 32, 33, 34, 35, 36, 37]
q = [31, 32, 33, 34, 35, 36, 37, 38, 39]
r = [ [29,31], [30,32],,,]
としたい、
AIに聞いたがわかってもらえない、、、
214デフォルトの名無しさん (ワッチョイ f77c-o3Ud)
垢版 |
2024/02/07(水) 06:46:38.29ID:uDrK2oQi0
>>213
何のAI使って何て聞いたんだよ
この程度が出来ないとかお前無能じゃね

https://i.imgur.com/hDxM7oi.jpeg
https://i.imgur.com/YJ7qnO1.jpeg
215デフォルトの名無しさん (オイコラミネオ MMeb-G92d)
垢版 |
2024/02/07(水) 09:19:17.35ID:zJW1HRUSM
>>214
そこに聞いたのだが、、、
ありがとう、
2024/02/08(木) 14:50:23.52ID:ngxLlRuda
複数の配列から、各要素を取り出すのは、
Ruby では、zip を使う

ary_1 = [ 1, 2, 3 ]
ary_2 = %w(a b c)
res = [ ]

ary_1.zip( ary_2 ){ |num, text| res.push [num, text] }

p res #=> [[1, "a"], [2, "b"], [3, "c"]]
217デフォルトの名無しさん (ワッチョイ 3768-hfrZ)
垢版 |
2024/02/08(木) 15:26:22.81ID:kvHDgZ4J0
誰も聞いてねえよ
218デフォルトの名無しさん (ワッチョイ 978e-hfXr)
垢版 |
2024/02/08(木) 16:44:19.98ID:PMTWmDyI0
こうしないと消えていくだけだから必死なんだろ
2024/02/08(木) 16:53:59.05ID:6CZwMK9a0
いっつもコードが冗長だし
linter(RuboCop)もつかったことなさそうだし
いろいろ不憫
2024/02/08(木) 17:09:22.49ID:arovnfBA0
ルビ夫のPCはgem以外ネットに繋がらない仕様にしてしまえ
2024/02/08(木) 19:51:03.04ID:axYTDzFb0
無関係なリストから順に取り出して組み合わせることなんか無いしな
それは本来関係あるペアを別のリストに入れてしまったことがそもそもの間違い
r[i].pとr[i].qとして取り出せるように設計しておくのが正解
222デフォルトの名無しさん (ワッチョイ 9f79-x1eQ)
垢版 |
2024/02/08(木) 22:28:46.38ID:3TIGOFzk0
VSCodeで表示される関数等の説明の吹き出しが、Colaboratoryを使ってる時より少ないんだけどさ
これってどうすれば同等に表示されるようになるの?
初心者すぎて何を聞いたらいいのかもよくわかんないんで、どうかエスパーの人教えて!!!
2024/02/08(木) 23:22:24.62ID:Eyr6tv6G0
なんかいつのまにかVSCodeのインテリセンスおかしくない?
ドットからのよく分からない候補が先頭にでる
2024/02/10(土) 15:47:41.39ID:UPngwBre0
俺はここ何日かvscodeが重くて困ってる
メソッドとか関数書くときに固まる
特にread_csvとか完全に固まる
2024/02/12(月) 18:57:45.59ID:4UEhDDM10
なんで日本人のIT関係の人って冷たい人が多いんですか?
プログラム職業にしてる人で性格のいい人にあったことがないです
2024/02/12(月) 19:23:45.51ID:VFlTgqQo0
じぶんのミジンコみたいな性格は置いとくと
見識が広くておおらかな人が多い印象やわ
2024/02/12(月) 19:41:51.50ID:fsVEh0GB0
>>225
最低な客が多いので塩対応がデフォ
2024/02/12(月) 23:07:11.16ID:w0Zy05mS0
いい人というのは225にとって都合のいい人であって
そんな都合なんて知らねーよって話だろうな。
2024/02/12(月) 23:35:33.09ID:H+RT0tkE0
上から物を言ってくる人間は多いよね
淡々と答えれば良いものを一言二言多い
まあ、こんなところでしか威張れないからなんだろうけど
2024/02/13(火) 07:29:46.06ID:V7fnExAY0
他人の事を検索エンジン程度にしか考えていない人に対しては塩だな。
しかしそのほうが本人のためであったりする。
2024/02/13(火) 12:26:39.57ID:1UgkqCq+0
pythonからスマホゲームとか作れる言語に乗り換えるとしたら何がいいの?
dart(flutter)?
232デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/13(火) 12:31:15.01ID:EJGfS3Xj0
JavaScript
2024/02/13(火) 12:38:54.86ID:WFypiXSw0
得意言語で書きたいんじゃなくて乗り換えるならネイティブでいいんでは?
ターゲット環境を理解するコストの方が高いから言語なんてついでに習得できる
234デフォルトの名無しさん (ワッチョイ d637-43hX)
垢版 |
2024/02/14(水) 06:01:22.07ID:sdaXCx8K0
C#以外の選択肢あるのか?
235デフォルトの名無しさん (ワッチョイ 162a-RHzx)
垢版 |
2024/02/14(水) 06:56:10.28ID:w4cuQUw80
C#はMS-Windowsでしか使えない言語ちゃうの?
2024/02/14(水) 06:58:06.50ID:HY9rp7w40
C# の.NET Core のASP.NET はサーバーサイド界隈でよう聞くぞ
2024/02/14(水) 09:31:48.04ID:gU6VQW5+0
Swift一択でしょ
238デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/14(水) 10:00:44.37ID:Znx+PLfz0
>>235
MacでもLinuxでも普通に動く
239デフォルトの名無しさん (ワッチョイ 162a-GIuZ)
垢版 |
2024/02/14(水) 10:21:36.04ID:w4cuQUw80
>>238
C#の C++部分が動くだけちゃうの?
2024/02/14(水) 10:47:51.76ID:HY9rp7w40
>>239
C#の.NET Coreで調べろ
241デフォルトの名無しさん (ワッチョイ 62e1-9m7S)
垢版 |
2024/02/14(水) 11:03:41.96ID:6VHR37br0
>>239
何じゃそれww
2024/02/14(水) 11:23:46.54ID:gU6VQW5+0
CとC++の関係みたいに思ってるな
243デフォルトの名無しさん (ワッチョイ 162a-RHzx)
垢版 |
2024/02/14(水) 11:43:22.97ID:w4cuQUw80
C++をパクって COMだか .Netだかに対応させたんちゃうの?
2024/02/14(水) 11:49:53.30ID:J37aOx7P0
あってるけどC#とは兄弟で内包関係はない
2024/02/14(水) 17:25:54.40ID:mrpaH5Pta
C#って実際スマホゲームとか作られてるの?
246デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/14(水) 17:42:36.12ID:Znx+PLfz0
腐るほどC#製ばかりやん
2024/02/14(水) 17:46:32.28ID:PLlq2cXc0
Unityなんじゃないの
248デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/14(水) 17:54:42.44ID:Znx+PLfz0
UnityはC#かJSやん
2024/02/14(水) 18:06:22.56ID:HiDncfIH0
まず言語を選ぶんじゃなくて動作環境、開発環境やエンジンを選んでそこから適した言語が絞られてくるんじゃね
言語は手段であって目的が先にありきだよ
2024/02/14(水) 18:11:47.66ID:7vkhmy820
プログラムとか教える人がことごとくWindows嫌いなのはなんでなんだろう
251デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/14(水) 18:12:48.08ID:Znx+PLfz0
>>249
言いたい事は分かるけどその目的の為に言語の熟練度が関係するとか有るじゃん
お前さんの言う様な感じで決まるのって要は「プログラムなんて誰でも出来る」って言ってる技術知らないバカな経営者と一緒やん
252デフォルトの名無しさん (ワッチョイ cb7c-wVMh)
垢版 |
2024/02/14(水) 18:13:51.77ID:Znx+PLfz0
>>250
せやろか?
クライアントとしては特になにも思わない

サーバお前はダメだ!
2024/02/14(水) 18:34:20.00ID:gU6VQW5+0
windows以外の何かが好きなだけでしょ
選択肢はlinuxとmacの2つしか無いが
2024/02/14(水) 18:42:22.18ID:2uDBcFQ30
windowsのコマンドと改行コードと文字コードが嫌いだったなぁ
15年近く経った今はもう慣れたけど
2024/02/14(水) 18:48:20.89ID:gU6VQW5+0
行セパレータじゃないんだよな
テレタイプの制御コードでしかない
その通りの用途で使われたことあるんだろうか
256デフォルトの名無しさん (ワッチョイ d63c-43hX)
垢版 |
2024/02/14(水) 21:33:48.05ID:sdaXCx8K0
>>251
設計がガチガチのウォーターフォールだと
末端のPGは誰でも出来るぞ
2024/02/14(水) 23:23:52.75ID:HY9rp7w40
昔のWindowsならともかく現行のはWSLで簡単にLinux/Ubuntu環境を作れるから便利になった
最近C#がまた注目されるようになったのは似たC#とよく似たJavaがOracle問題で自滅しかけたからかなあ

サーバーサイドならJava/Kotlin、C#、Go、Rustのどれを使うか決めてからフレームワークを選んでやる
ゲームやりたいなら強力な3DレンダリングエンジンフレームワークのUnity、UnrealEngine、Godotのどれを使うか決めてから言語を選んでやる
2024/02/14(水) 23:24:56.19ID:jihyO+l30
C++プログラマーだが、
なんでPythonのclassコンストラクタって、
selfって引数あるの?
2024/02/14(水) 23:29:04.74ID:gU6VQW5+0
perlのオブジェクト指向化を見てるとselfがあるのはとっても自然
2024/02/14(水) 23:35:45.55ID:Q08aEmFz0
>>258
後方互換のため
pythonは最初はオブジェクト指向機能はなかった
グイドは後付けでオブジェクト指向をどう実現するか考えた

その結果第一引数に明示的にレシーバー(メソッドを呼び出すオブジェクト)をselfとして渡すことで
通常の関数呼び出しと差別化する案を思いついた
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番速いのは何?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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