2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

【まず1嫁】くだすれPython(超初心者用) その59

1 :デフォルトの名無しさん:2023/07/13(木) 18:48:41.56 ID:INS7SIu4.net
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###

2 :デフォルトの名無しさん:2023/07/13(木) 19:23:06.59 ID:WmHCeekq.net
>>1
まず1乙

3 :デフォルトの名無しさん:2023/07/14(金) 12:11:43.42 ID:8YyBZiGG.net
>>1
O2

4 :デフォルトの名無しさん:2023/07/17(月) 18:37:08.11 ID:RkwKE2ib.net
うまいプログラムの構造がさっぱりわかりません…

入門書を終えて早速何か作ってみようと思い、画像を拡張子を変換するソフトを書いています
リーダブルコードにはシンプルであれとか単一責任うんぬんと書いて納得したつもりでしたが、いざ実践しようとするとわからんわからん

「画像を読み込む関数」、「画像を変換する関数」、「画像を保存する関数」
と作成してきましたが、pillowいじくって1、2行なので車輪の再発明どころか傷つけてる感じです
1つの関数にすべて集約してconvertと名付けたら良くないのでしょうか…

5 :デフォルトの名無しさん:2023/07/17(月) 20:35:13.91 ID:G9UN+W0k.net
>>4
標準ライブラリを見るとわかると思うけど、1, 2行だけの関数は別に悪いことではないし、珍しい事でもない
その関数のテストを書いたり、メンテしたりしてると実感できる
他の人の書いたコードとか特にそうだと思う

ていうか、色々詰め込んだ関数作ってしまってから、リファクタリングというものを知って悩むことも多いよね
最初から書き直した方が早いんじゃねみたいな

6 :デフォルトの名無しさん:2023/07/17(月) 20:36:34.03 ID:0uTi8g2P.net
良いです

7 :デフォルトの名無しさん:2023/07/17(月) 20:49:31.09 ID:66zneY7T.net
convert関数でそれぞれの関数を呼び出せるようにした方が楽になりそう

8 :デフォルトの名無しさん:2023/07/17(月) 20:52:17.81 ID:G9UN+W0k.net
忘れてたり知らない関数を触ろうとするとき、ドキュメントとかコメントも頼るけど実際たどるのはコードだから一つの関数に盛沢山だったら結構大変

9 :デフォルトの名無しさん:2023/07/17(月) 21:52:54.20 ID:0bPr8N4/.net
極端な話、外からの役割がconvertなら内部はどうなっててもいい
最初から良質なコードは書けなくて当然
いつでもリファクタできる体制でいることが大事かな

10 :デフォルトの名無しさん:2023/07/18(火) 16:13:32.68 ID:fggT64M6.net
画像処理の勉強してるんなら
pillow(PIL)使ったら負け

11 :デフォルトの名無しさん:2023/07/18(火) 20:03:13.98 ID:C4fQDhf3.net
病∞∞∞∞!
漠∞∞∞∞∞!
向∞∞∞∞∞∞!
大∞∞∞∞∞∞∞!
度∞∞∞∞∞∞∞∞!
蔵∞∞∞∞∞∞∞∞∞!

12 :デフォルトの名無しさん:2023/07/18(火) 23:01:13.81 ID:OPFTyCeA.net
ご意見ありがとうございます
元画像を消去するかとか保存先はどうするかとか考えてたら複雑になってきたのでクラスを設けました
パスの扱いと画像の操作で2つ役割があるけどもう面倒なのでこのまま突き進みます
未来の修正は未来の自分に託す、ということで…

13 :デフォルトの名無しさん:2023/07/18(火) 23:04:24.96 ID:/0siiIN2.net
今の自分が把握できないコードを
記憶が曖昧になった未来の自分がどうにかできると思うのか…

14 :デフォルトの名無しさん:2023/07/19(水) 11:43:21.48 ID:x9es5cRL.net
成長した場合「だれだこんなバカなコード描いたのは」

成長してない場合「何描いてたか判んね」

15 :デフォルトの名無しさん:2023/07/19(水) 15:09:29.58 ID:o1ug+L9a.net
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/
まず前スレ消化を

16 :デフォルトの名無しさん:2023/07/21(金) 08:51:32.52 ID:eg4croCb.net
pythonは関数が全部外から見られてしまうから
プライベートメソッドにする代わりに関数内関数にして隠すってやり方もある
なお速度は犠牲になる

17 :デフォルトの名無しさん:2023/07/21(金) 09:17:50.55 ID:K8DDsRHC.net
見えるからって使うほうがどうかしてる
リフレクション系がお手軽だからこんだけ周辺ツール充実してんだし

18 :デフォルトの名無しさん:2023/07/21(金) 09:48:08.75 ID:nT1sUe2+.net
>>16
setter getterでそんなに速度落ちるの……

19 :デフォルトの名無しさん:2023/07/21(金) 14:10:39.48 ID:73tgjVOL.net
>>16
class の中の関数というかプライベートは
hoge() #public
_hoge() #protected
__hoge() #private
みたいなイメージ

20 :デフォルトの名無しさん:2023/07/21(金) 14:11:27.20 ID:73tgjVOL.net
プライベートにしてても観えるって言うのは嬉しい

21 :デフォルトの名無しさん:2023/07/23(日) 06:27:28.03 ID:AFBOcw0H.net
>>4
そのconvert関数のアイデアは、ファサードパターンとしてよく知られるデザインパターンのひとつ。
まあファサードはわざわざ勉強しなくてもすぐに気がつく小ネタ程度のパターンだけど、他には知っておくと役に立つものがいっぱいある。

22 :デフォルトの名無しさん:2023/07/24(月) 08:59:12.66 ID:hxZ6wCW4.net
f文字列はpython3.6だから7年前の新機能だぞ
もうなんのことわりも無しに使っていいだろ

23 :デフォルトの名無しさん:2023/07/24(月) 09:28:19.51 ID:b4teMFwb.net
>古いPythonでは動かないから

"{}".format() だってもっと古いPythonだと動かないんじゃね

24 :デフォルトの名無しさん:2023/07/24(月) 16:29:20.89 ID:l1YnwZV8.net
Gストリングが動いた!

25 :デフォルトの名無しさん:2023/07/24(月) 17:49:45.93 ID:vRnyNwob.net
format使ってないわ

26 :デフォルトの名無しさん:2023/07/26(水) 11:04:30.02 ID:62leoIOO.net
tkinterでウィンドウサイズを取得したいのですがうまくいきません
https://techiedelight.com/compiler/?a1ad

root.geometry("500x300")を実行して、実際に表示されるウィンドウサイズもそのくらいの大きさなのですが
ラベルに表示される内容は"1x1+0+0"となってしまいます
"500x300+<実際の表示位置>"にならないのは何故ですか

27 :デフォルトの名無しさん:2023/07/26(水) 13:02:45.63 ID://q3wVd7.net
>>26
それだとroot.mainloop()に入ってからウィンドウが表示されるから
windowSize = root.geometry() の前に root.update() するか何らかのイベント駆動にすればいい

28 :デフォルトの名無しさん:2023/07/26(水) 13:29:20.90 ID:62leoIOO.net
>>27
あーそういうことだったんですね!
ありがとうございます!

29 :デフォルトの名無しさん:2023/07/29(土) 02:15:32.83 ID:hQSx1H1s.net
>>> p=0xf
>>> y=0x8
>>> t=0x1
>>> print(int(p),int(y),int(t))
15 8 1

0xfは16進数なのになぜ16ではないのでしょうか
ということはこの8や1も機械らしく0から数えたものを指している?
int('0xf') + int('0xf')のようなものに32を期待しているのにこれでは30ではないかと困っています
え、そうだったのかという初心者なりの困惑もあります
困らないものなんでしょうか

30 :デフォルトの名無しさん:2023/07/29(土) 02:22:42.13 ID:zrA9yudI.net
>>29
エエエ
そこから?
10進数の一桁の最高値が10でなく9なのを見れば
16進数の1桁の最高値が15なのも納得できるはずだが

31 :デフォルトの名無しさん:2023/07/29(土) 02:36:31.67 ID:hQSx1H1s.net
半泣きになりながらどこか承服しかねる気持ち😣
for文のiなどはたしかに0から始まることを意識して扱ったりしますが
こういうのは取り扱いやすく思ったままの値をくれるものだとばかり

>>> u=hex(16)
>>> print(type(u))
<class 'str'>
>>> print(u)
0x10

あっ!😡遁走

32 :デフォルトの名無しさん:2023/07/29(土) 02:57:52.60 ID:hQSx1H1s.net
0xf最後の表記なfは16なんだとなぜか思い込んでた
0---9abc----fで桁上がりが16か、まさにそこから?って質問でした失礼しました

33 :デフォルトの名無しさん:2023/07/29(土) 06:50:18.68 ID:vYlMcu9f.net
10進法では10のことを10と書くからね

34 :デフォルトの名無しさん:2023/07/29(土) 11:41:01.32 ID:VU0UW7fl.net
Pythonとは関係ない話だけど
「午前11時45分」
「午後12時45分」
「午後1時45分」
時刻のこれだけは理解に苦しむ

35 :デフォルトの名無しさん:2023/07/29(土) 12:03:10.60 ID:voLhTcGw.net
「午後12時45分」は0時45分表記が自然だけど
「午前11時45分」「午後1時45分」は普通じゃね?こんなのが理解に苦しむ理由が分からんw

36 :デフォルトの名無しさん:2023/07/29(土) 12:20:49.11 ID:d4/f4P3b.net
まさにその二つに挟まれる違和感を言いたかったのであろう。
分かりにくいけどw

37 :デフォルトの名無しさん:2023/07/29(土) 12:25:33.47 ID:k4ALHt1m.net
>>32 >>33
なるほどね、その違和感を補正するには16進数という表記が10進数で書かれてるから対応が分かりづらくなると
じゃあ16進数で書けばいいな
16進数(10進数表現)
⇔ 10進数(16進数表現)

ということで数列(0,1,2,…)をベースに拡張するなら何進数であっても
N進数(10進数表現)
⇔ 10進数(N進数表現)
なのでした

38 :デフォルトの名無しさん:2023/07/29(土) 12:59:40.05 ID:TDos2+q3.net
>>34-35
0時表記を用いるのは日本だけらしいよ。
調べてみると結構面白い。
https://ja.wikipedia.org/wiki/%E5%8D%88%E5%89%8D%E3%81%A8%E5%8D%88%E5%BE%8C#%E6%99%82%E5%88%BB%E8%A1%A8%E7%8F%BE

39 :デフォルトの名無しさん:2023/07/29(土) 13:03:23.42 ID:wiWA5e07.net
12時はあっても0時はないって事かな
文字盤的に

40 :デフォルトの名無しさん:2023/07/29(土) 13:29:30.21 ID:oiIFGOV1.net
https://i.imgur.com/ZfBFIAn.png
Googleカレンダー

41 :デフォルトの名無しさん:2023/07/29(土) 14:24:22.66 ID:QYz+mhHg.net
1~12の数字のカテゴリ分けと午前午後のカテゴリ分けが
連動してないってことだろ

42 :デフォルトの名無しさん:2023/07/29(土) 15:08:58.12 ID:D+udayEV.net
>>38 超抜粋
> 日本における現行法令の上で「午前0時」、「午後12時」という2つの言い方が認められている。
> 「午後0時」という言い方は、日本における現行法令に基づく限り、「定義上は存在しない」ということになる。

午前は、0時から12時の13進数
午後は、1時から12時の12進数
ということか

43 :デフォルトの名無しさん:2023/07/29(土) 16:41:06.68 ID:zrA9yudI.net
>>32
ドンマイ
自分は1mが60cmだとずっと思ってて恥をかいたことあり
人間は恥をかいて成長する

44 :デフォルトの名無しさん:2023/07/30(日) 09:40:35.26 ID:azQXcNDB.net
>>32
逝ってヨシ

45 :デフォルトの名無しさん:2023/07/30(日) 09:42:35.20 ID:azQXcNDB.net
>>39
あいつらインド人を見下してたからな

46 :デフォルトの名無しさん:2023/07/30(日) 09:45:59.38 ID:azQXcNDB.net
>>42
午前11時59分の1分後は午前12時00分ではなくて午後12時00分だろ
午後11時59分の1分後は午後12時00分ではなくて午前0時00分だろ

午前は、0時から11時の12進数
午後は、12時から11時の12進数
何も間違っていない

47 :デフォルトの名無しさん:2023/07/30(日) 10:55:47.99 ID:xSgp5A2Q.net
話はもう>>32で終わってるのでもういいです

48 :デフォルトの名無しさん:2023/07/30(日) 12:26:13.13 ID:WLopXdVL.net
>>46
>>38 抜粋
> 子刻(正子)については、午前の欄の最初に「(午前)零時即午後十二字(子刻)」、つまり「午前0時=午後12時」と明記されている。

これだけ混乱させることが出来る日本の時刻表記は最高だぜ

49 :デフォルトの名無しさん:2023/07/31(月) 10:13:39.98 ID:8wbRk2dY.net
午前零時=深夜24時
午後十二時=深夜24時
間違ってないぞ

50 :デフォルトの名無しさん:2023/08/01(火) 03:09:21.22 ID:8wU+ches.net
あほしかいないねこのしれ

51 :デフォルトの名無しさん:2023/08/01(火) 09:39:07.75 ID:3Oe4XjgR.net
for/whileのelseが罠過ぎる
breakせずにループを抜けた時だけ実行されるって誰が使うんよこんなの
でも認定試験に出るから覚えないといけないんだよなー

52 :デフォルトの名無しさん:2023/08/01(火) 09:57:49.86 ID:NhWjWTcR.net
if/elseと考え方は同じ気がする
whileの条件がFalseになった一回だけelse内を実行するって事だよね?

53 :デフォルトの名無しさん:2023/08/01(火) 09:58:26.84 ID:wCGQ0oT2.net
for else 便利よ

54 :デフォルトの名無しさん:2023/08/01(火) 10:20:49.26 ID:wCGQ0oT2.net
具体的に言うとbreakしたのか最後まで回ったのかがすぐ判る
elseが無いと自分で別にフラグ用意するだろ?その手間が省ける

55 :デフォルトの名無しさん:2023/08/01(火) 12:08:54.90 ID:7v326M+p.net
やっぱ資格のための勉強って身につかんよな
わかるわかる
ばーーー

56 :デフォルトの名無しさん:2023/08/01(火) 14:44:05.71 ID://eJ4zUf.net
do .. while がない方が痛い
余計なifが汚い

57 :デフォルトの名無しさん:2023/08/01(火) 16:01:01.75 ID:xsOuXr3u.net
while True:
なんかする
最後 if True: break
これでええやん

58 :デフォルトの名無しさん:2023/08/01(火) 18:33:15.93 ID:9KETYfCe.net
同等でも構造が明示的でないのが悪
シンタックスシュガーの存在をかんがえてみて

59 :デフォルトの名無しさん:2023/08/01(火) 21:46:51.73 ID:0U4GDggW.net
for文でイテレーターはnextで次々に呼び出してるのは分かったんだけどlistもindexの最後まで同じような感じで呼び出してるの?
list型の変数をdir()で調べてもそれらしいものが分からなくて気になった。
c言語のfor(i=0;i<100;i++){}みたいなのがないか内部で行われてると思っていい?

ちなみにpythonもcも初心者です。

60 :デフォルトの名無しさん:2023/08/01(火) 23:02:51.36 ID:9KETYfCe.net
>>59
https://docs.python.org/ja/3/library/stdtypes.html?highlight=list#iterator-types
>>> '__iter__' in dir([])
True

61 :デフォルトの名無しさん:2023/08/01(火) 23:30:53.11 ID:QWA4KSJy.net
>>59
pythonのリストは
ja.wikipedia.org/wiki/連結リスト
の片方向リスト
[12,99,37]の内部表現は

[12| ]→[99| ]→[37| ]→[×]

のようになる
リストイテレータが最初にそのリストをを参照してた場合
nextを呼ぶと最初の要素12を返しイテレータ自身はリンクを一つたどって

[99| ]→[37| ]→[×]

を参照するように変わる
次にnextを呼ぶと99を返して[37| ]→[×]を参照するように変わる
イテレータが[×]を参照しているときにnextを呼ぶとStopIteration例外になる

62 :デフォルトの名無しさん:2023/08/02(水) 00:30:09.05 ID:aCdkrkAQ.net
それって言語仕様で規定されてるの?
CPythonがそういう実装なのかな?

63 :デフォルトの名無しさん:2023/08/02(水) 01:00:57.94 ID:HBDZrUwb.net
CPythonの実装はポインタの配列
連結リストとは違うよ

64 :デフォルトの名無しさん:2023/08/02(水) 09:06:22.08 ID:4pI1Wfnv.net
>>59
Py_OBJECT でぐぐれ

65 :デフォルトの名無しさん:2023/08/02(水) 22:10:41.51 ID:sw1byEhk.net
>>59
質問した者です。
みなさん、ありがとうございます。

66 :デフォルトの名無しさん:2023/08/04(金) 14:07:19.89 ID:XLfSEGlw.net
質問です
https://sorabatake.jp/12047/
これをやってみたのですが 404 です
死んでますか?

67 :デフォルトの名無しさん:2023/08/06(日) 00:24:31.88 ID:A4BaWyM2.net
tkinterのText()を扱うクラスを作ろうとしたんですが次がわかりません
def __init__(self)内でtext = Text()とすると、別のメンバ関数でtextが見えずエラー
なので、クラス変数(?)として宣言したいのですが・・・どうすれば?

68 :デフォルトの名無しさん:2023/08/06(日) 00:56:31.50 ID:RGOCzOZD.net
self.text = Text()

69 :デフォルトの名無しさん:2023/08/06(日) 03:46:54.50 ID:GdBlafvI.net
初めてリンター入れてみたらこれでもかってくらい指摘入って面食らいました
「そこまで言う意味ある?」って気持ちは湧きつつも、自分は文句言うほどレベル高くないし大人しく従ってますが
ググるとPEP8に従わないやつは糞だとか原理主義なこと言う輩が多いのが気になりました
こういう輩は無視してOKですかね?

70 :デフォルトの名無しさん:2023/08/06(日) 09:00:08.26 ID:3Gfiav7J.net
>>69
村のルールに従わない住人が村八分にされるのと同じで
PyhtonはPEPを信条に運営されているから
PEPに従わないヤツを排除する動きがあるのは当然
それを踏まえてどう行動するかは君次第

71 :デフォルトの名無しさん:2023/08/06(日) 09:14:38.42 ID:8NkqV1kX.net
一緒に仕事したくないという評価になるね

72 :デフォルトの名無しさん:2023/08/06(日) 09:28:21.16 ID:ES7Kp55N.net
>>67
まずクラス変数とインスタンス変数とローカル変数とグローバル変数の
スコープの区別ついてないんじゃないか?

73 :デフォルトの名無しさん:2023/08/06(日) 09:33:35.30 ID:xJ7XeiL9.net
ああだからRustには原理主義者が多いのか

74 :デフォルトの名無しさん:2023/08/06(日) 10:22:46.43 ID:Z6X8w1Qb.net
ルールがないと混沌化するしイザコザが発生するから
たしかに原理主義的だけど公式で推すのが平和的でスマート

75 :デフォルトの名無しさん:2023/08/06(日) 12:09:14.32 ID:FBMr5AjE.net
>>73
Rustは自由だよ
例えばある企業があるいはあるプロジェクトが各々の独自のスタイルガイドを定めて用いてもよいとなっている

一方でスタイルガイドについて定めのない一般的な場合はRust公式のrustfmtの整形出力フォーマットに従う
標準のスタイルガイドが定まっているプログラミング言語は無用な論争や混乱もなく優れているよ

76 :デフォルトの名無しさん:2023/08/06(日) 12:51:31.59 ID:h1JbhEdM.net
クソみたいなルールを押しつけてくるようになるまでは役に立つよね

77 :デフォルトの名無しさん:2023/08/06(日) 14:22:46.13 ID:Aw/BJwB+.net
自由とかギークを何よりも重視する従来のOSS的価値観から見れば異端
プログラミングそのものが好きなのか、プログラミングはただの道具なのか
価値観の違い

78 :デフォルトの名無しさん:2023/08/06(日) 16:31:41.34 ID:UCqPwJaW.net
条件文とかのコロン無くしてくれ

79 :デフォルトの名無しさん:2023/08/06(日) 20:24:40.81 ID:A4BaWyM2.net
>>68
サンクス
動いたw

80 :デフォルトの名無しさん:2023/08/08(火) 22:18:44.51 ID:7qf12Zez.net
pythonの仮想環境って何で仮想環境って名前にしたの?
単にパス通したりして工夫してるだけで既存システムはそのまま使ってるだけなのに
仮想化って大げさだと思うけど
このネーミングに反対する意見って出なかったの?

81 :デフォルトの名無しさん:2023/08/09(水) 08:07:56.12 ID:aG7casYO.net
>>80
それは、virtualなんちゃらの歴史を知らなすぎかなあ。
hardware virtualizationだけがvirtualなんちゃらを名乗っていいわけじゃないから。

82 :デフォルトの名無しさん:2023/08/09(水) 09:22:03.38 ID:GQHrrnYT.net
>>80
一つのマシンで複数の環境を切り替えて使える場合、各々の環境は仮想的であると言える
何もおかしなところはない

83 :デフォルトの名無しさん:2023/08/09(水) 11:48:11.84 ID:msOTygD8.net
単に実環境を切り替えてるだけなら仮想的ではないわな
一部は共有してるけどあたかも独立した環境であるかのように扱える仕組みでも有れば仮想的と言える(Python自体は共有してるけど独立した環境であるかのようには扱えない)

まぁ文句言っても仕方ないのでよくあるPython独特の用語の一つだと思って受け入れるしかない

84 :デフォルトの名無しさん:2023/08/09(水) 16:19:24.60 ID:coMLMuQp.net
>>80
jail とか vm とか色々なアプローチがあるな

85 :デフォルトの名無しさん:2023/08/09(水) 17:38:23.32 ID:ZMLVZrF/.net
環境変数によって環境を変えて動作を変えることは
単なる環境であって仮想環境たる要素が何もない話と同じかな

86 :デフォルトの名無しさん:2023/08/09(水) 18:33:59.91 ID:3n0Peewm.net
詭弁に近いけどPythonのみの隔離環境とみると
venvもchrootもDockerも同種にみえん?
元になったvirtualenvのサイトには
virtualenv is a tool to create isolated Python environments.
と書いてるし軽いノリで付けた言葉が残ってるだけにもみえる

87 :デフォルトの名無しさん:2023/08/09(水) 23:14:32.90 ID:aG7casYO.net
仮想メモリとかだって一種の隔離環境なわけだしね。具体的にどんな要件を満たしてたら仮想で、満たしてなかったら仮想じゃないってものじゃない気がするけどな。
他の言語だって仮想環境って言ったりするでしょ。

88 :デフォルトの名無しさん:2023/08/09(水) 23:34:07.10 ID:ZMLVZrF/.net
例えば
実メモリアドレスに対して仮想メモリアドレス
実ディレクトリパスに対して仮想ディレクトリパス

そういう実と仮想がないならば
今回の場合は仮想環境ではなく単なる環境切り替えが正解かも

89 :デフォルトの名無しさん:2023/08/09(水) 23:38:38.24 ID:hnMBPj/l.net
単に「気分はバーチャル」だっただけみたいだな

90 :デフォルトの名無しさん:2023/08/09(水) 23:40:22.87 ID:RCE4XY7X.net
あなたの拘りはわかったので自分の中で勝手に呼び分けといてください

91 :デフォルトの名無しさん:2023/08/09(水) 23:52:21.35 ID:6hLmMtvT.net
白旗を上げたようだな

92 :デフォルトの名無しさん:2023/08/10(木) 00:24:40.89 ID:hoZ6pXSU.net
好きなあの娘とvirtualenv

93 :デフォルトの名無しさん:2023/08/10(木) 04:01:48.37 ID:GpbD/XFE.net
context switching

94 :デフォルトの名無しさん:2023/08/10(木) 07:30:05.04 ID:laGIFgwC.net
virtualイコール仮想的って不十分なんだよね
実質的にはみたいな意味もあって、公式には離婚してないけど実質離婚状態みたいな場合でもvirtual使ったり
他には実質的には内紛みたいな場合だと、virtual civil warみたいに表現するし、virtual civil war訳すときに仮想的な紛争とか訳したら誤訳になる

tPythonのvenvは実行環境ぐらいに捉えてる

95 :デフォルトの名無しさん:2023/08/10(木) 07:31:31.17 ID:laGIFgwC.net
tは無視して
topコマンドのvirtの話入れようとした痕跡

96 :デフォルトの名無しさん:2023/08/10(木) 08:13:37.00 ID:QCsZIB3p.net
メモ帳に書いてろ

97 :デフォルトの名無しさん:2023/08/11(金) 13:00:27.60 ID:oLYpGYcF.net
virtual insanity(´・ω・`)

98 :デフォルトの名無しさん:2023/08/11(金) 16:29:22.45 ID:RdYRFZwQ.net
>>94
>tPythonのvenvは実行環境ぐらいに捉えてる
「実質的には」はどこに行ったの?
名目的にもvenvはただの実行環境だからvirtualはそぐわないよね?

99 :デフォルトの名無しさん:2023/08/11(金) 16:36:59.39 ID:aKkvsRw0.net
>>98
ボーグに同化される人生だとよかったね

100 :デフォルトの名無しさん:2023/08/12(土) 03:53:49.69 ID:k0rCrKbL.net
まずvenvが対象にしているのはライブラリ依存関係の環境(==pip)である。
何がvirtualでないenvかを考えるとシステムにインストールしたPythonに紐づくpipかな。
様々な用途の開発で同じグローバルなpipを使うのは問題があるし、Linuxの場合はOSが使ってるから不用意にシステムPythonのpipを使わないほうが良かったりする。

プロジェクトごとに分離した依存関係管理ができるツールの1つとしてvenvがある

独立環境とか分離環境とかがより適切な命名だったのかもしれないけど、業界の慣習的な命名に後からとやかく言ってもしょうがないかもね

101 :デフォルトの名無しさん:2023/08/12(土) 09:49:08.27 ID:sI+BUdl8.net
>>100
>業界の慣習的な命名に後からとやかく言ってもしょうがないかもね
python業界だけの特殊な慣習だぞ

102 :デフォルトの名無しさん:2023/08/12(土) 09:53:18.81 ID:8hMMeSIO.net
グローバルのパッケージマネージャ使っても本来何の問題もない
それこそ業界の慣習

依存関係管理の単位がどのパッケージマネージャの実体を使うかに依存してるほうがおかしい

103 :デフォルトの名無しさん:2023/08/12(土) 10:43:20.85 ID:Wv+E7qVe.net
パッケージマネージャーの機能不足を別のツールで補ってるだけだからな
他の言語で言うところのプロジェクトと目的は同じ

104 :デフォルトの名無しさん:2023/08/12(土) 18:57:50.81 ID:ghRTbMM+.net
venvってpython本体やライブラリをまるっとダウンロードして格納してるって知ってびっくりした。
一見ものすごい無駄に思えるけど、こういう単純なやり方が結局ベストってことだよね?
そういうのに耐えられるくらい仕様がシンプルかつスリムだというのも地味にpythonの強みなのかな。
他の言語で同じことやろうとしても簡単にはいかないよね。

105 :デフォルトの名無しさん:2023/08/12(土) 21:40:06.74 ID:xBmGN9uj.net
>>104
本体や標準ライブラリはダウンロードしないぞ
どこ見てんだ?

106 :デフォルトの名無しさん:2023/08/12(土) 22:16:39.21 ID:OOUfgbQz.net
「悪しき命名は悪しき設計の表れ」だと再認識させてくれる良い事例

107 :デフォルトの名無しさん:2023/08/12(土) 22:17:29.25 ID:ghRTbMM+.net
>>105
venvのScriptsにpython.exe含め色々な実行体があるけど、これって本体じゃないのか。
たしかにdll類がどこにも見当たらない。dllは本体インストール先のやつを使うのかな?
てことはこのpython.exeは多田野ラッパー?

108 :デフォルトの名無しさん:2023/08/12(土) 22:18:04.31 ID:ghRTbMM+.net
×多田野
◯ただの

109 :デフォルトの名無しさん:2023/08/12(土) 22:31:53.13 ID:Y4lXTv//.net
エイヨー 多田野・ザ・ラッパー イン ザ ハウス

110 :デフォルトの名無しさん:2023/08/12(土) 22:39:35.25 ID:du+ixfhU.net
>>107
python.exeはラッパーじゃなくてランチャーだよ

111 :デフォルトの名無しさん:2023/08/12(土) 23:17:45.90 ID:TCuliBLR.net
TDN

112 :デフォルトの名無しさん:2023/08/12(土) 23:33:34.31 ID:0foAJdD0.net
普段どこに書いてるんだよ(白目

113 :デフォルトの名無しさん:2023/08/12(土) 23:58:48.55 ID:ghRTbMM+.net
あーなんか実験したらわかってきました。
ライブラリはパッケージマネージャ(pipやpoetryなど)のキャッシュを探しに行き
見つかればそれをコピー、なければダウンロードするわけですね。
賢いっすね。てか当たり前か。
ありがとうございました

114 :デフォルトの名無しさん:2023/08/13(日) 00:16:53.24 ID:JPaUrSh0.net
>>113
> 見つかればそれをコピー、なければダウンロードするわけですね。

コピーもダウンロードもしない。
モジュール検索パス(sys.path)から見つかれば実行されてなければエラーになるだけ

115 :デフォルトの名無しさん:2023/08/13(日) 00:59:32.91 ID:zhWOv+6v.net


116 :デフォルトの名無しさん:2023/08/13(日) 06:17:20.53 ID:asUkEDOo.net
あヤバイ眠い

117 :デフォルトの名無しさん:2023/08/13(日) 09:56:42.40 ID:Ie1UHHws.net
コンテナ化が進めばvenvはなくなっていくのかな(´・ω・`)

118 :デフォルトの名無しさん:2023/08/13(日) 11:51:50.00 ID:mxfdwtiA.net
>>102
これ

119 :デフォルトの名無しさん:2023/08/13(日) 21:55:22.03 ID:R7jJ+sOg.net
>>117
なくならない
Dockerに限らずだけど、コンテナ環境って結構複雑だし

120 :デフォルトの名無しさん:2023/08/14(月) 02:18:17.14 ID:N8bNxgMD.net
日本人が作った、多言語バージョンマネージャーのanyenv なら、20言語ぐらい使える。
同様のツールに、asdf もある

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

echo $(anyenv root)
/home/ユーザー名/.anyenv

echo $(rbenv root)
echo "$RBENV_ROOT"
/home/ユーザー名/.anyenv/envs/rbenv

echo $(nodenv root)
echo "$NODENV_ROOT"
/home/ユーザー名/.anyenv/envs/nodenv

121 :デフォルトの名無しさん:2023/08/14(月) 17:27:05.76 ID:l1J1W0zj.net
site = '''\
外務省ホームページ
G7広島首脳コミュニケ
地域情勢
53.\
'''

uri = "htt" + "ps://www.mofa.go.jp/mofaj/files/100507034.pdf#page=35"

print( site.replace("\n", " > "), uri, sep="\n" )

122 :デフォルトの名無しさん:2023/08/15(火) 15:43:58.31 ID:j64iNkIY.net
>>117
わざわざvenvで済むものをコンテナにするのはないかなー。
必要なディスク容量も違うし、コンテナ環境のメンテの方がvenvのメンテより面倒だし。
libなんちゃらのライブラリの依存がとんでもない場合(CUDA使って機械学習とか)以外はあまり使おうという気にならないかな。

123 :デフォルトの名無しさん:2023/08/15(火) 18:53:58.98 ID:cVYdgkhy.net
(メ▼(エ)▼)y─┛~~

124 :デフォルトの名無しさん:2023/08/20(日) 18:14:15.02 ID:wlL4UoLb.net
lambdaの方がdefで定義するより爆速じゃね
そうするとdef func()じゃなくてfunc = lambdaって書くデメリット何?

125 :デフォルトの名無しさん:2023/08/20(日) 19:20:36.30 ID:qlg/Xyh9.net
defもlambdaも毎回評価しないし速度差あったとして気になる?
どちらかというと中途半端なlambdaは撲滅してほしい
表現力低いのに無理やり書いてるコードみると泣ける

126 :デフォルトの名無しさん:2023/08/20(日) 20:43:30.19 ID:5jzp3rX7.net
うわrichのトレースバック(エラー表示)めちゃ便利じゃんなんで教えてくれなかった
必死にすべての使った変数を表示する方法とか調べたりこういうところで聞いたりして諦め
確認用のprint設置を乱発してた(debug書式のは可読性的に邪魔でやめた)
たどり着いたのは詳細なエラー表示でflake8で「まあこれでいいか…解決には半歩も助けにならなかったな」とかやってたが
今なんとなくrichの前見かけた気になってたこれを設定したら舘ひろしもびっくり見えちゃうんですじゃん
https://rich.readthedocs.io/en/latest/traceback.html
https://rich.readthedocs.io/en/latest/reference/traceback.html#rich.traceback.install


似たような初心者のために書いておきます!
他にもこういったTUI環境でも使える必携補助装置があれば、ぜひ教えてください

127 :デフォルトの名無しさん:2023/08/23(水) 11:48:24.69 ID:89z/H8g7.net
さてはさぷーの閲覧者か

128 :デフォルトの名無しさん:2023/08/27(日) 05:45:31.37 ID:pq1ziXgi.net
matplotlibのArtistAnimationだけど、なぜか一番最初に全グラフを合成したものが表示されてしまう
これって仕様ですかね?

Python 3.10
matplotlib 3.7.2

129 :デフォルトの名無しさん:2023/08/27(日) 10:07:09.77 ID:/9UKR3Fh.net
Pythonでコラボタートルの勉強をしてるのてすがこの図形を描くのにはどうすれぱいいのでしょうか?まったく分からないです…


https://i.imgur.com/xBVeKkU.jpg

130 :デフォルトの名無しさん:2023/08/27(日) 11:31:37.21 ID:NL8Wxbbf.net
中心と外周に接する小さい多角形がある

131 :デフォルトの名無しさん:2023/08/27(日) 13:46:30.52 ID:20Uxh6fU.net
うわーまったくわからねえと思ったが
タートルってあれだよな学習用のとか考えてて思い付いたのは
図面1も2も亀さんを片側に曲がりながら円になって戻ってくるようにすりゃいいイメージだよな
指定した角形数で360度まわってくればいいから360割るいくつかでその角度ずつ曲がらせればよいのでは!
起点に戻ったら角度ずらしてまたやるんだろうけどそのずらしはちょっとわかんない!

132 :デフォルトの名無しさん:2023/08/27(日) 13:57:32.74 ID:20Uxh6fU.net
ずらしは中心から伸びてる線の分割数10の角度だな(たぶん)…
算数レベルもあぶない自分の考えを書き出してみました識者の意見求む
勉強してるなら自分で考えなさいと言いたい、これが出来る前フリとかした状態だろうしちょっと考えればって状況のはず

133 :デフォルトの名無しさん:2023/08/27(日) 15:15:00.55 ID:Pba1j/J0.net
依存性の注入というのがいまだにわからんのだけど
なんの本買ったらいいの?

134 :デフォルトの名無しさん:2023/08/29(火) 00:18:23.07 ID:BTF5pWeT.net
依存性の注入は、Ruby では出てこない

だって、Duck Typing だから。
メソッド名が同じだけで良いから

例えば、enumerable に対応するには、each メソッドがあれば良いだけ。
インスタンスにeachがあれば、enumerableのすべてのメソッドが使える

依存性の注入って言ってる香具師は、C# だけでしょ。
動的言語にあるとは思えない

135 :デフォルトの名無しさん:2023/08/29(火) 00:24:18.34 ID:QCf3nQNA.net
注入ってなんだよダサい

136 :デフォルトの名無しさん:2023/08/29(火) 00:29:36.10 ID:vNr56RL1.net
外から入れてるだけやん

137 :デフォルトの名無しさん:2023/08/29(火) 00:52:12.38 ID:Bbad6Hde.net
LOVE注入~❤

138 :デフォルトの名無しさん:2023/08/29(火) 00:57:13.57 ID:ohKP7npH.net
Rubyは読みにくいPerlほどじゃないけど

139 :デフォルトの名無しさん:2023/08/29(火) 02:38:46.62 ID:Ye/j7w6x.net
あれ? Pythonのスレだよね?

140 :デフォルトの名無しさん:2023/08/29(火) 16:28:40.02 ID:ud/hz0aH.net
プログラム技術の板ですが?

141 :デフォルトの名無しさん:2023/08/29(火) 17:12:15.08 ID:M8dDnwfH.net
>>133
DIって話には出るが
ろくな解説書ないな
Androidのdaggerとかhiltとか探してみたが
DI自体についてはすでに知ってる前提の奴ばっかりだった

142 :デフォルトの名無しさん:2023/08/29(火) 18:56:07.99 ID:90IKlLvh.net
詳しいのはmark seemannの本
日本語では出てないかもしれない

143 :デフォルトの名無しさん:2023/08/30(水) 01:06:43.85 ID:B7CG/4xg.net
Rubyでは~
ここはどこだよ

144 :デフォルトの名無しさん:2023/08/30(水) 12:44:52.95 ID:B/z3JA/V.net
DIって車と車の部品の関係でよく例えられるけど、これだけならオブジェクト指向プログラミングでは普通なこと気がするんやが、なんか特別に勉強する必要があるんかな(´・ω・`)

145 :デフォルトの名無しさん:2023/08/30(水) 14:46:05.92 ID:PiV0QNDQ.net
超絶初心者です、Python出来る人でもネットに転がってるコードとかコピペして
ちょちょっと編集したりする事あるんですか?

146 :デフォルトの名無しさん:2023/08/30(水) 14:48:35.55 ID:s6yXhO48.net
それがメインの仕事だよ

147 :デフォルトの名無しさん:2023/08/30(水) 15:00:35.78 ID:PiV0QNDQ.net
>>146
回答頂きありがとうございます。
そうなんですね〜

148 :デフォルトの名無しさん:2023/08/30(水) 15:24:17.79 ID:zHni/Vbc.net
慣れて覚えてれば空で描けるが
以前に描いた自分のコードからコピペることが多いな

149 :デフォルトの名無しさん:2023/08/30(水) 16:01:29.20 ID:6Nf/ac+O.net
指先から紡ぎ出すようになるのに何年くらいかかりますか

150 :デフォルトの名無しさん:2023/08/30(水) 18:16:08.49 ID:ZaG6EIxJ.net
何年やってもできない人はずっとコピペだよ
逆にできる人は1年目から空で書ける

151 :デフォルトの名無しさん:2023/08/30(水) 18:37:48.49 ID:UqoqsUW1.net
aiに書いてもらって確認修正して終わり

152 :デフォルトの名無しさん:2023/08/31(木) 01:31:57.23 ID:X47G4wt5.net
>>144
楽に逸脱行為できる仕組みを提供してくれてるんだけど
リフレクションが透けてキモいし一般化する必要はなかったよね
そこまでメタなものじゃなくて目的に直結した便利機能があれば十分

153 :デフォルトの名無しさん:2023/08/31(木) 09:54:17.47 ID:DND1fd+0.net
リフレクションは関係ない

154 :デフォルトの名無しさん:2023/09/01(金) 12:58:49.16 ID:cc3ovi53.net
フロントエンドエンジニアのフリーランス平均年収867万円!98%がリモート可案件!
業界別ではSIer 950万円、SaaS 921万円|SOKUDAN調査レポート
一般的な平均年収599万円よりも、+268万円高い。全案件の56%が年収800万円超

フリーランス・複業・副業の求人マッチングサービス『SOKUDAN(ソクダン)』を運営する、
CAMELORS株式会社は、フリーランスWebディレクターの平均年収・時給について調査した
フリーランスフロントエンドエンジニアの56%が年収800万円超
・一般的な平均年収599万円よりも、フリーランスの方が867万円と+268万円高い
・週3日以下の案件が約62%、リモート可能な案件は98%
・案件が多い業界は、SaaS、Web制作、システムインテグレータ
・求められるスキルはJavaScript、React.js・Next.js、Vue.js・Nuxt.js、Typescript
・平均年収867万円、平均時給4,303円
・中央値年収819万円、中央値時給4,063円
・年収800万円以上が56%を占める
・年収1,000万円以上が22%を占める
・年収600万円以下よりも年収1,200万円以上の方が多い
一般的なフロントエンドエンジニアの平均年収 「599万円(求人ボックス・給料ナビ)」

155 : 【大吉】 :2023/09/01(金) 14:17:16.98 ID:8Q6o7DlX.net
!omikuji の日でござる

156 :デフォルトの名無しさん:2023/09/04(月) 01:06:34.09 ID:HnNo1tWR.net
以下の様なスクリプトがあります

class Student:
 def __init__(self, id, name):
  self.id = id
  self.name = name

def main():
 s1 = Student(1, "Mike")
 print(s1.name)
 return 0

if __name__ == '__main__':
 exit(main())

ここで、Studentクラスの__init__内に以下のような処理を入れて、
自インスタンス名がs1ならself.nameを"John Doe"に
変更させたいと思ってます

  if 自インスタンス名 == "s1":
   self.name = "John Doe"

インスタンス側で、自インスタンス名を取得する方法がありますでしょうか

クラス変数にinstancenameみたいなものを追加しようかと思いましたが
わざわざインスタンス名と同じ値を設定しなければならないというのもイマイチに思ってます

157 :デフォルトの名無しさん:2023/09/04(月) 01:20:29.31 ID:svBXgOiP.net
>>156
無理
s1 = Student(1, "Mike")の行は右辺から評価されるわけでinitが実行されるタイミングでその処理結果を代入する先のインスタンス変数名を把握しようがない

158 :デフォルトの名無しさん:2023/09/04(月) 01:34:16.67 ID:HnNo1tWR.net
>>157
評価の順番で無理ですか
分かりやすい説明ありがとうございました

__init__ではなく、別のタイミングで呼ばれるクラスメソッドでは方法はあるのでしょうか
たとえばクラスに
  def check():
   if 自インスタンス名 == "s1":
    self.name = "John Doe"
といったメソッドを追加して、メイン側では
 s1 = Student(1, "Mike")
 s1.check()
みたいにする等して、インスタンス作成後であれば取得することは可能なのでしょうか

159 :デフォルトの名無しさん:2023/09/04(月) 01:34:28.71 ID:DzJnyl6r.net
あってるけどアサイン後ならわかるのかとミスリードせん?
コンテキスト側からは追えないこともないけども

160 :デフォルトの名無しさん:2023/09/04(月) 01:35:47.98 ID:DzJnyl6r.net
>>158
煩雑なだけだからできないと考えた方がいい

161 :デフォルトの名無しさん:2023/09/04(月) 01:39:30.34 ID:DzJnyl6r.net
s3 = s2 = s1 = Student(1, "Mike")
としたときどうすんのって話もある

162 :デフォルトの名無しさん:2023/09/04(月) 02:05:01.07 ID:HnNo1tWR.net
>>160
なるほど
いろいろ回答ありがとうございました

処理全体を見直そうと思います

163 :デフォルトの名無しさん:2023/09/04(月) 21:22:59.99 ID:nWTc2hmH.net
pip searchってもう使えなくてpypi.org見れって言ってくるんだけど、これってふざけてませんか?
CUI主義の人はこれだと困るじゃないですか
なんでこんな仕様変更したんだろう

164 :デフォルトの名無しさん:2023/09/04(月) 21:34:36.33 ID:eS6UNx4I.net
>>163
負荷に耐えられないから
https://status.python.org/incidents/grk0k7sz6zkp

165 :デフォルトの名無しさん:2023/09/05(火) 20:08:47.70 ID:rogYYWHX.net
同じ名前なのにこいつはglobalでこいつはlocalですよ
そんなつもりじゃないですよね?って教えてくれる
terminalとvimでの環境でも使えるなにかってありますか
エラー報告器というのか、ハイライトというのか
なんだなんだどこかの仕掛けが反映されてないぞ、二つの別のリストがあるのではという状況になってます

166 :デフォルトの名無しさん:2023/09/05(火) 20:20:30.09 ID:xROyc3eI.net
vim-lspで好きなランゲージサーバと連携したらつよつよにはなるけど
globalつかうコードを避ける、使うのはアクセサだけにするなど自制するのがシンプル

167 :デフォルトの名無しさん:2023/09/05(火) 20:55:48.31 ID:rogYYWHX.net
vim-lspやランゲージサーバーを知らなかったので調べてみますありがとう
なかなかシンプルには頭の中からしてまとまらなくて…頑張ってみますw

168 :デフォルトの名無しさん:2023/09/06(水) 13:26:44.71 ID:ROxN7tKN.net
vscodeとpycharmがただで使えるのにvimで頑張るのか(´・ω・`)

169 :デフォルトの名無しさん:2023/09/06(水) 14:02:07.39 ID:pyg074gJ.net
>>168
スマホのtermux上で遊んでるだけなので、楽しんでたプログラムが思いがけず大きくなりました
linuxディストリビューションを入れることも可能なのでvscodeも試してみたことはあります
スマホ画面ではそう使いやすくは無く、初心者なのでなおさら苦悩が増えました
といった理由でterminalでvimとなってます

さっきpluginとしてvim-lspとPlug 'mattn/vim-lsp-settings'を入れてみました
黄色や赤でスペースがなってない!などと自分のコードをド派手に隠します…
printと書くとポップアップで自分には参考にならないpython docsと似た仕様をあらわす英文がでます
いまのところ使いこなせそうにありませんw

170 :デフォルトの名無しさん:2023/09/07(木) 12:33:06.77 ID:iG8XE85c.net
yahooの再設定で生年月日わからんから生年月日を検索するツールを作りたいん
プログラム知識ないからAIで作らせたいん
どうすればいいんですか?

171 :デフォルトの名無しさん:2023/09/07(木) 12:46:06.68 ID:KtKJhS7/.net
AIの知識があるなら
プログラムもAIで作ればいいんじゃないかな

172 :デフォルトの名無しさん:2023/09/07(木) 13:00:46.71 ID:yf0XBZB8.net
馬鹿には無理

173 :デフォルトの名無しさん:2023/09/07(木) 13:07:12.08 ID:CDCme1Du.net
総当たりじゃ解けないようになってるはず
サポートに問い合わせろ

174 :デフォルトの名無しさん:2023/09/07(木) 13:14:06.06 ID:iG8XE85c.net
問い合わせても「お答えできない」としか返ってこないから意味ないん

175 :デフォルトの名無しさん:2023/09/08(金) 17:42:37.49 ID:NjDvTDdV.net
宿題にはお答え出来ません
宿題と判らないように質問してください

176 :デフォルトの名無しさん:2023/09/10(日) 07:30:31.81 ID:hps7g+0s.net
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!

177 :デフォルトの名無しさん:2023/09/10(日) 07:34:36.02 ID:hps7g+0s.net
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

178 :デフォルトの名無しさん:2023/09/10(日) 07:34:51.97 ID:hps7g+0s.net
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!

179 :デフォルトの名無しさん:2023/09/11(月) 03:48:59.40 ID:WUmnzUS8.net
スレタイにふさわしい質問ですがryeってのどうですか?
Pythonバージョンの切り替えとかほぼしないしpoetryで不満ないんですが
この手のツールはあんまりフラフラ変えないほうがいいですよね?

180 :デフォルトの名無しさん:2023/09/11(月) 09:49:56.20 ID:lXcI/Ajd.net
なにそれおいしいの

181 :デフォルトの名無しさん:2023/09/11(月) 12:23:17.90 ID:Uj3i56F3.net
Rustで作られた
Pythonの環境管理・installなどのツールか
venvなどよりryeおすすめって記事をよく見る

182 :デフォルトの名無しさん:2023/09/11(月) 23:35:23.83 ID:VwcUnZnc.net
日本人が作った、多言語バージョンマネージャーのanyenv がある。
同様のツールに、asdf もある。
他には、Docker もある

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

183 :デフォルトの名無しさん:2023/09/12(火) 15:27:42.12 ID:RGjhGQKs.net
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
そしてスレ主がその極悪非道の強姦魔バカチョンです!
Python使う奴はチョンが多いです。
しかも北朝鮮人ですから犯罪なんでもやります。
必ず家族の戸籍を確認しましょう!

184 :デフォルトの名無しさん:2023/09/13(水) 06:46:42.57 ID:5G1pYC4E.net
>>183
恥ずかしくない?

185 :デフォルトの名無しさん:2023/09/13(水) 14:22:45.91 ID:JmOEsGWT.net
漏れの読み
>>183 == >>184

186 :デフォルトの名無しさん:2023/09/13(水) 14:24:03.36 ID:7K6lTl9W.net
pythonは俺が作った最強の系が多すぎて困る
豪語するのはデファクトになってからにしてくれ

187 :デフォルトの名無しさん:2023/09/13(水) 15:56:15.75 ID:JmOEsGWT.net
Rustのことですねわかります

188 :デフォルトの名無しさん:2023/09/13(水) 16:01:01.97 ID:GC1GSAPg.net
デファクト

189 :デフォルトの名無しさん:2023/09/16(土) 16:53:10.39 ID:EeYw60jk.net
vscodeのプラグイン分割されたせいか動きがおかしいしやつがいくつがあるな(´・ω・`)

190 :デフォルトの名無しさん:2023/09/16(土) 17:12:10.72 ID:OSqYfQ8W.net
分割ってなに

191 :デフォルトの名無しさん:2023/09/23(土) 09:00:04.64 ID:FVqyQUn9.net
aleにエラー警告など出してもらうことにしてみたらすっきりして満足なのですが
警告内容がステータスラインとコード中のふたつ表示され邪魔で
コードのなかには赤とか青のハイライトだけでステータスに表示されてればよいなと思いました
どのように設定すればよいですか

自分の.vimrcのlspに関係する部分

call plug#begin('~/.vim/plugged')
Plug 'prabirshrestha/vim-lsp' Plug 'mattn/vim-lsp-settings'
Plug 'w0rp/ale' call plug#end()
if executable('pyls') au User lsp_setup call lsp#register_server({
\ 'name': 'pyls', \ 'cmd': {server_info->['pyls']}, \ 'whitelist': ['python'], \ }) endif
" vim-lsp left signcolmn off
setlocal signcolumn=no let g:lsp_diagnostics_enabled = 0 " 警告やエラーの表示はALEに任
せるのでOFFにする

" my ale setting let g:ale_linters = { \ 'python': ['flake8', 'mypy'], \}

192 :デフォルトの名無しさん:2023/09/23(土) 09:02:37.55 ID:FVqyQUn9.net
あ、めちゃくちゃになったすみません(直せない)

193 :デフォルトの名無しさん:2023/09/28(木) 12:15:19.06 ID:jwkusxvg.net
pywebview から webview2 で表示させた中身は、どうやったらスクレイピングできますか?

194 :デフォルトの名無しさん:2023/09/28(木) 13:47:29.57 ID:emnRgXWb.net
window.get_elementsでいけそう
https://pywebview.flowrl.com/examples/get_elements.html

195 :デフォルトの名無しさん:2023/09/29(金) 15:15:41.90 ID:+VVm/6J4.net
pythonは門外漢なのですがコードを読めずに困ってます
dp=[[0,0] for _ in range(N)]
dp[0]=[1,1]
これは何を表していますか?
dp[i][0]%=MODとか出てくるからdp[i][j]は数値だと思うのです

196 :デフォルトの名無しさん:2023/09/29(金) 15:20:33.59 ID:K+K2fBee.net
dp=[]
for _ in range(N):
dp.append([0,0])
dp[0]=[1,1]

197 :デフォルトの名無しさん:2023/09/29(金) 15:27:47.40 ID:Dt5xSUqE.net
全ての要素が [0,0] である N-1 個のリスト dp を作成
dp の最初の要素に [1,1] を代入

198 :デフォルトの名無しさん:2023/09/29(金) 15:32:53.86 ID:K+K2fBee.net
ChatGPTに聞いたらいい感じに答えてくれた

199 :デフォルトの名無しさん:2023/09/29(金) 15:57:49.40 ID:DCwFF8Wu.net
for文の変数が_ってこの変数自体を指定することはありませんよってポーズ?

200 :デフォルトの名無しさん:2023/09/29(金) 18:51:51.98 ID:UcDRzO48.net
ふつうは言語機構つかって
[[0,0]] * N
と書くけど知らないと魔法にみえるからありなのか

201 :デフォルトの名無しさん:2023/09/29(金) 19:02:04.86 ID:NAigsGqx.net
[[0,0]] * Nはだめだよ

202 :デフォルトの名無しさん:2023/09/29(金) 19:54:46.54 ID:DCwFF8Wu.net
>>201
[0,0]のリストが同じIDでN個入ったリストができんだよね……

203 :デフォルトの名無しさん:2023/09/29(金) 20:35:11.07 ID:UcDRzO48.net
たしかに
dp[0]=[1,1]
でしか操作しないならタプルにしてるだろうし撤回するわ

204 :デフォルトの名無しさん:2023/09/29(金) 20:51:40.89 ID:w4soHy15.net
同じ実体を指してるリストが欲しいケースってそんなにあるんだろうか
簡便な記法をレアな用途に当ててしまってる気が

205 :デフォルトの名無しさん:2023/09/30(土) 10:48:48.49 ID:+WV6fTrG.net
>>195
N=3だとすると
dp=[[1,1], [0,0], [0,0]]
にしている

206 :195:2023/09/30(土) 13:38:46.89 ID:rp4pJ3sH.net
ありがとうございます。理解できました

207 :デフォルトの名無しさん:2023/10/04(水) 17:52:26.06 ID:+BdHLUL4.net
webアプリを作ろうと思って、ローカルの環境でsqlite3を使って作ったDBとflaskとを組み合わせて開発しました。

しかし、webに公開することを考えると、mysqliteのような簡易なDBではなくちゃんとmysqlを勉強してそちらを使うように作り変えるべきでしょうか?

208 :デフォルトの名無しさん:2023/10/04(水) 17:54:35.82 ID:ilZ5d6ID.net
はいそうなります

209 :デフォルトの名無しさん:2023/10/04(水) 18:42:00.03 ID:sTQvT6wD.net
アクセス数が少ないなら何の問題もない

210 :デフォルトの名無しさん:2023/10/05(木) 17:06:48.85 ID:WXXGTjkD.net
>>209
同意だけどアクセス権とかどうすんのかな

211 :デフォルトの名無しさん:2023/10/05(木) 17:57:28.56 ID:EEXxhJ5S.net
読みだけならアクセス数がそれなりに多くても平気
不特定多数が同時に書き込んだり
書き込み時に読み込みがブロックされると困る仕組みならサーバー型のデータベース使う

212 :デフォルトの名無しさん:2023/10/06(金) 23:25:50.21 ID:tE7CLicd.net
何度質問してもOKだってさ
おまいら良かったな
https://www.youtube.com/watch?v=l-qk1FX1Hw0

213 :デフォルトの名無しさん:2023/10/16(月) 15:27:42.68 ID:/1UTkc3m.net
https://i.imgur.com/G2Hy1wy.jpg
良ければお試しください
ik..tk N-G用

214 :デフォルトの名無しさん:2023/10/16(月) 16:21:27.52 ID:spRcfSPO.net
>>213
とりあえずやる価値はありそう

215 :デフォルトの名無しさん:2023/10/16(月) 19:47:27.54 ID:X2HEt2zW.net
>>213
グロ

216 :デフォルトの名無しさん:2023/10/19(木) 06:24:23.38 ID:tPsc79zm.net
# >>121
title = "第124回『「韓国徴用工問題」動かぬ証拠で一気に終結』【「日本製」普及Ch】"

uri = "htt" + "ps://www.youtube.com/watch?v=iu4jdRIKxUU&list=PLm1mQfWiRy2LycHWplMELJtgLje8YaeHL"

print( title, uri, sep="\n" )

217 :デフォルトの名無しさん:2023/10/23(月) 15:26:08.05 ID:Xp0vEwce.net
def wrapper_func(*args, **kwargs):
__#何かの処理
__return func(*args, **kwargs)

def func(aaa, bbb=None, ccc='CCC'):
__pass

例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、
この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。
docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。

218 :デフォルトの名無しさん:2023/10/23(月) 15:26:19.52 ID:Xp0vEwce.net
def wrapper_func(*args, **kwargs):
__#何かの処理
__return func(*args, **kwargs)

def func(aaa, bbb=None, ccc='CCC'):
__pass

例えばですが、上記のようなラッパー関数を作ったとき、元の関数へ引数をそのまま渡すために *args, **kwargs とか使うと思いますが、
この書き方だとVSCodeとかでwrap_funcを使用するコードを書くときのポップアップの引数表示とか補完で元の引数名が出てきません。
docstringとか書けば説明欄は表示させられますが、*args, **kwargsを使いながらも、元の関数の引数名を補完や表示させることってできないでしょうか?
ちなみに、デコレータとしては使いません。

219 :デフォルトの名無しさん:2023/10/23(月) 16:57:56.53 ID:IbZgkAts.net
その例だと何もしなくても普通にwrapした関数の引数が表示される

220 :デフォルトの名無しさん:2023/10/23(月) 19:08:52.64 ID:xU3WfdkE.net
http://imgur.com/woxUIFm.png
http://imgur.com/fGFQYAZ.png
うーん、ヒントでは *args **kwargs としか表示されないですね…
何か別の拡張機能が必要ですか?

221 :デフォルトの名無しさん:2023/10/23(月) 19:24:37.41 ID:CJYAK+hs.net
ぜんぜんためしてないけど
wrapper_funcの引数がreturn func以外で使用していないところまで分かるってことか
なかなかやね

222 :デフォルトの名無しさん:2023/10/25(水) 11:33:57.19 ID:9oOV85NF.net
さすがに無理では

223 :デフォルトの名無しさん:2023/10/27(金) 12:37:21.43 ID:Zw05fGjv.net
スクレイピングしたデータをエクセルブックに保存しようとしたら失敗した上、エクセルブックのサイズが0になり開けなくなりました。
また以前のデータも消去されてしまいました。
復元する方法はありませんか?

224 :デフォルトの名無しさん:2023/10/27(金) 15:12:16.53 ID:IOqSzuPQ.net
https://i.imgur.com/kAj54cT.jpg

225 :デフォルトの名無しさん:2023/10/27(金) 15:20:37.20 ID:tyc9gzgR.net
データ直接いじるならバックアップは基本だろ

226 :デフォルトの名無しさん:2023/10/28(土) 14:10:34.16 ID:1iiYkiVL.net
果たして本当に保存に失敗したのだろうか
同じ名前で空のワークブックを造ってしまって
そのまま保存しちゃったんじゃね

227 :デフォルトの名無しさん:2023/10/30(月) 01:51:52.74 ID:o+4A2fED.net
mode=wとかで開いて上書きしちゃうのはあるあるミスだろうね

228 :デフォルトの名無しさん:2023/10/30(月) 02:10:56.85 ID:ciWypUeS.net
スクレイピングって要は他人が一生懸命作ったWebコンテンツをごっそりデータとして盗む泥棒行為だろ?
Pythonをそんな用途に使うんじゃない

229 :デフォルトの名無しさん:2023/10/30(月) 14:29:49.94 ID:3NOS0Vec.net
chatGPTとかの学習ネタはWEBスクレイピングだね
画像も転がってるし、使える。

230 :デフォルトの名無しさん:2023/10/31(火) 09:01:51.83 ID:vhpvFizQ.net
Googleとかのクローラーもスクレイピングの一種だよね

231 :デフォルトの名無しさん:2023/11/09(木) 04:33:46.02 ID:/NCaVTst.net
# >>216
# 反日教育は嘘ですよ〜〜2023年9月13日 フリージャーナリストの朴さんの経験。|채널fujichan
"".join("h_ttp_s://_www_.you_tube.co_m/wat_ch?_v=v_M1v_YrsA3_Ko".split("_"))

232 :デフォルトの名無しさん:2023/11/11(土) 22:01:06.26 ID:VAcD6vEV.net
vscodeで.htmlファイルの中に書くpythonのコードを、.pyファイルの中に書かれたpythonのコードと同じ規則で色付けしてもらうにはどうすればいいですか?
できれば<py-script></py-script>で囲われた部分だけを色付けしたいです。

233 :デフォルトの名無しさん:2023/11/12(日) 00:39:55.84 ID:hUOoaneU.net
Ruby では、埋め込みRuby・ERB で、HTML ファイルを書く。
<% 〜 %>, <%= 〜 %> を使って、HTML内にRubyの構文を書く

<% price = 2500 * 1.05 %>
<p>
本の値段は<%= price %>円です。
</p>

ERBの実装にもよるが、< > & " など、
HTMLの特殊文字がエスケープされるものと、されないものがある

<%= price %> これだけでエスケープされるものと、
<%=h price %> エスケープするのに、h が必要なものがある

ファイル名は、a.html.erb の形式で、
VSCode に、ERBに対応する様々な拡張機能がある

234 :デフォルトの名無しさん:2023/11/17(金) 23:10:50.43 ID:AvZ1Z1pY.net
~フルパス~\python.exe ~.py
だときちんと動くのに
c:\windows\py.exe ~.py
だと
No suitable Python runtime found
ってエラーになるのはなんで?

235 :デフォルトの名無しさん:2023/11/17(金) 23:49:28.27 ID:i6SiN6NQ.net
>>234
py とだけ打ち込んだらなんて表示される?

236 :デフォルトの名無しさん:2023/11/20(月) 11:08:50.44 ID:AlmeLY1B.net
Python 3.11.6ではエラーにならない

237 :デフォルトの名無しさん:2023/11/20(月) 16:54:24.00 ID:dslXur7U.net
javascriptのオブジェクトの分割代入の表記って今後Pythonにも実装される可能性ってあるの?
obj={aaa, bbb, ccc, ddd}
{aaa, bbb} = obj (必要なキーだけ代入)

あと変数名とオブジェクトのキー名が同じ場合にキー名を省略できるのとか。

両方さわってると、「あーこの書き方できないのかー」って思うことが多く。

238 :デフォルトの名無しさん:2023/11/20(月) 19:02:06.24 ID:e16PnsSi.net
Pythonの辞書のキーは文字列に特化してなくて
JSONみたいに引用符は省略できないから飛躍が大きい気がする
リフレクションでいろいろ丸見えなので実現するのは容易

239 :デフォルトの名無しさん:2023/11/23(木) 10:27:41.94 ID:mHKDjsht.net
pythonの黒魔術覚えろ

240 :デフォルトの名無しさん:2023/11/27(月) 04:49:00.51 ID:tnBtjkwo.net
どちらの方がいいでしょうか?

https://i.imgur.com/7Eg1hsH.png

241 :デフォルトの名無しさん:2023/11/27(月) 07:08:59.26 ID:dgaEQ1dv.net
密結合・疎結合の話なら右

242 :デフォルトの名無しさん:2023/11/27(月) 07:13:59.21 ID:4HQtKID3.net
どう考えても右
左は関数の仕様変更に他の関数が引っ張られてスパゲッティになる

243 :デフォルトの名無しさん:2023/11/27(月) 10:26:14.60 ID:1pI4Xk/b.net
矢印の種類と意味が左と右で違うのが気になるがどちらの構造がいいかは状況次第だから処理内容を考慮せずに判断すべきではないよ

244 :デフォルトの名無しさん:2023/11/27(月) 12:48:17.49 ID:R9It0cfW.net
処理内容次第の判断基準をざっくり言えば
関数A,B,Cがメイン関数で実行する抽象度として揃ってるなら右
抽象度が関数A > B > Cなら左

245 :デフォルトの名無しさん:2023/11/27(月) 17:51:48.30 ID:tnBtjkwo.net
ありがとうございます

246 :デフォルトの名無しさん:2023/11/27(月) 17:52:20.22 ID:ADnr9f8E.net
>>244
もうちょっと易しくかいてぅれてもいいよ

247 :デフォルトの名無しさん:2023/11/27(月) 19:37:34.58 ID:UlzV0bXg.net
初心者だしBでやってるけどAってどんなやつなんだBASICのような感じなのかな?

248 :デフォルトの名無しさん:2023/11/27(月) 22:20:18.48 ID:tnBtjkwo.net
こんなん 各2ヶ月かかった
ttps://dpaste.com/2EZ82ME9V
ttps://dpaste.com/2P2SFYGYL

249 :デフォルトの名無しさん:2023/11/28(火) 00:48:46.12 ID:tbHgY5Ye.net
コードはすまん読んでないけど
関数から呼ばれる関数は基本的に汎用的な関数として定義されているものであるべきと思う

例えばパスから画像を呼んでバイナリ化して返す関数を
引数にバイナリを指定し、画像加工する関数群(画像加工の種類ごとに関数を用意)からそれぞれの冒頭で呼び出す

とかなら自然かなと
汎用的ではない関数を、別の関数から呼ぶ…とかだと
渡したい引数を一旦メイン処理に戻してそっちから渡すBのやり方で書きたいなと思う

250 :デフォルトの名無しさん:2023/11/28(火) 04:07:22.70 ID://fSvaZM.net
圧倒的に右

251 :デフォルトの名無しさん:2023/11/28(火) 08:32:22.00 ID:t7+ip2Xg.net
右だとしても
class X 造ってその中に A, B, C 定義して
main からは x = X() してから x.A() x.B() x.C() が良いと思う

252 :デフォルトの名無しさん:2023/11/28(火) 10:10:52.21 ID:khx6Zkgl.net
>>251
そのためだけにクラス作るのは馬鹿らしい
複数の関数を一つに閉じ込めたかったら関数内関数でいいじゃん

253 :デフォルトの名無しさん:2023/11/28(火) 10:14:34.91 ID:t7+ip2Xg.net
globalでもlocalでも引数で同じ情報を持ち回るのが馬鹿らしい

254 :デフォルトの名無しさん:2023/11/29(水) 04:29:33.80 ID:Z6GycUPt.net
勉強のためにとあるWebページのRPA用のフレームワークを自作しようとしてるんですが
ページを操作するクラスをStateパターンの見よう見まねで実装しようとしたところ
画面を遷移させる部分で循環インポートになってしまいます
できればmain.pyからの使い方は変えずに実装したいのですがどうすればよいですか?

操作内容は画面の状態によって異なるのでオーバーライドは無理な状況です
メソッド内でimportすれば解決するような情報もありますが
できればimportはソースコードの最上部で済ませたいです
コードは以下の通りです

main.py
https://techiedelight.com/compiler/?83b5

rpa.py
https://techiedelight.com/compiler/?577e

presentation/__init__.py
https://techiedelight.com/compiler/?eacd

presentation/presentation_base.py
https://techiedelight.com/compiler/?b70f

presentation/a_presentation.py
https://techiedelight.com/compiler/?272e

presentation/b_presentation.py
https://techiedelight.com/compiler/?08a0

255 :デフォルトの名無しさん:2023/11/29(水) 13:46:04.06 ID:Z6GycUPt.net
>>254
すみません
a_presentation.pyとb_presentation.pyのelseの中で
self._set_new_p(p)のあとにbreakが必要でした

256 :デフォルトの名無しさん:2023/12/01(金) 06:10:11.53 ID:+Sulqil7.net
>>254,255
自己解決しました
Mediatorパターンが参考になりました
遷移先のPresentationクラスの生成をCreatorクラスにまかせて、
PresentationクラスはそのインターフェースCreatorBaseのインスタンスを持つようにしました
CreatorクラスのインスタンスはRPAクラスのメンバーにしてPresentationに__init__()の引数として渡しました
すべてのPresentationクラスの実装のインポートをCreator内に集約することでPresentation間での循環インポートを解消できました

257 :デフォルトの名無しさん:2023/12/01(金) 22:39:32.22 ID:dcWZLwtR.net
循環インポートを避けるには
from .a_presentation import APresentationじゃなくて
import presentation.a_presentation as A とかにして
A.APresentationの形で使うだけでも大丈夫

258 :デフォルトの名無しさん:2023/12/01(金) 22:43:35.51 ID:dcWZLwtR.net
それにしても随分とパターン熱に冒されてるねー
StateパターンになってないしStateパターンを使うべきケースでもないと思うんだけどな

259 :デフォルトの名無しさん:2023/12/01(金) 23:03:50.71 ID:3nL4Jfiv.net
pip installでインストールできるようにパッケージ化してみたらいいと思う

260 :デフォルトの名無しさん:2023/12/02(土) 00:49:51.55 ID:IL/rFcuk.net
>>257,258
ご回答ありがとうございます
右も左も分からない初心者なもので見苦しくてすみません
調べている中で257の方法も試してみたのですが、
それだとmain.pyでAの方のif文は実行されたのですがBの方は実行されませんでした
なぜでしょうか?
あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?

261 :デフォルトの名無しさん:2023/12/02(土) 01:22:32.17 ID:IL/rFcuk.net
>>260
度々すみません
Bが実行されないのはset_new_pしたあとnew_pを参照していないからでした

262 :デフォルトの名無しさん:2023/12/02(土) 11:24:03.67 ID:W00DnSBP.net
>>260
>あと画面の状態と操作を扱うクラスなのでStateかと思ったのですが違ったのでしょうか?

ある画面が状態Aでも状態Bでも状態Cでも
画面を操作するクライアント側のコード(今回で言えば主にmain)はどの状態であるかを意識ぜずに同じメソッドを呼び出す
呼び出された側が状態に応じた振る舞いや状態遷移を行うんだけどその際呼び出された側がif文で条件分岐するのではなく各状態ごとにクラス等を用意してポリモーフィズムで分岐させるのがStateパターン

263 :デフォルトの名無しさん:2023/12/02(土) 12:28:53.41 ID:+bysY8AL.net
>>262
ありがとうございます
具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました
すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか?

循環インポートの解消に関しては
from . import a_presentation as A
でも問題なく動きました
これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか?

264 :デフォルトの名無しさん:2023/12/02(土) 14:02:31.64 ID:0tC7Yjqi.net
だめ絶対

265 :デフォルトの名無しさん:2023/12/03(日) 18:54:22.91 ID:l1Ri8dMm.net
手始めにPython3エンジニア基礎試験合格したんだけど、次何したらいいの?

266 :デフォルトの名無しさん:2023/12/03(日) 20:34:04.98 ID:B7yqPTfY.net
>>265
趣味ならそこがゴール
あとは作りたいアプリを存分に作りまくってくれ

267 :デフォルトの名無しさん:2023/12/04(月) 07:29:49.93 ID:ZEr6pdQQ.net
>>266
特にない。何ができるのかよくわからん。
株価のデータをウェブから持ってこようと思って始めたが、それはできた。
それ以外はない。
当面、基礎試験はの次の実践試験の方やってみながら作りたいもの探すか

268 :デフォルトの名無しさん:2023/12/04(月) 11:28:39.23 ID:7xJZTz8z.net
何もないならやる必要はない
時間の無駄

269 :デフォルトの名無しさん:2023/12/04(月) 12:42:51.69 ID:LMh9z4VO.net
>>267
作りたいものはないけど情報工学技術に興味があるということかな
それなら専門学校か大学に行くとよいのでは
題材は向こうが勝手に用意してくれる
独学で専門技術を身に着けたいというのは無理ではないけどモチベが続かないだろう

270 :デフォルトの名無しさん:2023/12/04(月) 13:45:27.90 ID:C1dIH7Kj.net
>>267
株価とか出来高とか板とか見て自動で売買するアプリ作ってはどうでしょうか?

儲かりたいなら優待を

271 :デフォルトの名無しさん:2023/12/06(水) 07:20:37.12 ID:TGpYlcbb.net
AIペイントすごいなGUIもこれで良いよな
プロンプトを絵コンテみたいに書いちゃえばほぼ完成になりそう

272 :デフォルトの名無しさん:2023/12/06(水) 20:32:16.84 ID:7Cu2FhSW.net
児童取引は怖い

273 :デフォルトの名無しさん:2023/12/07(木) 05:46:48.95 ID:0LP6dGg+.net
Python では転職できない。
だから、学校へ行っても仕方ない

YouTube で有名な雑食系エンジニア・KENTA が、既に言ってる。
初心者のキャリアパスは、Ruby on Rails → Go のみ

PHP, Scala はオワコン認定した

Pythonで必要な人は大学院数学科か、AWS 機械学習資格。
文系は無理。勉強のほとんどがプログラミングじゃないから。
だから、一発逆転狙いの文系のアホには、Railsがチート職業と言われるわけ

ただし、YouTuber のかよちんみたいに、
Railsをやっている人は、Django へ転職できる

全てのバックエンドは、Rails, AWS Solution Architect が基本だから。
この2つが米国年収で2千万円!

まず転職で聞かれるのが、RailsではなくPythonを選んだ理由。
ここで皆が脱落する。
大学院数学科じゃないと、まず無理

274 :デフォルトの名無しさん:2023/12/07(木) 11:41:26.60 ID:gpmkJ2Ny.net
>>273
Pythonは巨大桁数を扱うのに便利。

Windows電卓:9999桁(10^3桁)
LM217:2147483647桁(10^9桁)
Python3(Decimal):999999999999999999桁(10^17桁)
Pypy2.7.13(Decimal):(10^10^5桁)
Python+Mpmath1.3.0:10^18446744073709551615桁(10^10^19桁)

あなたの宣伝するRuby on Railsは桁数をいくつまで手軽に扱えるの?

275 :デフォルトの名無しさん:2023/12/07(木) 11:54:23.24 ID:Y5Tf+LqT.net
https://docs.ruby-lang.org/ja/latest/method/BigDecimal/s/limit.html
しらんけど無制限らしいから計算機リソースのみに依存すんでない?
処理系の縛りがあるかは書いてないからわからん

276 :デフォルトの名無しさん:2023/12/07(木) 12:27:43.29 ID:gpmkJ2Ny.net
require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
a = BigDecimal("10")
b = BigDecimal("7", 40)
mf = a ** a ** a ** b

このくらいでエラーになるぞ。
https://paiza.io/projects/9WG_gULsMWWWrrBnY9H8nA
bを6にするとエラーにならないからこの程度が限界か?

277 :デフォルトの名無しさん:2023/12/07(木) 12:49:23.47 ID:gpmkJ2Ny.net
Rubyは説明が少なくて面倒くさいな。ideoneも対応していないし。
https://docs.ruby-lang.org/ja/latest/library/bigdecimal.html
サンプルのカンマで区切った2つ目の40という数値の意味の説明もないし。
有効桁数か?でもサンプルから考えると40なのはおかしくないか?

278 :デフォルトの名無しさん:2023/12/07(木) 13:17:06.58 ID:gpmkJ2Ny.net
Rubyのbigdecimalは解答を独自のフォーマットで返してくる。
https://paiza.io/projects/RKARq4tN_-ec8Nam_zImxA
普通は
2.003529930406846464979072351560255...7777506072339445587895905719156736e19728
の整数1桁と小数点以下とeの値で返すはず。

279 :デフォルトの名無しさん:2023/12/07(木) 14:19:10.74 ID:wNl2TimY.net
PythonスレでRubyの話してるのはアホなんか

280 :デフォルトの名無しさん:2023/12/07(木) 15:32:59.56 ID:6vUn2cKn.net
>>273
ケンタは「文系学部出てpython出来ても職はない」と言っている

まあ首都圏にはあったりするが

また「文系学部出てAIの仕事をしたいといっても仕事はない」とも言っている
pythonはAIで良く使われているので
AIの仕事の無い地方には仕事がない、
という事になる

だがkenta氏がこんな発言をしたのってもう4年以上前だなあ
今の情勢に合わせてChatGPTをローカルに置いてちょっとカスタマイズしたい、なんて仕事も出てくると
ソースコードを壊さないように弄る必要も出る

その程度で「数学科出身じゃないからやらせない」「情報工学出身じゃないからダメ」というのは
無駄の極み

281 :デフォルトの名無しさん:2023/12/07(木) 16:00:11.34 ID:wNl2TimY.net
KENTAが文系学部出てpython出来ても職はない
KENTAが文系学部出てAIの仕事をしたいといっても仕事はない

ということだろ

282 :デフォルトの名無しさん:2023/12/07(木) 17:27:42.18 ID:XDYBiR0b.net
>>274
瞬殺されててワロタww

283 :デフォルトの名無しさん:2023/12/19(火) 21:51:20.71 ID:WeipM8cv.net
モジュールによっちゃ日本語の情報が少なくて外国のページ見て学ぶなりコピペしてくるなりしないといけないんだが
みんなそれくらいの英語は余裕でできるの?

284 :デフォルトの名無しさん:2023/12/20(水) 00:47:47.59 ID:bsiqnAom.net
サードパーティのモジュールはほぼ英語でしか説明ないけど
平易な表現しか使ってないから翻訳併用すれば中学英語レベルで十分理解できる
紹介記事は極論作者のメモ書きにすぎないからね

285 :デフォルトの名無しさん:2023/12/22(金) 23:53:50.57 ID:CDCAm2n1.net
リンク先のように書くと
https://dpaste.com/2LJ2MSMSX
piyoはNoneの既知のメンバーではありませんと怒られますが
回避するにはcastになるのですか?
他の言語みたいにNoneで無いことが分かっているなら!みたいに短く書く方法はないのでしょうか

286 :デフォルトの名無しさん:2023/12/22(金) 23:57:32.60 ID:CDCAm2n1.net
ifでチェックしたら回避できるのは知ってます。

287 :デフォルトの名無しさん:2023/12/23(土) 00:06:34.21 ID:nuv23jz/.net
結論から言えば無い
ifでチェックする

機能追加の提案もあるけど実装される見込みは今のところ無し
https://discuss.python.org/t/introducing-a-safe-navigation-operator-in-python/35480

288 :デフォルトの名無しさん:2023/12/30(土) 07:45:04.24 ID:W5+FG6fR.net
pythonで変数スコープをどうにかしたいのですが定石とか何かありますか?

変数宣言せずに使えるのでスコープ外れてるのに値を入れたりして名前が同じ別スコープの変数が新たに出来てバグ子温床と発見に手間が掛かります

正直言って変数宣言にvarを導入して欲しい感じなのですが型チェックがオプション的に使える様に何か方法は無いでしょうか?

289 :デフォルトの名無しさん:2023/12/30(土) 09:08:17.02 ID:9xbp05/Y.net
>>288
スコープが外れるってどういうシチュ?
関数内での代入は全てローカル扱い
これを心得てさえいれば何も困らんと思うのだが

290 :デフォルトの名無しさん:2023/12/30(土) 16:01:53.58 ID:FgzdgIdy.net
>>288
参照可能な別の変数を上書き定義してるようなケースはpylintとかでチェックすれば警告が出る

変数がスコープ内にあると勘違いして既存変数に代入したつもりが
新しい変数を定義して初期化しただけというケースはテストを書かずにチェックするのは実質無理
普通はそんなことにならないと思うけどテストを書くか変数定義にキーワードを要求する言語に乗り換えるかの二択

291 :デフォルトの名無しさん:2023/12/30(土) 17:42:20.56 ID:uPN73jPm.net
Copilot使いだしてからないけどself付け忘れはある

292 :デフォルトの名無しさん:2024/01/06(土) 11:42:23.38 ID:Zs30euLJ.net
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる

随意筋 不随意筋
  ↖ ↗
  チンポ

自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!

293 :デフォルトの名無しさん:2024/01/08(月) 08:28:08.05 ID:UVvi3vWm.net
FANZAでエロ動画の価格をスクレイピングしようとしてるんですが
label for="4k"配下のdtタグのtextを出力したいんですが、for属性をfindするとエラーが出ます
print(soup.find("label",for_="4k").find("dt",class_="col2").text)
別のやり方じゃないとダメでしょうか?

https://www.techiedelight.com/compiler/?eb71

294 :デフォルトの名無しさん:2024/01/08(月) 11:43:15.07 ID:4FNw9MEQ.net
>>293
予約語回避のためのショートカットはclass_だけなのでattrsで書く
soup.find("label",attrs={"for":"4k"})

295 :デフォルトの名無しさん:2024/01/08(月) 12:20:33.92 ID:EIrMtl3n.net
>>293
独自記法が必要なfind/find_allは捨てて
標準的なCSSセレクターが使えるselect_one/selectを覚えたほうがいいよ
ブラウザからコピペしたりブラウザコンソールでそのまま確認できるので

soup.select_one('label[for="4k"]').select_one('dt.col2').text

296 :デフォルトの名無しさん:2024/01/08(月) 13:31:11.16 ID:qmm9XobD.net
>>294-295
ありがとうございます
出来ました
selectが見やすいのでselect使います
https://www.techiedelight.com/compiler/?eb71

297 :デフォルトの名無しさん:2024/01/08(月) 13:33:49.83 ID:qmm9XobD.net
リンク間違えました
https://techiedelight.com/compiler/ja/?f3d4

298 :デフォルトの名無しさん:2024/01/08(月) 18:03:30.19 ID:TiBm1ihV.net
今既存のRPA用のフレームワークを改良しています
オリジナルはこのようなコードになっています
Controllerは操作のためにDriverのアンダースコアつきメンバーに触ってるんですが
設計上しょうがないですか? ruffで警告が出るので気になります。
それともプロパティを公開して
フレームワーク利用者側からは呼ばないようにドキュメントを書く方がいいでしょうか?
Controllerは状況に合わせた専用のメソッドを持つ子クラスを都度使い分ける想定です。
https://techiedelight.com/compiler/?ce6c99

299 :デフォルトの名無しさん:2024/01/08(月) 20:59:21.07 ID:3KJvz+ds.net
>>297
スクレイピングから夜のおかずまで
幅広く手掛けるpython

300 :デフォルトの名無しさん:2024/01/09(火) 11:51:37.25 ID:mYyJOFIO.net
>>298
モジュールレベルの可視性とクラスレベルの可視性を使い分ける

クラスの外部からアクセスする前提のプロパティやメソッドならアンダースコアは付けない
利用者側コードでDriverを生成させる必然性はなさそうなのでフレームワーク側でDriverを生成してControllerをinitして返すAPIを用意する
__init__.pyでモジュールのユーザーに公開すべき内部モジュールを選別する
公開モジュールで非公開モジュールをインポートするときはアンダースコアを付ける

301 :デフォルトの名無しさん:2024/01/10(水) 22:36:13.32 ID:Ggzl3EdZ.net
>>300
ありがとうございます。利用者はControllerを直接受け取るということでいいですか?
最初に貼ったコードはちょっと省略しすぎました
実際には以下のようにDriverはwith文で使えるようになっているのですが
この場合もControllerを直接渡した方がよいのでしょうか?
たとえば手動操作とRPAからの操作を切り替えるような状況だと
Driverは最初に起動しておいてRPAが必要なときだけ都度Controllerを生成しています

https://techiedelight.com/compiler/?dc5c

302 :デフォルトの名無しさん:2024/01/13(土) 15:42:46.23 ID:W9CIMidi.net
エ○画像とそれ以外の画像を振り分けるプログラムなんですが
実行するとmodel.fitでエラーが出ます
解決策がさっぱりわからないので助けてください
[ソースコード]
https://techiedelight.com/compiler/?c301
[エラー内容]
https://i.imgur.com/BIkFIiE.jpg

303 :デフォルトの名無しさん:2024/01/13(土) 20:43:02.34 ID:Wk38PunC.net
>>302
もうプログラミングはAIに聞く時代だぞ
ChatGPTのプロンプトに
「Pythonの下記のコードで~というエラーメッセージが出る原因を教えて」とタイプしてShift + ENTER押して
コードをCtrl + Vで貼り付けてENTERすれば何かしらアドバイスしてくれる

304 :デフォルトの名無しさん:2024/01/14(日) 12:29:02.68 ID:0ohzHf92.net
ネタが新鮮だとChatGPTでは無理
https://github.com/tensorflow/tensorflow/issues/61215

305 :デフォルトの名無しさん:2024/01/14(日) 17:49:42.52 ID:NKNETmpB.net
無料版のChatGPTだからダメなのであって有料版のChatGPTなら新鮮なデータも答えられるでしょ
金払いたくなければBingやBardのでもいい

306 :デフォルトの名無しさん:2024/01/14(日) 18:05:50.80 ID:JQrCg+JK.net
>>305
Plusでも無理
やってみれば分かること

307 :デフォルトの名無しさん:2024/01/14(日) 18:08:31.60 ID:MIyVZkUg.net
バカとハサミは使いよう
何でもChatGPTに聞くのはバカ

308 :デフォルトの名無しさん:2024/01/14(日) 18:12:22.27 ID:mFqEsi68.net
プロンプト:Exception has occurred: AttributeErrorが起きます
以下ソースコード添付
===================
あなたのPythonスクリプトでAttributeErrorが発生しているようですね。
これは通常、オブジェクトが指定された属性やメソッドを持たない場合に発生します。
スクリプトを確認して、問題の原因を特定しましょう。

まず、kerasのインポートに関して、
tensorflow.python.kerasを直接参照するのではなく、
tensorflow.kerasを使用することをお勧めします。
これはTensorFlow 2.xでの推奨される使用方法です。

また、predict_classesメソッドは古いバージョンのKerasで使われていましたが、
新しいバージョンでは削除されています。
代わりにpredictメソッドを使用し、
予測結果から最大値のインデックスを取得する方法に変更する必要があります。

以下の変更を提案します:

import kerasをfrom tensorflow import kerasに変更します。
from tensorflow.python.keras.utils import np_utilsを
from tensorflow.keras.utils import to_categoricalに変更し、
np_utils.to_categoricalの使用をto_categoricalに変更します。

from tensorflow.python.keras.models import Sequentialを
from tensorflow.keras.models import Sequentialに変更します。

同様に、他のtensorflow.python.keras.layersのインポートもtensorflow.keras.layersに変更します。
model.predict_classesの代わりに、np.argmax(model.predict(Z), axis=-1)を使用して予測されたクラスを取得します。

これらの変更を行っても問題が解決しない場合、または他のエラーが発生した場合は、具体的なエラーメッセージを教えてください。
それに基づいて、さらにアドバイスを提供できます。

309 :デフォルトの名無しさん:2024/01/14(日) 18:28:17.93 ID:mFqEsi68.net
AttributeError が発生する場合、
これは通常、オブジェクトが期待されている属性を持っていないことを意味します。
エラーメッセージが具体的にどの属性が見つからないか示しているはずですが、
提供されたコードからは特定のエラー原因を特定するのは難しいです。

しかし、コードを見ると、いくつかの潜在的な問題点が見られます。以下にいくつかのポイントを挙げてみます:

Kerasのインポート方法: import keras と from tensorflow.python.keras を混在させています。
一般的には、from tensorflow import keras のように TensorFlow 2.x と一緒に Keras を使用することが推奨されています。

predict_classes の使用: TensorFlow 2.x 以降、predict_classes 関数は削除されました。
代わりに model.predict を使用し、最大の出力値を持つクラスを選択します。

ファイルリストの作成: file_list がどこにも定義されていないようです。
これは score = list(zip(TEST, file_list)) で使用されていますが、この変数の定義が見当たりません。

========
エラーメッセージをプロンプトに入れろと言われたが入力するのめんどくさいのでやってない

310 :デフォルトの名無しさん:2024/01/15(月) 07:21:20.78 ID:qqS0iVUV.net
>>308
やっぱすげーわAI
こんなの瞬時に提案できる人間なんてこの世にいないだろう
もう開発スキルを磨く必要はなくて、AIをいかに使いこなすかを勉強した方がいい

311 :デフォルトの名無しさん:2024/01/15(月) 10:53:04.65 ID:2WJTjfkc.net
つまりプロンプトエンジニアが重要になると

312 :デフォルトの名無しさん:2024/01/15(月) 11:01:16.44 ID:KiCBWffV.net
上のはChatGPT4の場合
=====
ChatGPT3.5の場合

このコードの実行中にAttributeErrorが発生しているようです。
AttributeErrorは通常、属性(Attribute)に関するエラーを示します。
コード内のどの部分でこのエラーが発生しているかを特定するために、
エラーの詳細メッセージと行数を提供してもらえますか?

エラーの詳細メッセージや行数を提供いただければ、
より具体的なアドバイスを提供できるかと思います。

313 :デフォルトの名無しさん:2024/01/15(月) 11:25:47.89 ID:VXSrH9W1.net
何か掠ってたら、あの占い師はよく当たると思っちゃう人って滑稽だよね?

314 :デフォルトの名無しさん:2024/01/16(火) 23:57:22.51 ID:DyADOzn9.net
30代のPython男は反日のチョンです。
職場から追放しましょう!

315 :デフォルトの名無しさん:2024/01/18(木) 05:14:20.29 ID:ozbgYzyy.net
くそどうでもいい質問ですみません
pythonanywhereに登録した後に自動送信される
Hi there, are you getting on OK with the site?
というタイトルのメールの


This message is just to let you know there is a real, live human here (well, a developer actually; not sure if that counts).

の”a real, live human”と言う部分が太字なのですが、これは何のつもりなのですか?何が言いたいのですか?

316 :デフォルトの名無しさん:2024/01/18(木) 08:14:17.00 ID:qC0ThaED.net
>>315
ChatGPT3.5に聞いた結果
これからはAIに聞く時代。人に聞くのは時間の無駄
--------------------
PythonAnywhereが自動送信するメールの中で、"a real, live human" の部分が太字になっている理由は、おそらくユーモアや親しみを込めた表現として使われています。この表現は、人間とコンピュータの違いを強調し、サポートが人間によって提供されていることを強調するために使用されている可能性があります。

通常、自動応答メッセージやウェルカムメールにおいて、太字やカジュアルな表現が使われることがあります。これは、ユーザーに友好的であると感じさせ、サービス提供者とのコミュニケーションが人間対人間であることを強調するためです。太字は通常、強調や注目を引くために使用されます。

このフレーズはあくまで軽い冗談や親しみを込めたもので、ユーザーに対して友好的な印象を与えることが意図されていると考えられます。

317 :デフォルトの名無しさん:2024/01/19(金) 17:01:36.09 ID:/agcSumM.net
ちなみに1万円札もでてきたけど、肝心の探しものは見つからなかった

318 :デフォルトの名無しさん:2024/01/19(金) 21:41:13.26 ID:CZFLW0PQ.net
技術的な難易度の低い課題にpythonで取り組むと手が止まらないな
ググりながら、リファクタリングしながら、一日で追加のコードを300行も書いたら手首がちょっと痛くなった
プログラマーは手首をヤると一発で引退だから怖い

319 :デフォルトの名無しさん:2024/01/21(日) 00:26:47.65 ID:jaz1unMy.net
pyinstallerでスタンドアローンで動くはずの電卓アプリのEXEを作ったら、勝手にインターネット通信しているのか知らないが、
DefenderでTrojan:Win32/Wacatac.B!mlにされた。
これってpyinstallerでEXEを作ると常に出るの?

320 :デフォルトの名無しさん:2024/01/21(日) 01:01:49.79 ID:po0/ndNG.net
https://stackoverflow.com/a/52054580

321 :デフォルトの名無しさん:2024/01/21(日) 10:26:29.85 ID:IvCL+sTy.net
1 センチメートルは 10 ミリメートルに変換されます。
変換する長さ n センチメートルが与えられるので何ミリメートルかを出力して下さい。
宿題がわからへん。

322 :デフォルトの名無しさん:2024/01/21(日) 10:41:39.44 ID:CZIH4U50.net
プログラムとして書けないのかプログラムじゃなくても答えられないのか
プログラムとして書けないだけならデータ入力がどのようにされるかがわからないのか計算式の書き方がわからないのか表示の仕方がわからないのか
それぞれ問題を切り分けて把握したら先生にその内容を聞けばいい

323 :デフォルトの名無しさん:2024/01/21(日) 16:13:36.22 ID:PdyqbFJh.net
>>321
何がわからないのかわからん
ちゃんと推敲してくれ

324 :デフォルトの名無しさん:2024/01/21(日) 16:29:55.78 ID:JCqDmCwj.net
>>321
たとえば5センチメートルが何ミリメートルかはわかりますか

325 :デフォルトの名無しさん:2024/01/27(土) 11:52:44.87 ID:0NhbJ8Wy.net
モザイクを検出して、透過に塗りつぶして、別の画像に貼り付けるプログラムを
作ったので良かったら遊びにきて下さい

wikiwiki
同人誌同人ゲーム無修正化差し替え備忘録まとめ Wiki*
https://wikiwiki.jp/mozanashi/
左のメニューのところにプログラムを貼り付けてあります

326 :デフォルトの名無しさん:2024/01/27(土) 12:12:30.45 ID:R9CYWTqC.net
システムのPythonが3.0版だとして、最新3.11版を使うにはどんな方法が?
・システムPythonは更改しない前提
・Dockerコンテナは使いにくいのでその他手段を

327 :デフォルトの名無しさん:2024/01/27(土) 12:27:20.61 ID:7oImGRPe.net
>>326
pyenv

328 :デフォルトの名無しさん:2024/01/27(土) 13:06:20.63 ID:idsDIbYE.net
>>326
自分でビルド

329 :デフォルトの名無しさん:2024/01/27(土) 14:03:55.97 ID:UmjQ6ogE.net
改変したいなら自前ビルドもわかるが
そうじゃないなら切り替えも楽なpyenvでいい

330 :デフォルトの名無しさん:2024/01/27(土) 16:46:55.78 ID:6KdYFEam.net
>>328
自前でビルドするかどうかは全く関係ないやろ

331 :デフォルトの名無しさん:2024/01/27(土) 17:12:17.55 ID:OFvOzhfh.net
embeddable pythonという方法もある

332 :デフォルトの名無しさん:2024/01/27(土) 18:00:42.31 ID:XRhGTNLI.net
>>330
自分でシステムのPythonとは別に好きな場所、好きなバージョンのPython入れるのに自分でビルドするのも方法の一つでしょ
Windowsみたいにインストールパッケージ用意されたないならだけど
>>326はそういう質問じゃないんか?

333 :デフォルトの名無しさん:2024/01/27(土) 18:15:20.55 ID:XRhGTNLI.net
pyenvもたしかソースからビルドしてなかったっけ

334 :326:2024/01/27(土) 18:29:33.08 ID:o5v2l6LT.net
>>332
自分でビルドしたPython がシステムPythonのライブラリを参照して不具合が起きると困る。自分でビルドするにしろ、出来合いの物を使うにしろ、そうならない方法を訊いた。

335 :デフォルトの名無しさん:2024/01/27(土) 18:49:08.88 ID:NKobULuJ.net
は?

336 :デフォルトの名無しさん:2024/01/27(土) 19:05:28.29 ID:bXNtt3x6.net
>>332
CPythonを自前でビルドするかそれともビルド済みバイナリを持ってくるかという話と
システムデフォルトのPythonをキープしたままそれとは異なるバージョンのPythonも同時に使えるようにするという話は直交した話やで

そんでもって質問は後者についてやろ

337 :デフォルトの名無しさん:2024/01/27(土) 20:45:05.22 ID:o5v2l6LT.net
>>336
うーん、よく分からないが、
システムPythonを必要とするシステムコマンドを叩くと、何らかの方法で導入したPython 3.11 を起動するようだと困る。
そうならないよう Python 3.11 を使える、そんな方法を訊いた。

自分でビルドして、上記を満たせるなら、自分でビルドする事で構わない。

338 :デフォルトの名無しさん:2024/01/27(土) 22:44:25.65 ID:brX24hU9.net
ビルドしてもしなくてもシステムPythonとは別の場所にバイナリを配置してそこへのpathを指定して使うことになる

pyenvじゃなくても公式からダウンロードしてもいいしanacondaを使ってもいいしhomebrewやaptを使ってもいい

macosやlinux系だとシステムPythonに依存する場合は基本的に/usr/bin/pythonを指定してるのでこれが指すバージョンを変えずに自分の使いたいバージョンへのpathを通すことになる

339 :デフォルトの名無しさん:2024/01/27(土) 22:47:32.91 ID:t7pPpNfJ.net
どれを使うかという指定もなければ、パスという概念もないんだろうな。

340 :デフォルトの名無しさん:2024/01/27(土) 22:58:51.17 ID:NKobULuJ.net
>>334
>自分でビルドしたPython がシステムPythonのライブラリを参照して
これがわからん
仮に自分でビルドして/opt/python3に入れたPythonがあるとして、それがシステムのPythonにライブラリに依存するっていうこと?
どういう環境?

341 :デフォルトの名無しさん:2024/01/27(土) 23:05:09.68 ID:t7pPpNfJ.net
ただの初心者なんだろうな

342 :デフォルトの名無しさん:2024/01/27(土) 23:58:06.71 ID:X0LvN4tY.net
Ruby ではDocker を使う。
多言語バージョンマネージャーでは、日本人が作ったanyenv もある。
同様のツールに、asdf もある。
コンパイルするから、20分ぐらい掛かる

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

echo $(anyenv root)
ただし、$ANYENV_ROOT は定義されていない
/home/ユーザー名/.anyenv

echo $(rbenv root)
echo "$RBENV_ROOT"
/home/ユーザー名/.anyenv/envs/rbenv

echo $(nodenv root)
echo "$NODENV_ROOT"
/home/ユーザー名/.anyenv/envs/nodenv

343 :デフォルトの名無しさん:2024/01/28(日) 01:49:25.71 ID:P/o+j6FX.net
Dockerなどをいきなり勧めてくるやつは前提がおかしい

344 :デフォルトの名無しさん:2024/01/28(日) 01:53:38.75 ID:VCSACfjI.net
いやいや、Dockerの前にもっとおかしいのがあるでしょ
この人マジで頭おかしいけどいつまでこの芸風続けるんだろ

345 :デフォルトの名無しさん:2024/01/28(日) 05:41:05.55 ID:P/o+j6FX.net
Rubyでしょ?
こいつはキチガイだけど、それ以外におかしいことを書くから、それも指摘しないと真面目に読むやつがあらわれる。

346 :デフォルトの名無しさん:2024/01/28(日) 06:42:16.36 ID:PWkEGs2d.net
英会話教室に通って「フランス語では云々」と講釈たれる奴みたいだよなw

347 :326:2024/01/28(日) 07:28:43.27 ID:JZ5LlHQA.net
>>340
あり得ない事ならウェルカムだが、例えば、

/opt/python3/bin/python が
/opt/python3/lib/libpython.so を_参照せず、$LDPATH にしたがって
/usr/lib/libpython.so を見に行くことないの? とか、

或いは、
/usr/bin/python が
/usr/lib/libpython.so というリンクを参照したのだけど、その実体が実は
/opt/python3/lib/libpython.so だったとか。

>>327 で挙げられた pyenv というのは、何かしらそれに類した不具合を解消するのだろうと想像している。

348 :342:2024/01/28(日) 09:12:54.94 ID:4GEBUrLg.net
>>342
に、もちろん、pyenv も入っている

多言語バージョンマネージャー、anyenv・asdf には、
rbenv, nodenv, goenv など、たいがいの言語は入っている

ただ最近は、Docker も多い

349 :デフォルトの名無しさん:2024/01/28(日) 11:10:02.02 ID:DsZuLMRu.net
>>347
固有のパスに導入した一般的なプログラムならそうはならん
lddしたらわかるけどフルパス指定になってる
pyenvは全自動でビルドするツールなんだけど導入先はホーム以下で同様
独自のシェル拡張使わないなら副作用ないし影響範囲もシェルの中だけ

350 :デフォルトの名無しさん:2024/01/28(日) 20:13:41.36 ID:zZgVSQ5K.net
Python Arcadeが流行らないのって
名前が悪いからですよね?
Pycadeとかに変えてほしい

351 :342:2024/01/28(日) 21:35:30.33 ID:rJLsGKs7.net
PyDeca だと流行りそう。

>>349
> フルパス
のくだりがよく解らないが、取り敢えずpyenv を検討してみる。どうもありがとう。

352 :デフォルトの名無しさん:2024/01/28(日) 21:56:26.44 ID:vItLFMA9.net
お勉強スレにもポストしちゃったんですが
バージョンよって剰余演算子の挙動が違う?
-1%3とか

353 :デフォルトの名無しさん:2024/01/29(月) 00:08:46.88 ID:G6ToERat.net
くたばれPython

に見えた

354 :342:2024/01/29(月) 00:10:12.64 ID:eueHhgdA.net
>>342
のanyenv root/rbenv root/nodenv root を見れば明らか

/home/ユーザー名/.anyenv 以下しか使わない。
個人の環境しか使わない

だから多言語バージョンマネージャー、anyenv・asdf を使えばよい

355 :デフォルトの名無しさん:2024/01/29(月) 11:59:52.72 ID:fIBxeYXl.net
ArcadeよりPyxel派

>>350
なぜPyをつけたがるのかだよね

356 :デフォルトの名無しさん:2024/01/29(月) 13:09:20.70 ID:+byldzPi.net
Pythonでゲーム学習するならPyxelなんですかね

357 :デフォルトの名無しさん:2024/01/29(月) 13:23:00.81 ID:fIBxeYXl.net
>>356
オールインワンでツクール寄りだからゲーム部分を主に書きたいならそう
自分でプログラム制御や表示まわりも書きたいならPygame(SDL)とかもっと低層なやつ

358 :デフォルトの名無しさん:2024/01/29(月) 18:01:51.03 ID:+byldzPi.net
>>357
ありがとう
Pyxel、記述少ないし、エディタ付きだから
これだけで完結するのがいいね
しばらく触ってみるわ

359 :デフォルトの名無しさん:2024/02/04(日) 18:26:19.16 ID:IyXxpV05.net
Pythonは初心者向けの文法というけど
難しくてサッパリわからん
なんでコレクションをイテレータにしなきゃいかんの? ジェネレータって何の役にたつんよ
クロージャってどう使うんだか
せめてウェブやろうとしたら入門書がいきなりフレームワークばかりってどうなの?
PHPみたいにさあもっとこうさっくりとさあ

ぜんぜん初心者向け文法じゃないわ

360 :デフォルトの名無しさん:2024/02/04(日) 21:07:46.94 ID:lK7N0HuK.net
>>359
Pythonの文法が初心者向けなんて聞いたことないから君騙されてるよ
PHPできるんならそれで困ることないんだから満足しとけばいいじゃん

361 :デフォルトの名無しさん:2024/02/04(日) 22:53:10.28 ID:PEeZU4gY.net
文法はめちゃくちゃ初心者向けだろ

362 :デフォルトの名無しさん:2024/02/04(日) 23:04:08.64 ID:VBtkyZXg.net
文法が分からないんじゃなくてイテレータやジェネレータやクロージャというプログラミングの概念が分かってないんやな

Python特有のものではなく一般的なものでPHPでも全部サポートされてるからそっちでまず勉強してみたらいいんでないか?

363 :デフォルトの名無しさん:2024/02/05(月) 02:56:37.96 ID:UJ2m14qd.net
>>359
コレクション全部に対して何かしたいときに使うのがイテレータ
例えばコレクションの中を探すとか

イテレータで書くとコードがごちゃごちゃするのですっきりかけるのがジェネレータ

クロージャを使うと中でどう動いているか気にすることなくプログラムが書ける

まあ、ググればすぐ出てくる情報だけど

364 :デフォルトの名無しさん:2024/02/05(月) 04:24:58.35 ID:9+bn0/St.net
入門の講座がよくわからんかったから大混乱したよ講師が変だったのかもしらんが

まずアナコンダを入れないとパイソンというのものはまともに動かないって言われた
そんでvenvとかpipについて説明された
後で知ったが本当ならアナコンダナビゲータで環境つくるらしい

アナコンダのせいでSSDに大量のライブラリが入ったがまったく使わんかった
だったらなんでインストールさせた?
変数は整数型と倍精度浮動小数点数がどうのっていって変数型が少ないからJAVAより計算が苦手なんですって
はて???じゃあなんで機械学習とか流行ってん
後で知ったが多倍長整数だし、浮動小数点数はゴミだけど標準ライブラリに固定小数点あるって、むしろ数値演算はどの言語より得意なんだと

パイソン大流行だけどちょっとかじってすぐ初心者講座の講師やるってのは
やめてほしいな
なんか技能検定試験とかないもんかねえ

365 :デフォルトの名無しさん:2024/02/05(月) 11:14:00.83 ID:5G1mpbCF.net
>>363
君もググったほうがいいぞ

366 :デフォルトの名無しさん:2024/02/05(月) 11:54:56.85 ID:DvqIPT3c.net
>>364
アナルに入れるとパイパンがー
まで読んだ

367 :デフォルトの名無しさん:2024/02/05(月) 13:59:42.51 ID:TA7auAWf.net
パイソンをケツの穴に突っ込んだらどうなりますか?
経験者のかた教えて下さい

368 :デフォルトの名無しさん:2024/02/05(月) 16:37:45.68 ID:hliEPH6s.net
死んじゃうんじゃない?

369 :デフォルトの名無しさん:2024/02/05(月) 16:48:21.19 ID:B/pJSj68.net
公式のチュートリアルであらかた網羅できるのに
なぜ他から手をつけるのか
プログラムが初めてだと時間はかかるけども

370 :デフォルトの名無しさん:2024/02/05(月) 16:57:38.46 ID:RaPfxtxC.net
基本的なことは覚えたら済む話なんだが
いろいろなライブラリがあるからわっかんねぇ

371 :デフォルトの名無しさん:2024/02/05(月) 19:18:21.11 ID:TKxKoCl8.net
一応ここ質問すれなんで

372 :デフォルトの名無しさん:2024/02/05(月) 21:18:11.87 ID:UJ2m14qd.net
機械学習にアナコンダが必須だった時代があった
pythonには必須ではない

python 自体は長い桁が扱えるかもしれないけど
インタープリターなのでもともとが遅い
機械学習に使われているのは
ライブラリがCかC++で書かれているため

373 :デフォルトの名無しさん:2024/02/05(月) 21:57:24.93 ID:B/pJSj68.net
それならPythonである必要はないよな
Jupyter、numpy/scipyの土壌があったから
そのまま使い続けているだけ

374 :デフォルトの名無しさん:2024/02/06(火) 07:25:06.16 ID:C4pk/cEW.net
jupiternotebookってのはどうしたら空白やタブ記号を表示できますか
パイソンやるのには空白やタブ記号が見えないと困るのです

375 :デフォルトの名無しさん:2024/02/08(木) 06:13:31.80 ID:hTf75Vln.net
パイソンはインタプリタでパイソンプログラムはマルチプラットフォームとききました
ところがPYNUMはC言語だといいます
つまり機種依存があるはずです
そうするとパイソンも機種依存していまいPYNUMをインポートしたプログラムはWindowsとマックでは動かないのではないのでしょうか
私だんだん混乱してきました

376 :デフォルトの名無しさん:2024/02/08(木) 07:41:46.39 ID:xta5h9K/.net
>>375
そういう面倒ごとがあるから、俺はことあるごとに言ってるんだよ
外部ライブラリは使わずPythonの組込み関数と標準ライブラリのみで書けと
ライブラリに振り回されて貴重な人生を無駄にしないようにな

377 :デフォルトの名無しさん:2024/02/08(木) 07:57:21.03 ID:isMXgTpD.net
https://pypi.org/project/pynum/
これ?

378 :デフォルトの名無しさん:2024/02/08(木) 07:59:14.95 ID:isMXgTpD.net
>>359>>364同じ人?

379 :デフォルトの名無しさん:2024/02/08(木) 08:35:52.53 ID:OewvCXAt.net
>>374
空白を可視化してるフォントを使うとか
で、何も見えなかったらタブと見なす

380 :デフォルトの名無しさん:2024/02/08(木) 11:05:24.59 ID:arovnfBA.net
全部anacondaで作って.condarcにconda-forgeのライブラリからのインストールも可能にしておくように設定

だが変わったものを取ってくると重くなりがち
biocondaとかもインストール元にしとくか
変わったものをインストールする度に別環境作ったり

pythonの環境設定は結構な初心者泣かせだな
そもそもPCのユーザー名がマルチバイトだったり半角スペースあったりしたらもうアウトだったり

anacondaは公式pythonと同居させられなくて問題になるが
ryeを推してるところもあるが、私的ドキュメントが心許ない

381 :デフォルトの名無しさん:2024/02/08(木) 11:11:05.34 ID:isMXgTpD.net
anacondaを使うメリットが科学計算用ライブラリが一括で入るぐらいしかない

>>374
そもそもタブを使うことがないし、全角スペースならだいたいのプログラミング用フォントなら分かりやすくしてある

382 :デフォルトの名無しさん:2024/02/08(木) 12:21:39.61 ID:6CZwMK9a.net
conda系はオールインワンで楽なのはわかるけど
そこは一歩進んでコンテナ込みで勧めてほしい
魔法が多くて把握できなくなる弊害まで考えが及んでない

383 :デフォルトの名無しさん:2024/02/08(木) 12:37:21.60 ID:LLz4mv+z.net
>>377
numpyのことじゃね?

>>375
C言語で開発されてるライブラリはインストール時(pip install等)に実行するプラットフォーム用にコンパイルされたバイナリが含まれたパッケージをダウンロードしてくるかソースをからコンパイルしてる
ライブラリをインポートしたPythonのコードが特定のプラットフォーム用のコードを書いてなければWindowsでもMacでも動く

384 :デフォルトの名無しさん:2024/02/08(木) 13:13:39.69 ID:LLz4mv+z.net
>>374
jupyterlabならHighlight white spacesという設定でタブもスペースも可視化できるよ

385 :デフォルトの名無しさん:2024/02/08(木) 14:21:16.75 ID:MMHd3icf.net
基本、C# 以外の全言語は、Linux 用。
だから、Windows 10 でも、WSL2 でLinuxを使う。
Mac ではVirtual Box でLinux

初心者はLinuxが難しいから、Windows上のMSYS2 を使う。
例えば、Ruby Installer がそう

MSYS2なら、1GB ほどのWindows用の巨大なコンパイル環境もインストールする。
これで、Linux用のソースコードを、Windows用の機械語にコンパイルする

ただ、全言語はLinux用に書いているから、
Windows用にコンパイルすると、うまく動かない場合もある

利点は、仮想マシンでLinuxを起動していないから、あまりメモリを使わない。
欠点はLinuxじゃないから、Docker を使えない事。
データベースなどの外部プログラムも全て、Windows用で揃えないといけない

そうすると、中にはバグるプログラムも出てくる。
全てのプログラムがLinux用に作ってあるから

386 :デフォルトの名無しさん:2024/02/08(木) 18:58:16.38 ID:T36ggrXR.net
>>375
50代のスレに書き込んでいるおっさんだろ?

387 :デフォルトの名無しさん:2024/02/08(木) 18:59:24.55 ID:T36ggrXR.net
>>385
なかなかのキチガイだなw

388 :デフォルトの名無しさん:2024/02/08(木) 20:35:36.46 ID:PMTWmDyI.net
>>385
Rubyに関わるのはこんなキチガイばっかりです

389 :デフォルトの名無しさん:2024/02/09(金) 08:55:46.64 ID:JpXObIpk.net
河上幸恵ちゃんの名曲
心の中のルビーというやつだな

皆さんありがとう
また一歩自分の成長を感じました
C言語のライブラリはそれぞれのパソコン用がインストールされる高度な仕組みであること
ジュピターで空白タブを表示する方法
皆さんはわたしの成長ホルモンです

390 :デフォルトの名無しさん:2024/02/14(水) 15:26:02.91 ID:uypU95In.net
os.path.isfileの様なやり方でループなど使用せずに、
拡張子を除いた部分のファイル名が存在するか確認する方法ってありますか?

例えばファイル名”test01.txt”,”test01.png”のどちらがディレクトリに存在していても、”test01”だけでファイルの有無を確認したいです。

391 :390:2024/02/14(水) 15:45:38.27 ID:uypU95In.net
自己レスです。
とりあえず、glob.glob(‘/hoge/test*’)としてやってみました。
こんな方法もあるよというのがあれば教えてください。

392 :デフォルトの名無しさん:2024/02/21(水) 10:41:22.80 ID:tURWv7oT.net
os.path.exists

393 :デフォルトの名無しさん:2024/02/21(水) 22:24:18.46 ID:XpCZiALh.net
globでいいと思うけど一応
https://docs.python.org/ja/3/library/pathlib.html#pathlib.PurePath.stem

394 :デフォルトの名無しさん:2024/02/25(日) 04:23:40.84 ID:oObtEil6.net
Pythonのandroidでの実行環境って何を入れたらいいですか?
開発環境はとりあえず必要ないので
あくまでスクリプト・インタープリターとしての最低限の実行環境がほしいのです
CPythonみたいなリファレンス実装があればいいのですけど

395 :デフォルトの名無しさん:2024/02/25(日) 20:23:29.26 ID:hMq2Qtw2.net
termuxかpydroidかなあ?

396 :デフォルトの名無しさん:2024/02/25(日) 20:32:04.31 ID:hMq2Qtw2.net
python以外もつかうならtermux、uiが使いたいならpydroidかな?

397 :デフォルトの名無しさん:2024/02/25(日) 21:17:43.23 ID:oObtEil6.net
>>395,396
レスありがとう
どちらかというと開発環境みたいな感じなんですね
ほかにQPythonとかQPython 3Lとかはどうですか
よりシンプルな実行環境という観点からするとどれになるのでしょうか

398 :デフォルトの名無しさん:2024/02/26(月) 23:37:11.68 ID:GBHslgGd.net
レビュー見る限りその2つはあまり良くなさそうだね

399 :デフォルトの名無しさん:2024/03/05(火) 16:51:36.85 ID:90GfYifC.net
凄い基本的な質問なんだけどライブラリのことを考えるとPythonはanacondaとPythonそのままどちらのほうがお勧めですか
または他にお勧めのツール?的なのある?

400 :デフォルトの名無しさん:2024/03/05(火) 17:04:30.62 ID:90GfYifC.net
ライブラリじゃなくてモジュールでした

401 :デフォルトの名無しさん:2024/03/05(火) 18:49:14.75 ID:xnDaPNvs.net
とりあえず、公式実装のCPythonでいいのでは?
やりたいことが明確になってから必要に応じてanaconda環境を構築すればいいと思う

402 :デフォルトの名無しさん:2024/03/06(水) 15:55:05.95 ID:fNmftXEr.net
何かライブラリなどをインストールしようとするたびにエラーがでて説明通りにできない
こんなもん?

403 :デフォルトの名無しさん:2024/03/06(水) 16:59:36.65 ID:0Fz1GTqO.net
説明が悪いんでは
前提としてる環境が違っててそこまでは書かれてないとか

404 :デフォルトの名無しさん:2024/03/06(水) 18:30:41.18 ID:vezaZ1iv.net
>>402
その説明では分からない

405 :デフォルトの名無しさん:2024/03/07(木) 20:32:37.26 ID:aIlNu4oQ.net
自分はPycharmのflaskでウインドウズでは環境構築できなくて諦めました
同じことやってるのに、Macでは動いてウインドウズではエラー
Pythonって学ぶスタート地点に立てない人少なくないかも?

406 :デフォルトの名無しさん:2024/03/07(木) 20:50:36.75 ID:Xi0SwO4p.net
>>364
マジで誰でもできるよ
Pythonに限らずだけど経験一年以上とかで求人出てるし
俺は学歴で落とされたがね
そもそもanaconda使いながらpipとか使うと環境壊れるよ

407 :デフォルトの名無しさん:2024/03/07(木) 20:53:48.81 ID:Xi0SwO4p.net
>>359
まぁ人によって印象違うんだろうな
俺はPHPはもう一生触らないと決めたけど

そしてイテレータやらクロージャやらやんなくていいから
そういうのは出てきた時に意味が分かれば十分

408 :デフォルトの名無しさん:2024/03/08(金) 00:09:38.55 ID:xxGRRb0E.net
基本、全言語はLinux 用。
Windows 用は、C# だけ

だから、Windows 10 から、WSL2・仮想マシンでLinuxを起動できるし、
Docker Desktop も使える

だから、Windows/Mac ネイティブ機械語は動かない。
Linux用のソースコードを、Windows/Mac用コンパイラで機械語にするのは邪道

でも、MacはUNIX のBSD だから、Linuxと似ているので、まずまず動くけど、
仮想マシンでLinuxを起動する方が確実

Windowsで、MSYS2, Visual Studio でコンパイルすれば、Winodows用の機械語になる。
しかし各モジュールの作者は、面倒くさいからLinuxにしか対応しないので、
Windows/Macでは動かない

409 :408:2024/03/08(金) 00:21:23.96 ID:zqy1N+OL.net
なぜ、Windows/Mac用のネイティブ機械語にしたいのかと言うと、
仮想マシンでLinuxを起動したくないから。
2つのOS が動くから

その代償に動かなくなる。
Linuxじゃないから、Docker Desktop も使えないし

例えば、自分がC/C++ のモジュールを書く時、Linuxにしか対応しないよな。
Windows/Mac用のファイルシステムや、プロセス/スレッドに対応しないはず。
3つのOS で動くようには書かないはず。
面倒くさい

410 :デフォルトの名無しさん:2024/03/08(金) 00:50:54.05 ID:FJDucPJF.net
>>408
またこの馬鹿の書き込みか
ruby馬鹿よりはマシだけど

411 :デフォルトの名無しさん:2024/03/08(金) 04:38:04.66 ID:xViuWNSj.net
クロージャとデコレータが極悪に難しい
ドキュメントや本を何冊も読んだが何のためにどうやって使う機能なのかさっぱりわからず自己嫌悪に陥る
この世は無知な方が幸せなんだよな…

412 :デフォルトの名無しさん:2024/03/08(金) 15:18:49.79 ID:b4tlhFyW.net
python齧ったけどわけわからん
やっぱCOBOLがわかりやすいわ

413 :デフォルトの名無しさん:2024/03/08(金) 16:10:05.35 ID:JEcqFwbk.net
Pythonで何作れたら中級者くらいって言えるかな?ゲームとか?

414 :デフォルトの名無しさん:2024/03/08(金) 16:11:57.72 ID:uXHmVfiG.net
VS Code使ってたせいだか何だかわからんけど、気分変えて作業フォルダを変更したらimport命令で自作モジュール読み込みするとエラーに。
メインpyファイルと同じフォルダの別pyファイルがimportできない

ぐぐりまくってsys.path.append("ここに任意パス")で上記フォルダの絶対パスを指定したらいけたが、
じゃあそもそも元のパスはなぜ指定もせずにimport出来てたのかっていう疑問が残った。なんか怖い

415 :デフォルトの名無しさん:2024/03/08(金) 16:15:01.89 ID:uXHmVfiG.net
ちなみにこういうエラーね
ModuleNotFoundError: No module named 'My_Mod'

416 :デフォルトの名無しさん:2024/03/08(金) 16:40:50.56 ID:T/tXaIRT.net
>>414
そうですね。
怖いですね。

417 :デフォルトの名無しさん:2024/03/08(金) 17:18:26.85 ID:YKaVE2hY.net
>>414
もしかして:Pythonのバージョンも違う

418 :デフォルトの名無しさん:2024/03/08(金) 18:34:14.21 ID:1bn2hcNH.net
>>414
https://docs.python.org/ja/3/tutorial/modules.html#the-module-search-path
には、
「入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。」がsys.pathに含まれてるって書かれてるのに変だよね
絶対パスを書く他にも、
os.path.abspath(__file__)とかする方法もあるよ
pathlibでPath(__file__)と書いても良いけれど(自分は実はこっちばかりだけど)

419 :デフォルトの名無しさん:2024/03/08(金) 22:04:15.13 ID:Olq6J6jV.net
>>402
pip環境が壊れちゃったのかなあ

420 :デフォルトの名無しさん:2024/03/09(土) 02:10:53.23 ID:V+9wfNne.net
外部ライブラリはPythonの強みであり同時に弱みでもあるね
ライブラリがらみのトラブルで世界中でどれだけの人生が無駄に消費されているだろうか

421 :デフォルトの名無しさん:2024/03/09(土) 02:23:23.87 ID:RQZY5Guv.net
Ruby のrequire が使うロードパスには、
current working directory(cwd) は含まれていないから、

require 'abc' はエラーになるけど、
相対パスのrequire './abc' はOK

一方、require_relative 'abc',
require_relative './abc' は、どちらもOK

相対パスも、その起点がどこからかという問題もある。
ファイルからの相対なのか、cwd からの相対なのか

cwd を変えて、実行してみればよい

422 :デフォルトの名無しさん:2024/03/09(土) 05:27:46.59 ID:b/ATK8wU.net
結局開発環境だと.venv/bin/activateの中にPYTHONPATH書くのが早いんだな

423 :デフォルトの名無しさん:2024/03/09(土) 12:09:06.37 ID:innwL8du.net
開発環境でもpip installしたほうが

424 :デフォルトの名無しさん:2024/03/09(土) 12:15:40.44 ID:innwL8du.net
配布先とか別環境でも同じ使い方できるから楽
なんとかtoml最小限書くだけでできるよね?
レス別れちゃってごめんね

425 :デフォルトの名無しさん:2024/03/09(土) 12:47:03.50 ID:hNim5q60.net
venvで細かく分けて保存
何かインストール難しそうなものがあったら
新たな環境作ってそこにpip install
それで壊れたらその環境捨てる

という訳で気付いたら環境が15個とか出来てる

anacondaでconda-forgeから取れるようにすると少し楽だが、いずれにしても管理の習慣が無い人ほどしくじり易い
「どうせ上手く行くから大丈夫じゃねーの?」と舐めプして
基本環境にpip失敗してpython丸ごと再インストールとなる

一般に「アップデートして最新にしましょう」というのがOSや市販アプリなら常識だが
pythonでは他ライブラリとの相性もあり、何でもかんでもupdateすると怖い
conda update condaはさすがにまあ安全だが

426 :デフォルトの名無しさん:2024/03/09(土) 17:35:27.63 ID:KPeEXLi+.net
>>425
>基本環境にpip失敗してpython丸ごと再インストールとなる
ここがちょっとわかんない

427 :デフォルトの名無しさん:2024/03/09(土) 18:34:45.65 ID:bB58iYl/.net
管理者権限でpip実行してんじゃね?

428 :デフォルトの名無しさん:2024/03/09(土) 19:30:49.00 ID:b/ATK8wU.net
AIないと何もブログラミング出来ないんだけどこれでいいのだろうか

429 :デフォルトの名無しさん:2024/03/09(土) 21:56:34.21 ID:Dg4V+RZb.net
>>428
いいんだよ
プログラミングなんて本来人間のやる作業じゃない
コンピュータのことはコンピュータに任せりゃいい
人間にしかできない仕事をやればいい

430 :デフォルトの名無しさん:2024/03/10(日) 04:36:05.69 ID:YuaEvpE6.net
>>429
こういう馬鹿ばっか

431 :デフォルトの名無しさん:2024/03/10(日) 05:30:03.67 ID:DGzgjbzK.net
使えるものは使いこなして効率や生産性をあげないと
使いこなす人に出し抜かれる
有能なアシスタント雇ったと思えばいいじゃないかな

432 :デフォルトの名無しさん:2024/03/10(日) 08:41:17.31 ID:GTFEZR4A.net
>>430
ChatGPT使って書いてみなよ
今までプログラミング技術の習得に費やしてきた時間が全て無駄だったとわかる

433 :デフォルトの名無しさん:2024/03/10(日) 11:04:27.88 ID:xltcl5gU.net
>>432
全くそうは思わないな
matplotlibみたいな使うのにリファレンス読む時間がめちゃくちゃ長いのは勉強しなくてよくなった感じがするけど
ChatGPTに短い日本語で指示すれば書けるようなプログラムしか書けるようになってないだけだと思うよ
超初心者スレでいうのもあれだけど

434 :デフォルトの名無しさん:2024/03/10(日) 12:28:14.94 ID:2l3n+JcC.net
Excelのマクロ記録というものも知らなそう

435 :デフォルトの名無しさん:2024/03/10(日) 17:18:49.80 ID:NwXd028v.net
漁獲を Excelで管理するということ?

436 :デフォルトの名無しさん:2024/03/10(日) 22:53:10.30 ID:+HoghBJd.net
サバの管理も必要

437 :デフォルトの名無しさん:2024/03/12(火) 18:56:30.23 ID:ArnB6rOr.net
関数間を1行空けると、Vimの Pymodeに、
1 error| expected 2 blank lines after class or function definition, found 1
と怒られ、3行空けると
1 error| too many blank lines (3)
と怒られ、余計なお世話に憤激した。

https://peps.python.org/pep-0008/#blank-lines
> Surround top-level function and class definitions with two blank lines.
などと書かれてあるが、お前等、きっちり2行空けているのかね。

438 :デフォルトの名無しさん:2024/03/12(火) 22:47:34.41 ID:BkSU/P3i.net
>>437
空けてる
だってflakeに怒られるんだもん
どうでもいいような書き捨てコード書くときはそもそもJupyterとかで書いておしまいだから
PEP8とか気にしないけど、IDEで書いてる時点でメンテナンス性を意識しているから、
PEP8のようなルールに従っておこうという気持ちになっている

439 :デフォルトの名無しさん:2024/03/12(火) 22:47:41.26 ID:vXSbeabq.net
__ <- このアンダーバーをインデントと仮定する

for x in xs:
__for y in ys:
____for z in zs:

このようにxyzの多重ループで
zからyの所に抜けたい場合とzからxに抜けたい場合に
書き分けられる構文 python3にある?

perl5 で書くとこんなラベル構文がある
https://ideone.com/rIV69S

440 :デフォルトの名無しさん:2024/03/12(火) 22:53:07.42 ID:uGnBKOkv.net
https://github.com/PyCQA/pycodestyle/issues/400
シンプルなようで厳格化するのはたいへんでおもしろい

441 :デフォルトの名無しさん:2024/03/12(火) 23:00:25.97 ID:uGnBKOkv.net
>>439
インデントが空白4文字な世界だと
その場で3重の入れ子なんて書かないから
関数かなんらかのブリッジが介在するはず
だから例外や返り値でいくらでも制御できる
デコレータつかうのといいかも

442 :デフォルトの名無しさん:2024/03/12(火) 23:05:19.86 ID:n3W+Fun6.net
>>439
gotoパッケージを入れて、goto文を使ってもいいが、そんなループをしないといけないのか?

443 :デフォルトの名無しさん:2024/03/12(火) 23:10:52.05 ID:n3W+Fun6.net
>>439
ループする条件とbreak文の組み合わせでもいいのに
ネタなの?

444 :デフォルトの名無しさん:2024/03/12(火) 23:22:29.84 ID:oG8PduKS.net
>>437

きっちりつか、autopep8かけるだけ。

445 :デフォルトの名無しさん:2024/03/13(水) 00:57:33.03 ID:TCqO/DNK.net
Pythonはかなり古めかしい考え方のプログラミング言語だからな

446 :デフォルトの名無しさん:2024/03/13(水) 02:43:27.57 ID:ptopN5lQ.net
Ruby で、多重ループから一気に抜け出すのは、
ラベル付きのKernel.#throw/#catch を使う

447 :デフォルトの名無しさん:2024/03/13(水) 05:11:03.78 ID:NVpOWzEq.net
Rubyはcallccあるんじゃない?なんでもできるでしょ
Pythonもコルーチンあるから今のVMで実装はできそうだけど
あえて提供してないんだろうな

448 :デフォルトの名無しさん:2024/03/13(水) 08:24:43.29 ID:fKc7/92t.net
あれ、breakやcontinueの後に脱出先のラベル名を指定できたはずだが
別の言語だったかな?

449 :デフォルトの名無しさん:2024/03/13(水) 08:38:24.40 ID:6IE1D2aF.net
javaだな

450 :デフォルトの名無しさん:2024/03/13(水) 12:46:02.87 ID:q50ahorY.net
>>441
インデントが空白4文字であることと入れ子を3重にしないことの因果関係が不明
関数やブリッジを介在した方がわかりにくいコードになることもあるぞ
そもそもCでも空白4文字インデントを使うことが多いが、
普通に3重ループは出てくるでしょ
例えばここ
https://github.com/numpy/numpy/blob/9de8a809efa4c8193a168af9191a0c69290db3e4/numpy/_core/src/umath/ufunc_type_resolution.c#L1517

波括弧がないからlambdaでreturnを持つ複数の文を1つの式で扱えないとかだったらわかるけど、
インデントは関係ないでしょ

綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、
実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、
テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは
よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。
戻り値で判定はあり得ても例外はあり得ないわ。
誤用としか言いようがない。

451 :デフォルトの名無しさん:2024/03/13(水) 13:02:27.40 ID:q3MDl01V.net
for~else ってなんか直感的じゃない気がするんだけど、なんで「else」なの?

completed
breaked, aborted
finally
みたいな単語なら分かりやすいのに。

452 :デフォルトの名無しさん:2024/03/13(水) 13:27:55.78 ID:baZhL1uT.net
すげえ大昔からあるんだな
https://stackoverflow.com/questions/682185/which-version-of-python-added-the-else-clause-for-for-loops

453 :デフォルトの名無しさん:2024/03/13(水) 15:16:21.22 ID:NVpOWzEq.net
>>450
妄想がはげしい
5chで5行超えたら一旦立ち止まろう
後半句点も復活しているw

454 :デフォルトの名無しさん:2024/03/13(水) 15:54:43.36 ID:m9o7WxBh.net
>>439
それ用の構文は無い
大域脱出の代替手段はいくつかあるけど基本的には早期リターンで対応する
その例だと内側の2重ループを関数化してbreak, continue, return(もしくはyield)で対処可

>>451
for-elseはBad Partsなので使わない
Effective Pythonにも使うなと書いてある
よくある”not found”みたいな処理はfor文の一部としてではなく
一つ上位でハンドリングすべき処理なので役割分担が間違ってる

455 :デフォルトの名無しさん:2024/03/14(木) 03:42:52.99 ID:/Z8fZW3i.net
>>453
どの辺が妄想なの?
すぐ5行以上とかのレスに長文乙って返してくる人どの板にもいるけど根拠が示されて若干長くなった文章読めないの?短文でマウントとるだけのレスほどくだらないものはないと思うけどね
句読点があったりなかったりすると何が問題なわけ?
447では意味ありそうなレスしてるのに一方で煽るとは不思議な人だね

456 :デフォルトの名無しさん:2024/03/14(木) 19:42:58.77 ID:4bFX29zW.net
pythonをサーバーでプロジェクトルートを認識させられない

NoModuleNamed"プロジェクトのフォルダー名"になる

herokuなんだけど

457 :デフォルトの名無しさん:2024/03/14(木) 21:13:08.36 ID:xE50NtDY.net
>>450
日本だと4つが一番多いが、外国だと8つも多く、16すらある。

458 :デフォルトの名無しさん:2024/03/15(金) 13:14:40.59 ID:6p0ry24q.net
pygameのlineを使い時計の秒針のようか円を描こうとしたんですがうまく行かない
どこが悪いの???

459 :デフォルトの名無しさん:2024/03/15(金) 13:15:14.89 ID:6p0ry24q.net
import sys
import math
import numpy as np
import time
import pygame

pygame.init()
WHITE = (255,255,255)
WIDTH, HEIGHT = 400, 300
SURFACE = pygame.display.set_mode((WIDTH, HEIGHT))
FSPCLOCK = pygame.time.Clock()

center_x = WIDTH // 2
center_y = HEIGHT // 2
def main():
while True:
for event in pygame.event.get():
if event == pygame.QUIT:
pygame.quit()
sys.exit()

460 :デフォルトの名無しさん:2024/03/15(金) 13:15:36.25 ID:6p0ry24q.net
for theta in range(0, 360, 20):
rad = math.radians(theta)
R = np.array([[math.cos(rad), -math.sin(rad)],
[math.sin(rad), math.cos(rad)]])

point = np.array([center_x, center_y])
rotated_point = np.dot(R, point)

x = rotated_point[0]
y = rotated_point[1]

pygame.draw.line(SURFACE, WHITE, (center_x, center_y), (int(x), int(y)))

time.sleep(1)
pygame.display.update()
FSPCLOCK.tick(100)

pygame.quit()
sys.exit()

if __name__ == '__main__':
main()

461 :デフォルトの名無しさん:2024/03/15(金) 14:06:44.19 ID:6p0ry24q.net
うまく行かない→画面外にlineの先端が飛び出す です

462 :デフォルトの名無しさん:2024/03/15(金) 15:38:52.20 ID:NWS7XA3x.net
>>461
これを試してみてくれ
point = np.array([0, -center_y])

x = rotated_point[0] + center_x
y = rotated_point[1] + center_y

463 :デフォルトの名無しさん:2024/03/15(金) 15:59:41.53 ID:6p0ry24q.net
>>462
ありがとう
円になりました

464 :デフォルトの名無しさん:2024/03/15(金) 17:26:12.14 ID:8JWNUOHY.net
>>456
なんで?

465 :デフォルトの名無しさん:2024/03/15(金) 17:38:05.39 ID:NWS7XA3x.net
>>463
座標回転は原点からのベクトルにしてから回転して
後で始点座標を加算する
後、縦横の長さが違う時は短い方に合わせないと飛び出す
必要なら1/2、1/4などして長さを調節する
画面サイズを元にスケーリングして長さを求めるのは画面サイズに依存しないやり方

466 :デフォルトの名無しさん:2024/03/15(金) 17:46:21.03 ID:F3qtk1ON.net
>>464
project_xっていうような名前のプロジェクト名だったけどherokuを覗いてみるとそんなフォルダーはなくて/app/って名前になってた

だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)

あとherokuでポスグレ使うためにadd-on入れて、自動生成されたsqlalchemyに接続するためのDATABASE_URLっていう環境変数の中身であるpostgres://から始まるurlが正しくはpostgresql://でコード中で直す羽目になった

色々とherokuは使いやすくない
これならawsでも学べばよかった

467 :デフォルトの名無しさん:2024/03/15(金) 17:47:08.11 ID:F3qtk1ON.net
あとgitのdevelopブランチをpushしてたけどherokuはmasterしか見ないらしくそれもハマった

468 :デフォルトの名無しさん:2024/03/15(金) 21:48:19.54 ID:8JWNUOHY.net
>>466
>だから相対パスや絶対パスを消して全部プロジェクトルートからのimportにした(ここらへんよく分かってない)
https://devcenter.heroku.com/articles/getting-started-with-python?singlepage=true
https://devcenter.heroku.com/articles/python-pip
この辺みたらpipでインストールできるようにしてたらコード書き換える必要なさそう

herokuに限らずデプロイするのにコード書き換える必要がでてきてしまったのはパッケージの構成がよくなさそう
何にしろ別環境にデプロイする以上、pipでインストールできるような構成にした方が楽だよ

469 :デフォルトの名無しさん:2024/03/15(金) 23:44:29.33 ID:gLD47Opc.net
>>451
条件式がTrueのときループして、条件式がFalseのときelseになる
forもwhileもループ目的でつかうので、条件式がFalseのときというのは自然と終了時になる
たとえば下記のようなループしないコードだとfalseとだけ表示される

while True == False:
____print("true")
else:
____print("false")

470 :デフォルトの名無しさん:2024/03/16(土) 00:23:50.73 ID:tIIuw8RV.net
いやいや

471 :デフォルトの名無しさん:2024/03/16(土) 00:34:26.59 ID:IFaiGfVE.net
キーワードを節約のために同じ単語を使ってるけど
if-elseのelseと
try-except-else-finallyのelseと
for-else/while-elseのelseと
みんな意味が違う

ループのelseは”if not break”

472 :デフォルトの名無しさん:2024/03/16(土) 00:41:49.95 ID:ENgm2ZqF.net
意味を与えたら異なってくるけど
内部処理は同一にみえん?

473 :デフォルトの名無しさん:2024/03/16(土) 03:10:31.74 ID:KKwFKDp9.net
全部gotoやろなあ

474 :デフォルトの名無しさん:2024/03/16(土) 05:06:55.01 ID:aWIocRO6.net
herokuにアップしたらドメインとフォルダーの間のスラッシュが何故か2つになって恐らくそのせいで404とcors error出る
ローカルではちゃんと動くし有り得そうなところは全部見たんだが

もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ

elastic beanstalk に変えてデプロイし直すか.....

475 :デフォルトの名無しさん:2024/03/16(土) 10:02:19.46 ID:eI+Kyosu.net
なんか、ドキュメントとかログとか読まなそうな人だな

476 :デフォルトの名無しさん:2024/03/16(土) 10:47:04.93 ID:h3KSZFE8.net
>>473
ジョークにマジレスしちゃうけどgotoする条件の違いが重要

goto if false
goto if no exception
goto if no break

477 :デフォルトの名無しさん:2024/03/16(土) 12:00:46.66 ID:KKwFKDp9.net
>>476
(なので同一には見えないの意味でした. 補足ありがとう

478 :デフォルトの名無しさん:2024/03/16(土) 13:00:21.70 ID:BNVm3LV8.net
たぶん予約語を増やしたくないからelseを流用したんだろうね
この辺は言語設計のさじ加減だから仕方ない

479 :デフォルトの名無しさん:2024/03/16(土) 13:18:07.52 ID:gBCe/Ijm.net
try-exceptのelseってtryに全部書きたくない人が使うの…?

480 :デフォルトの名無しさん:2024/03/16(土) 14:41:32.39 ID:fX07kGnW.net
こんな混乱が起こる構文なので
使わない方がベター
実装されてる機能が全ていいとは限らない

481 :デフォルトの名無しさん:2024/03/16(土) 15:25:29.24 ID:S+aPEpZd.net
例外が発生するかもしれないけど上のexceptに混ぜたくない処理を書きたい場合とか?

482 :デフォルトの名無しさん:2024/03/16(土) 23:03:57.53 ID:1SZ3hjNN.net
forのelseというのは
forに対するelseではなく
forのループの条件式に対するelse

だから意味は違っても内部処理は同一となる
なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる
https://ideone.com/2MULxa

483 :デフォルトの名無しさん:2024/03/16(土) 23:25:35.65 ID:HgWB99Ut.net
>>482
なるほどね
言わんとしてることは良くわかったわ

484 :デフォルトの名無しさん:2024/03/18(月) 19:10:03.43 ID:mMZjYpOD.net
ωってPyPyに似てるよね

485 :デフォルトの名無しさん:2024/03/18(月) 22:57:43.88 ID:k+0BFsOa.net
おいなりさんだろ

486 :デフォルトの名無しさん:2024/03/20(水) 21:07:42.45 ID:g3UAOGQ4.net
def one():
 return 1,2

def two(a,b):
 print(a,b)

two(100,100)
two(one())

最後の行で「TypeError: two() missing 1 required positional argument」エラーとなります。
twoで1と2を受け取れるようにするにはどうすれば?

487 :デフォルトの名無しさん:2024/03/20(水) 21:12:04.19 ID:GeI9OXvQ.net
two(*one())

488 :デフォルトの名無しさん:2024/03/20(水) 21:27:30.26 ID:g3UAOGQ4.net
>>487
サンクス
できました

489 :デフォルトの名無しさん:2024/03/25(月) 21:04:47.80 ID:ybmcJkp8.net
def myfunc():
__myfunc.initialized = True

こういうのってあり?
1年くらいpython勉強してきて、先日初めて見かけたんだけど
ちょっとおどろいてしまって

490 :デフォルトの名無しさん:2024/03/25(月) 22:22:30.06 ID:JhT+JdiB.net
functionもオブジェクトで__call__が生えてるだけと思えるならあり
ただどんな用法でも見通しが悪ければなし

491 :デフォルトの名無しさん:2024/03/26(火) 01:38:33.45 ID:CAcXk4Yx.net
おどろいてしまうようなやり方はじっくりコードを見ないとわからない振る舞いをするから基本なし

492 :デフォルトの名無しさん:2024/03/26(火) 02:04:23.26 ID:s3c2P37L.net
便利ではあるけどわりと悪用寄りじゃねーかなあ

493 :デフォルトの名無しさん:2024/03/26(火) 04:38:00.60 ID:vQ76deH4.net
"initialized" て何?

494 :デフォルトの名無しさん:2024/03/26(火) 09:15:41.63 ID:we9m9tD+.net
>>489
なにそれ

>>> def myfunc():
...   __myfunc.initialized = True
...
>>> myfunc()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "<stdin>", line 2, in myfunc
NameError: name '__myfunc' is not defined
>>>

495 :デフォルトの名無しさん:2024/03/26(火) 09:32:42.21 ID:VDce1kQ4.net
アンスコはインデントのことやろ

496 :デフォルトの名無しさん:2024/03/26(火) 10:24:26.34 ID:1hPeYZqd.net
www

497 :デフォルトの名無しさん:2024/03/26(火) 10:40:59.11 ID:oEfu3HhX.net


498 :デフォルトの名無しさん:2024/03/26(火) 10:56:16.21 ID:SqtaP4pc.net
便利なことある?
100%無しだと思うが

499 :デフォルトの名無しさん:2024/03/26(火) 11:22:52.88 ID:cN9vnyja.net
気持ちはわかるが………
https://i.imgur.com/osueu8f.jpg

500 :デフォルトの名無しさん:2024/03/26(火) 11:30:55.84 ID:XEFglfYx.net
クラス定義より軽量、外の名前空間を汚さない
ジェネレータもあるしこれでしか書けないってのは思いつかない

501 :デフォルトの名無しさん:2024/03/26(火) 12:34:45.39 ID:rLv5Wa1V.net
template metaprogramming に匹敵する犯罪

502 :デフォルトの名無しさん:2024/03/26(火) 12:38:21.94 ID:HGM8+XQV.net
>>499
それはクロージャかクラスを使うべきケース
状態を外から更新したいならクラスを
更新されたくないならクロージャを使う

副作用じゃなく値を返すのがメインならジェネレータも選択肢の一つ

503 :デフォルトの名無しさん:2024/03/26(火) 13:03:56.77 ID:/DMrazJH.net
これGUI書きのクセっていうか、イベント・バインドの高階関数とかで見るな
簡単なGUI書いてて、クラス化まではしてないときかつ状態が2値のみのとき
ウィジェットまわりに全部押し込んだほうが目線動かなくてメンテしやすいんよ
それより表現が複雑だったら変数はrootに置いたり、クラスに持たせたりするんだけど、これはウィジェット(たとえばボタン)に持たせてるような感じ
initializedとか、btn.locked / del lockedとかだしょ

504 :デフォルトの名無しさん:2024/03/26(火) 15:17:24.89 ID:/6tigVoe.net
pylanceって何?

505 :デフォルトの名無しさん:2024/03/30(土) 09:21:28.53 ID:FABGEyhJ.net
うちの pipが、

$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)

だとして、python3.1/site-packagesを pip listしたい。どうしたら?

506 :デフォルトの名無しさん:2024/03/30(土) 11:49:14.06 ID:lTb8Ggax.net
python3.1 -m pipでやってみたら
要は使いたいpythonからモジュールでpipを起動する

507 :505:2024/03/31(日) 06:27:21.58 ID:r7c9jkcO.net
>>506
python3.1 はもう無い。

508 :デフォルトの名無しさん:2024/03/31(日) 12:09:50.75 ID:sPPO74qw.net
$ pip list ―path python3.1/site-packages

509 :505:2024/03/31(日) 17:11:49.91 ID:wZMZSRnS.net
>>508
なるほど。どうもありがとう。

$ pip --version
pip 55.0 from /usr/lib/python3.99/site-packages/pip (python 3.99)
$ pip list --path /usr/lib*/python3.1/site-packages
Package Version
------- -------


510 :デフォルトの名無しさん:2024/03/31(日) 20:01:34.78 ID:k+SRq7RN.net
モダンなGUI作れるっていうからflet触ってるんだけど
もしかしてこれGUIに対するドロップ受け付け機能ない感じ?

511 :デフォルトの名無しさん:2024/04/02(火) 21:32:23.08 ID:tcE9WrX3.net
身体がflutterを受け付けない
pythonでflutterアプリが作れるとか
なんで、なんでそんなことを

512 :デフォルトの名無しさん:2024/04/03(水) 09:07:29.94 ID:gYUDipyH.net
fletはflutterで根本的にwebアプリ用だから外部からの入力はdropzoneないと無理じゃないか

513 :デフォルトの名無しさん:2024/04/09(火) 09:59:41.23 ID:vz2W6XdT.net
>>511
自分はDartを覚えず使わずflutterアプリ作れるってのが良いんじゃね
知らんけどw

514 :デフォルトの名無しさん:2024/04/25(木) 18:36:04.67 ID:et3aNg4p.net
>>510
それないのネックだよなー

515 :デフォルトの名無しさん:2024/04/26(金) 04:15:50.28 ID:irc/xjdb.net
このスレにあった質問かどうか自信がないんだけど・・・
投資系のライブラリ"talib"てあるじゃないですか
これに含まれるCCIの使い方がわからんのです

516 :デフォルトの名無しさん:2024/04/26(金) 06:53:25.16 ID:ZBCRkORu.net
>>515
ChatGPTに聞いてみなよ
もうプログラミングは人に聞いたりドキュメントを読む時代じゃない

517 :デフォルトの名無しさん:2024/04/26(金) 07:20:49.79 ID:oC+HoZzz.net
やってみたらわかるけどマイナーなライブラリの使い方聞いてもデタラメ答えるだけ

518 :デフォルトの名無しさん:2024/04/26(金) 08:47:57.09 ID:irc/xjdb.net
>>516
無料版3.5で聞いてみた
突然英語で喋りだして、思ってたのと違うコードを紹介してきたので諦めたw

519 :デフォルトの名無しさん:2024/04/26(金) 08:50:24.75 ID:GzSmFxiN.net
ChatGPTの野郎は知ったか振りばかりして「知らない」と言うことを知らないからな

520 :デフォルトの名無しさん:2024/04/26(金) 08:59:13.25 ID:svyb6xY8.net
>>516 みたいにプログラミングやってるくせにChatGPTの実力や使いどころを知らないのまじ無能

521 :デフォルトの名無しさん:2024/04/26(金) 18:16:07.03 ID:AmdOltG1.net
いけず石の説明させたら架空の鉱物の説明しだすからな

522 :デフォルトの名無しさん:2024/04/26(金) 20:01:21.45 ID:sEQNDfGh.net
>>518
3.5で聞いたみたら下記の回答が返って来たぞ
これじゃダメなのかい?

import talib


# サンプルデータの作成(適宜自分のデータに置き換えてください)

high_prices = [105, 110, 115, 120, 118, 112, 115, 118, 122, 125]
low_prices = [95, 98, 102, 108, 100, 102, 105, 108, 110, 112]
close_prices = [100, 105, 110, 115, 112, 108, 110, 115, 118, 120]



# CCIの計算

cci = talib.CCI(high_prices, low_prices, close_prices, timeperiod=14)



# 出力の表示

print("CCI:", cci)


talib.CCI()`関数には、高値、安値、終値の配列を渡し、`timeperiod`パラメーターを指定する必要があります。これはCCIの期間を表します。計算されたCCIの値は、指定された期間ごとに配列として返されます。


上記の例では、10日間の高値、安値、終値のデータからCCIを計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。

523 :デフォルトの名無しさん:2024/04/26(金) 20:15:58.39 ID:SscvQYbj.net
ドキュメント読めよ

524 :デフォルトの名無しさん:2024/04/28(日) 21:51:15.65 ID:zlR73q8o.net
スレ立てあらしスクリプト対抗age

525 :デフォルトの名無しさん:2024/04/29(月) 05:58:27.57 ID:sMTBjD6w.net
ちゃす
質問す

プログラミングのロジックを考える時に使える考え方ありますかね
入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?

526 :デフォルトの名無しさん:2024/04/29(月) 07:27:54.81 ID:xgq67JZI.net
考えることはうんこを食って食べ物を尻から出すようなことだが
重要なのはコンピューターにとってばうんこも食べ物も変わらないという事だな

527 :デフォルトの名無しさん:2024/04/29(月) 07:55:32.14 ID:Irrt06Ch.net
そうやね
いかに物事を抽象化してシンプルにモデル化するか

528 :デフォルトの名無しさん:2024/04/29(月) 07:57:38.43 ID:sMTBjD6w.net
複雑に考えすぎなんすかね
関数増えてくとわけが分からなくなります

529 :デフォルトの名無しさん:2024/04/29(月) 12:40:37.42 ID:sMTBjD6w.net
材料→材料の処理→結果、というのがプログラムの基本なんすかね

530 :デフォルトの名無しさん:2024/04/29(月) 12:43:56.77 ID:1Ba7WF72.net
何でもそうだけど真似というか模倣から始めるのはどうよ
ギターでもHIDEがカッコいいとか布袋みたいにとか真似するでしょ

デザインパターン本だとか有名なオープンソースのコード見てると何となく癖というか法則みたいなのが分かってくる

531 :デフォルトの名無しさん:2024/04/29(月) 15:01:05.04 ID:36J4bmfl.net
アルフィーの高見沢さんの髪がまだ短めで黒かった頃、メイキングのムービーで作曲する姿が写っていたが、
少し書いては弾いて違うと書き直すのを繰り返す姿を見て、これってオブジェクト指向に通じるんじゃないかと思った。

532 :デフォルトの名無しさん:2024/04/29(月) 15:24:26.44 ID:3QF86HD9.net
途中までスクリプトかと思った
短いときなんてあったのかぁ

533 :デフォルトの名無しさん:2024/04/29(月) 15:43:29.23 ID:yZBAGAQ6.net
>>525
一度に一つのことしかしないように考えるかな
あと一般的なことは考えず今必要なことだけをやる仕様にする

534 :デフォルトの名無しさん:2024/04/29(月) 16:30:19.78 ID:7kmh2Muz.net
>>525
>関数の引数が入力、返り値が出力といいますか?
話の文脈によるんだけど「関数の入出力」が引数と返り値だけを指してる場合もあれば
それ以外の外部状態からの入力や出力なんかを含む場合もある
プログラム設計時に関数の入出力を考える場合は
引数や返り値以外も考えないといけないので広い意味も頭に入れておいたほうがいい

>>529
>材料→材料の処理→結果、というのがプログラムの基本なんすかね
上に書いた広い意味で言うなら
指示と材料が入力で結果(成否等)と加工した材料が出力
これが基本

指示―> 処理 ―>処理結果 
材料―>    ―>加工した材料

535 :デフォルトの名無しさん:2024/04/30(火) 05:58:23.71 ID:7kO3MDXp.net
ありがとう(*´ω`*)、、

536 :デフォルトの名無しさん:2024/04/30(火) 11:47:25.31 ID:7kO3MDXp.net
比較について質問なのですが、数値ペア同士の比較というのはプログラミングでは出来ないのでしょうか?
例えばvector2なら、xとyの値を取り出してそれぞれ比較しますね

537 :デフォルトの名無しさん:2024/04/30(火) 11:58:01.28 ID:7kO3MDXp.net
プログラミング得意な人は頭の中がどんなイメージになっているのだろう
すべて図解になっているんだろうか

538 :デフォルトの名無しさん:2024/04/30(火) 12:17:12.46 ID:e06sRc0C.net
>>536
普通にできるでしょ
(0, 1) > (0, 2) => False
(1, 1) > (0, 2) => True

Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね

539 :デフォルトの名無しさん:2024/04/30(火) 17:47:36.57 ID:bXsIEdjD.net
>>537
境界知能みたいな知能が低い人には無理だよ

540 :デフォルトの名無しさん:2024/04/30(火) 18:05:05.21 ID:l8IWanaC.net
>>537
単に経験豊富なだけだよ
色々やればイメージができるようになる

541 :デフォルトの名無しさん:2024/04/30(火) 18:08:16.92 ID:7kO3MDXp.net
>>538
>>540
どうもっす

542 :デフォルトの名無しさん:2024/04/30(火) 19:36:23.61 ID:yMZhKZIP.net
経験を活かせるかどうかが能力なので
539にもアンカつけてあげて
まじで向いてない人いるから

543 :デフォルトの名無しさん:2024/05/01(水) 00:28:40.04 ID:+iRkaWFb.net
>>537
プログラムの構造を考えるのは文章の構成を考えるのと同じ頭の使い方をする
文章の構成を考えるときに図でイメージしてる人もいればそうでない人もいるように
プログラミングに習熟した人でもプログラムを図でイメージしてるとは限らないしできるとも限らない

544 :デフォルトの名無しさん:2024/05/01(水) 01:16:14.81 ID:Zve8z/ER.net
小学生でもバブルソートは書けるので、知能にデコボコがあっても、どの方向が劣っているのかによるのでは。

545 :デフォルトの名無しさん:2024/05/01(水) 10:19:05.69 ID:HGDms0B9.net
小学生でもプログラミング得意なやつはいるけどバブルソートを書くというのはお手本を模写できたり辞書を引いて目的の項目を調べられたりする程度の話だからプログラミングが出来るかどうかの指標にはならないよ

546 :デフォルトの名無しさん:2024/05/01(水) 13:34:16.61 ID:OSMPRnYB.net
実際のプログラムだとソートする関数は用意されてるから自ら実装する事は無い

ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ

547 :デフォルトの名無しさん:2024/05/01(水) 14:26:55.02 ID:G90j3Kau.net
??アスペにもわかるように書いてほしい

548 :デフォルトの名無しさん:2024/05/03(金) 00:19:22.63 ID:In48C7dA.net
ゲーム制作板で何年も倉庫番完成させられてない人じゃん
親切な人がいっぱい釣れたね

549 :デフォルトの名無しさん:2024/05/03(金) 01:30:55.10 ID:ZXRxoWBs.net
C#スレにもいたあの馬鹿か?

550 :デフォルトの名無しさん:2024/05/04(土) 12:25:55.56 ID:+MvlSNsp.net
あれ人じゃなくてチャットbotだからスルー推奨だよ。

149 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★