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

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

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

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

265:デフォルトの名無しさん
23/12/02 12:28:53.41 +bysY8AL.net
>>262
ありがとうござい�


266:ワす 具象クラスのメソッドを直接操作してるので何かが違うんだけどとは考えてました すると今回のように呼び出し側が画面に合わせた操作をする必要がある場合はどういう設計がベターでしょうか? 循環インポートの解消に関しては from . import a_presentation as A でも問題なく動きました これはAPresentationの定義の読み込みが呼び出し時までされないということでいいですか?



267:デフォルトの名無しさん
23/12/02 14:02:31.64 0tC7Yjqi.net
だめ絶対

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

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

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

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

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

273:デフォルトの名無しさん
23/12/04 13:45:27.90 C1dIH7Kj.net
>>267
株価とか出来高とか板とか見て自動で売買するアプリ作ってはどうでしょうか?
儲かりたいなら優待を

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

275:デフォルトの名無しさん
23/12/06 20:32:16.84 7Cu2FhSW.net
児童取引は怖い

276:デフォルトの名無しさん
23/12/07 05:46:48.95 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を選んだ理由。
ここで皆が脱落する。
大学院数学科じゃないと、まず無理

277:デフォルトの名無しさん
23/12/07 11:41:26.60 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は桁数をいくつまで手軽に扱えるの?

278:デフォルトの名無しさん
23/12/07 11:54:23.24 Y5Tf+LqT.net
URLリンク(docs.ruby-lang.org)
しらんけど無制限らしいから計算機リソースのみに依存すんでない?
処理系の縛りがあるかは書いてないからわからん

279:デフォルトの名無しさん
23/12/07 12:27:43.29 gpmkJ2Ny.net
require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
a = BigDecimal("10")
b = BigDecimal("7", 40)
mf = a ** a ** a ** b
このくらいでエラーになるぞ。
URLリンク(paiza.io)
bを6にするとエラーにならないからこの程度が限界か?

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

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

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

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

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

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

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

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

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

ということだろ

285:デフォルトの名無しさん
23/12/07 17:27:42.18 XDYBiR0b.net
>>274
瞬殺されててワロタww

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

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

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

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

290:デフォルトの名無しさん
23/12/23 00:06:34.21 nuv23jz/.net
結論から言えば無い
ifでチェックする
機能追加の提案もあるけど実装される見込みは今のところ無し
URLリンク(discuss.python.org)

291:デフォルトの名無しさん
23/12/30 07:45:04.24 W5+FG6fR.net
pythonで変数スコープをどうにかしたいのですが定石とか何かありますか?
変数宣言せずに使えるのでスコープ外れてるのに値を入れたりして名前が同じ別スコープの変数が新たに出来てバグ子温床と発見に手間が掛かります
正直言って変数宣言にvarを導入して欲しい感じなのですが型チェックがオプション的に使える様に何か方法は無いでしょうか?

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

293:デフォルトの名無しさん
23/12/30 16:01:53.58 FgzdgIdy.net
>>288
参照可能な別の変数を上書き定義してるようなケースはpylintとかでチェックすれば警告が出る
変数がスコープ内にあると勘違いして既存変数に代入したつもりが
新しい変数を定義して初期化しただけというケースはテストを書かずにチェックするのは実質無理
普通はそんなことにならないと思うけどテストを書くか変数定義にキーワードを要求する言語に乗り換えるかの二択

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

295:デフォルトの名無しさん
24/01/06 11:42:23.38 Zs30euLJ.net
人間に独立した人格が有るように、チンポにも独立したチン格が有る
これは親クラスと子クラスの継承関係である
チン格とはつまり「愚息」であり、自分にも他人にも成り得る
これがオブジェクトの多態性と表現される
オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋
このように時と場合によって真逆の性質を併せ持つことができる
随意筋 不随意筋
  ↖ ↗
  チンポ
自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!

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

URLリンク(www.techiedelight.com)

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

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

299:デフォルトの名無しさん
24/01/08 13:31:11.16 qmm9XobD.net
>>294-295
ありがとうございます
出来ました
selectが見やすいのでselect使います
URLリンク(www.techiedelight.com)

300:デフォルトの名無しさん
24/01/08 13:33:49.83 qmm9XobD.net
リンク間違えました
URLリンク(techiedelight.com)

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

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

303:デフォルトの名無しさん
24/01/09 11:51:37.25 mYyJOFIO.net
>>298
モジュールレベルの可視性とクラスレベルの可視性を使い分ける
クラスの外部からアクセスする前提のプロパティやメソッドならアンダースコアは付けない
利用者側コードでDriverを生成させる必然性はなさそうなのでフレームワーク側でDriverを生成してControllerをinitして返すAPIを用意する
__init__.pyでモジュールのユーザーに公開すべき内部モジュールを選別する
公開モジュールで非公開モジュールをインポートするときはアンダースコアを付ける

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

URLリンク(techiedelight.com)

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

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

307:デフォルトの名無しさん
24/01/14 12:29:02.68 0ohzHf92.net
ネタが新鮮だとChatGPTでは無理
URLリンク(github.com)

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

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

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

311:デフォルトの名無しさん
24/01/14 18:12:22.27 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)を使用して予測されたクラスを取得します。

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

312:デフォルトの名無しさん
24/01/14 18:28:17.93 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)) で使用されていますが、この変数の定義が見当たりません。

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

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

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

315:デフォルトの名無しさん
24/01/15 11:01:16.44 KiCBWffV.net
上のはChatGPT4の場合
=====
ChatGPT3.5の場合

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

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

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

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

318:デフォルトの名無しさん
24/01/18 05:14:20.29 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”と言う部分が太字なのですが、これは何のつもりなのですか?何が言いたいのですか?

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

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

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

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

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

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

323:デフォルトの名無しさん
24/01/21 01:01:49.79 po0/ndNG.net
URLリンク(stackoverflow.com)

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

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

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

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

328:デフォルトの名無しさん
24/01/27 11:52:44.87 0NhbJ8Wy.net
モザイクを検出して、透過に塗りつぶして、別の画像に貼り付けるプログラムを
作ったので良かったら遊びにきて下さい
wikiwiki
同人誌同人ゲーム無修正化差し替え備忘録まとめ Wiki*
URLリンク(wikiwiki.jp)
左のメニューのところにプログラムを貼り付けてあります

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

330:デフォルトの名無しさん
24/01/27 12:27:20.61 7oImGRPe.net
>>326
pyenv

331:デフォルトの名無しさん
24/01/27 13:06:20.63 idsDIbYE.net
>>326
自分でビルド

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

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

334:デフォルトの名無しさん
24/01/27 17:12:17.55 OFvOzhfh.net
embeddable pythonという方法もある

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

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

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

338:デフォルトの名無しさん
24/01/27 18:49:08.88 NKobULuJ.net
は?

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

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

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

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

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

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

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

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

344:デフォルトの名無しさん
24/01/27 23:05:09.68 t7pPpNfJ.net
ただの初心者なんだろうな

345:デフォルトの名無しさん
24/01/27 23:58:06.71 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

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

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

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

349:デフォルトの名無しさん
24/01/28 06:42:16.36 PWkEGs2d.net
英会話教室に通って「フランス語では云々」と講釈たれる奴みたい�


350:セよなw



351:326
24/01/28 07:28:43.27 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 というのは、何かしらそれに類した不具合を解消するのだろうと想像している。

352:342
24/01/28 09:12:54.94 4GEBUrLg.net
>>342
に、もちろん、pyenv も入っている
多言語バージョンマネージャー、anyenv・asdf には、
rbenv, nodenv, goenv など、たいがいの言語は入っている
ただ最近は、Docker も多い

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

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

355:342
24/01/28 21:35:30.33 rJLsGKs7.net
PyDeca だと流行りそう。
>>349
> フルパス
のくだりがよく解らないが、取り敢えずpyenv を検討してみる。どうもありがとう。

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

357:デフォルトの名無しさん
24/01/29 00:08:46.88 G6ToERat.net
くたばれPython
に見えた

358:342
24/01/29 00:10:12.64 eueHhgdA.net
>>342
のanyenv root/rbenv root/nodenv root を見れば明らか
/home/ユーザー名/.anyenv 以下しか使わない。
個人の環境しか使わない
だから多言語バージョンマネージャー、anyenv・asdf を使えばよい

359:デフォルトの名無しさん
24/01/29 11:59:52.72 fIBxeYXl.net
ArcadeよりPyxel派
>>350
なぜPyをつけたがるのかだよね

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

372:デフォルトの名無しさん
24/02/05 16:37:45.68 hliEPH6s.net
死んじゃうんじゃない?

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

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

375:デフォルトの名無しさん
24/02/05 19:18:21.11 TKxKoCl8.net
一応ここ質問すれなんで

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

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

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

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

379:デフォルトの名無しさん
24/02/08 06:13:31.80 hTf75Vln.net
パイソンはインタプリタでパイソンプログラムはマルチプラットフォームとききました
ところがPYNUMはC言語だといいます
つまり機種依存があるはずです
そうするとパイソンも機種依存していまいPYNUMをインポートしたプログラムはWin�


380:р盾翌唐ニマックでは動かないのではないのでしょうか 私だんだん混乱してきました



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

382:デフォルトの名無しさん
24/02/08 07:57:21.03 isMXgTpD.net
URLリンク(pypi.org)
これ?

383:デフォルトの名無しさん
24/02/08 07:59:14.95 isMXgTpD.net
>>359>>364同じ人?

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

385:デフォルトの名無しさん
24/02/08 11:05:24.59 arovnfBA.net
全部anacondaで作って.condarcにconda-forgeのライブラリからのインストールも可能にしておくように設定
だが変わったものを取ってくると重くなりがち
biocondaとかもインストール元にしとくか
変わったものをインストールする度に別環境作ったり
pythonの環境設定は結構な初心者泣かせだな
そもそもPCのユーザー名がマルチバイトだったり半角スペースあったりしたらもうアウトだったり
anacondaは公式pythonと同居させられなくて問題になるが
ryeを推してるところもあるが、私的ドキュメントが心許ない

386:デフォルトの名無しさん
24/02/08 11:11:05.34 isMXgTpD.net
anacondaを使うメリットが科学計算用ライブラリが一括で入るぐらいしかない
>>374
そもそもタブを使うことがないし、全角スペースならだいたいのプログラミング用フォントなら分かりやすくしてある

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

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

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

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

390:デフォルトの名無しさん
24/02/08 14:21:16.75 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用に作ってあるから

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

392:デフォルトの名無しさん
24/02/08 18:59:24.55 T36ggrXR.net
>>385
なかなかのキチガイだなw

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

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

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

395:デフォルトの名無しさん
24/02/14 15:26:02.91 uypU95In.net
os.path.isfileの様なやり方でループなど使用せずに、
拡張子を除いた部分のファイル名が存在するか確認する方法ってありますか?
例えばファイル名”test01.txt”,”test01.png”のどちらがディレクトリに存在していても、”test01”だけでファイルの有無を確認したいです。

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

397:デフォルトの名無しさん
24/02/21 10:41:22.80 tURWv7oT.net
os.path.exists

398:デフォルトの名無しさん
24/02/21 22:24:18.46 XpCZiALh.net
globでいいと思うけど一応
URLリンク(docs.python.org)

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

400:デフォルトの名無しさん
24/02/25 20:23:29.26 hMq2Qtw2.net
termuxかpydroidかなあ?

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

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

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

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

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

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

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

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

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

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

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

412:デフォルトの名無しさん
24/03/07 20:53:48.81 Xi0SwO4p.net
>>359
まぁ人によって印象違うんだ�


413:�うな 俺はPHPはもう一生触らないと決めたけど そしてイテレータやらクロージャやらやんなくていいから そういうのは出てきた時に意味が分かれば十分



414:デフォルトの名無しさん
24/03/08 00:09:38.55 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では動かない

415:408
24/03/08 00:21:23.96 zqy1N+OL.net
なぜ、Windows/Mac用のネイティブ機械語にしたいのかと言うと、
仮想マシンでLinuxを起動したくないから。
2つのOS が動くから
その代償に動かなくなる。
Linuxじゃないから、Docker Desktop も使えないし
例えば、自分がC/C++ のモジュールを書く時、Linuxにしか対応しないよな。
Windows/Mac用のファイルシステムや、プロセス/スレッドに対応しないはず。
3つのOS で動くようには書かないはず。
面倒くさい

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

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

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

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

420:デフォルトの名無しさん
24/03/08 16:11:57.72 uXHmVfiG.net
VS Code使ってたせいだか何だかわからんけど、気分変えて作業フォルダを変更したらimport命令で自作モジュール読み込みするとエラーに。
メインpyファイルと同じフォルダの別pyファイルがimportできない
ぐぐりまくってsys.path.append("ここに任意パス")で上記フォルダの絶対パスを指定したらいけたが、
じゃあそもそも元のパスはなぜ指定もせずにimport出来てたのかっていう疑問が残った。なんか怖い

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

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

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

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

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

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

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

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

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

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

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

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

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

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

431:デフォルトの名無しさん
24/03/09 12:47:03.50 hNim5q60.net
venvで細かく分けて保存
何かインストール難しそうなものがあったら
新たな環境作ってそこにpip install
それで壊れたらその環境捨てる
という訳で気付いたら環境が15個とか出来てる
anacondaでconda-forgeから取れるようにすると少し楽だが、いずれにしても管理の習慣が無い人ほどしくじり易い
「どうせ上手く行くから大丈夫じゃねーの?」と舐めプして
基本環境にpip失敗してpython丸ごと再インストールとなる
一般に「アップデートして最新にしましょう」というのがOSや市販アプリなら常識だが
pythonでは他ライブラリとの相性もあり、何でもかんでもupdateすると怖い
conda update condaはさすがにまあ安全だが

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

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

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

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

436:デフォルトの名無しさん
24/03/10 04:36:05.69 YuaEvpE6.net
>>429
こういう馬鹿ばっか

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

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

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

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

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

442:デフォルトの名無しさん
24/03/10 22:53:10.30 +HoghBJd.net
サバの管理も必要

443:デフォルトの名無しさん
24/03/12 18:56:30.23 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)
と怒られ、余計なお世話に憤激した。
URLリンク(peps.python.org)
> Surround top-level function and class definitions with two blank lines.
などと書かれてあるが、お前等、きっちり2行空けているのかね。

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

445:デフォルトの名無しさん
24/03/12 22:47:41.26 vXSbeabq.net
__ <- このアンダーバーをインデントと仮定する
for x in xs:
__for y in ys:
____for z in zs:
このようにxyzの多重ループで
zからyの所に抜けたい場合とzからxに抜けたい場合に
書き分けられる構文 python3にある?
perl5 で書くとこんなラベル構文がある
URLリンク(ideone.com)

446:デフォルトの名無しさん
24/03/12 22:53:07.42 uGnBKOkv.net
URLリンク(github.com)
シンプルなようで厳格化するのはたいへんでおもしろい

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

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

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

450:デフォルトの名無しさん
24/03/12 23:22:29.84 oG8PduKS.net
>>437
きっちりつか、autopep8かけるだけ。

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

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

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

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

455:デフォルトの名無しさん
24/03/13 08:38:24.40 6IE1D2aF.net
javaだな

456:デフォルトの名無しさん
24/03/13 12:46:02.87 q50ahorY.net
>>441
インデントが空白4文字であることと入れ子を3重にしないことの因果関係が不明
関数やブリッジを介在した方がわかりにくいコードになることもあるぞ
そもそもCでも空白4文字インデントを使うことが多いが、
普通に3重ループは出てくるでしょ
例えばここ
URLリンク(github.com)
波括弧がないからlambdaでreturnを持つ複数の文を1つの式で扱えないとかだったらわかるけど、
インデントは関係ないでしょ
綺麗なコードを設計しよう、書こうとしてさまざまななテクニックを知ろうとする意識は大事だと思うけど、
実践なしに本とかに書かれてた「このテクニックはこういうときに使う」を鵜呑みにして、
テクニックを使わない方が見通しが良くなるような簡単な場合にも無理に使おうとするのは
よくないと思うけどなあ。デザインパターンの濫用みたいな感じ。
戻り値で判定はあり得ても例外はあり得ないわ。
誤用としか言いようがない。

457:デフォルトの名無しさん
24/03/13 13:02:27.40 q3MDl01V.net
for~else ってなんか直感的じゃない気がするんだけど、なんで「else」なの?
completed
breaked, aborted
finally
みたいな単語なら分かりやすいのに。

458:デフォルトの名無しさん
24/03/13 13:27:55.78 baZhL1uT.net
すげえ大昔からあるんだな
URLリンク(stackoverflow.com)

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

460:デフォルトの名無しさん
24/03/13 15:54:43.36 m9o7WxBh.net
>>439
それ用の構文は無い
大域脱出の代替手段はいくつかあるけど基本的には早期リターンで対応する
その例だと内側の2重ループを関数化してbreak, continue, return(もしくはyield)で対処可
>>451
for-elseはBad Partsなので使わない
Effective Pythonにも使うなと書いてある
よくある”not found”みたいな処理はfor文の一部としてではなく
一つ上位でハンドリングすべき処理なので役割分担が間違ってる

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

462:デフォルトの名無しさん
24/03/14 19:42:58.77 4bFX29zW.net
pythonをサーバーでプロジェクトルートを認識させられない
NoModuleNamed"プロジェクトのフォルダー名"になる
herokuなんだけど

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

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

465:デフォルトの名無しさん
24/03/15 13:15:14.89 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()

466:デフォルトの名無しさん
24/03/15 13:15:36.25 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()

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

468:デフォルトの名無しさん
24/03/15 15:38:52.20 NWS7XA3x.net
>>461
これを試してみてくれ
point = np.array([0, -center_y])
x = rotated_point[0] + center_x
y = rotated_point[1] + center_y

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

470:デフォルトの名無しさん
24/03/15 17:26:12.14 8JWNUOHY.net
>>456
なんで?

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

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

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

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

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

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

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

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

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

476:デフォルトの名無しさん
24/03/16 00:23:50.73 tIIuw8RV.net
いやいや

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

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

479:デフォルトの名無しさん
24/03/16 03:10:31.74 KKwFKDp9.net
全部gotoやろなあ

480:デフォルトの名無しさん
24/03/16 05:06:55.01 aWIocRO6.net
herokuにアップしたらドメインとフォルダーの間のスラッシュが何故か2つになって恐らくそのせいで404とcors error出る
ローカルではちゃんと動くし有り得そうなところは全部見たんだが
もうfastapi、react、herokuのどれのせいなのかわからなくて積んだ
elastic beanstalk に変えてデプロイし直すか.....

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

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

goto if false
goto if no exception
goto if no break

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

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

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

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

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

488:デフォルトの名無しさん
24/03/16 23:03:57.53 1SZ3hjNN.net
forのelseというのは
forに対するelseではなく
forのループの条件式に対するelse
だから意味は違っても内部処理は同一となる
なのでif-elseをループさせてやるとfor-elseと同じ処理を再現できる
URLリンク(ideone.com)

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

490:デフォルトの名無しさん
24/03/18 19:10:03.43 mMZjYpOD.net
ωってPyPyに似てるよね

491:デフォルトの名無しさん
24/03/18 22:57:43.88 k+0BFsOa.net
おいなりさんだろ

492:デフォルトの名無しさん
24/03/20 21:07:42.45 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を受け取れるようにするにはどうすれば?

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

494:デフォルトの名無しさん
24/03/20 21:27:30.26 g3UAOGQ4.net
>>487
サンクス
できました

495:デフォルトの名無しさん
24/03/25 21:04:47.80 ybmcJkp8.net
def myfunc():
__myfunc.initialized = True
こういうのってあり?
1年くらいpython勉強してきて、先日初めて見かけたんだけど
ちょっとおどろいてしまって

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

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

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

499:デフォルトの名無しさん
24/03/26 04:38:00.60 vQ76deH4.net
"initialized" て何?

500:デフォルトの名無しさん
24/03/26 09:15:41.63 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
>>>

501:デフォルトの名無しさん
24/03/26 09:32:42.21 VDce1kQ4.net
アンスコはインデントのことやろ

502:デフォルトの名無しさん
24/03/26 10:24:26.34 1hPeYZqd.net
www

503:デフォルトの名無しさん
24/03/26 10:40:59.11 oEfu3HhX.net


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

505:デフォルトの名無しさん
24/03/26 11:22:52.88 cN9vnyja.net
気持ちはわかるが………
URLリンク(i.imgur.com)

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

507:デフォルトの名無しさん
24/03/26 12:34:45.39 rLv5Wa1V.net
template metaprogramming に匹敵する犯罪

508:デフォルトの名無しさん
24/03/26 12:38:21.94 HGM8+XQV.net
>>499
それはクロージャかクラスを使うべきケース
状態を外から更新したいならクラスを
更新されたくないならクロージャを使う
副作用じゃなく値を返すのがメインならジェネレータも選択肢の一つ

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

510:デフォルトの名無しさん
24/03/26 15:17:24.89 /6tigVoe.net
pylanceって何?

511:デフォルトの名無しさん
24/03/30 09:21:28.53 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したい。どうしたら?

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

513:505
24/03/31 06:27:21.58 r7c9jkcO.net
>>506
python3.1 はもう無い。

514:デフォルトの名無しさん
24/03/31 12:09:50.75 sPPO74qw.net
$ pip list ―path python3.1/site-packages

515:505
24/03/31 17:11:49.91 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
------- -------


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

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

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

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

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

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

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

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

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

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

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

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

528:デフォルトの名無しさん
24/04/26 20:01:21.45 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を計算しています。実際の取引データを使用する際には、それに応じてデータを入力してください。

529:デフォルトの名無しさん
24/04/26 20:15:58.39 SscvQYbj.net
ドキュメント読めよ

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

531:デフォルトの名無しさん
24/04/29 05:58:27.57 sMTBjD6w.net
ちゃす
質問す
プログラミングのロジックを考える時に使える考え方ありますかね
入力と出力を考えるといいますが、関数の引数が入力、返り値が出力といいますか?

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

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

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

535:デフォルトの名無しさん



536:>2024/04/29(月) 12:40:37.42 ID:sMTBjD6w.net



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

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

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

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

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

541:デフォルトの名無しさん
24/04/29 16:30:19.78 7kmh2Muz.net
>>525
>関数の引数が入力、返り値が出力といいますか?
話の文脈によるんだけど「関数の入出力」が引数と返り値だけを指してる場合もあれば
それ以外の外部状態からの入力や出力なんかを含む場合もある
プログラム設計時に関数の入出力を考える場合は
引数や返り値以外も考えないといけないので広い意味も頭に入れておいたほうがいい
>>529
>材料→材料の処理→結果、というのがプログラムの基本なんすかね
上に書いた広い意味で言うなら
指示と材料が入力で結果(成否等)と加工した材料が出力
これが基本
指示―> 処理 ―>処理結果 
材料―>    ―>加工した材料

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

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

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

545:デフォルトの名無しさん
24/04/30 12:17:12.46 e06sRc0C.net
>>536
普通にできるでしょ
(0, 1) > (0, 2) => False
(1, 1) > (0, 2) => True
Tupleの場合は内部的にそれぞれの要素を取り出して比較されてるけどね

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

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

548:デフォルトの名無しさん
24/04/30 18:08:16.92 7kO3MDXp.net
>>538
>>540
どうもっす

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

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

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

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

553:デフォルトの名無しさん
24/05/01 13:34:16.61 OSMPRnYB.net
実際のプログラムだとソートする関数は用意されてるから自ら実装する事は無い
ソートはあくまでもアルゴリズムを学ぶ上での教材的な感じ

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

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

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

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

558:デフォルトの名無しさん
24/05/12 12:51:00.18 Z6PeNQRU.net
そういや、ぷよぷよかなにかのヤツどこ行った?
同一人物?

559:デフォルトの名無しさん
24/05/15 16:15:32.43 Ui7vW0sT.net
pythonを使って、既存のMicrosoft officeのファイル(.docファイルとか)の中身を調べたり取り出したりする事ってできますか?

560:デフォルトの名無しさん
24/05/15 16:58:28.85 OtQbYBA6.net
ああその通りだ

561:552
24/05/15 17:55:42.92 Ui7vW0sT.net
出来るみたいです

562:
24/05/15 21:59:57.58 QNLWEWL4.net
>>551
脳みそコネコネ、コンパイル。

563:デフォルトの名無しさん
24/05/16 20:50:07.99 +TVk7IrH.net
Pythonで処理した画像を連続してwebUIに送って動画にしたいんですけど、ローカルサーバーをスレッドで分けても全然動かないんです。
上手いやり方はあるんでしょうか?

564:デフォルトの名無しさん
24/05/16 22:01:41.29 s6fDlAb8.net
まあPythonじゃ無理じゃないかと
君の知る似たようなサービスでPython使ってるの見たことあるかね

565:デフォルトの名無しさん
24/05/17 09:13:18.34 n7lyb5r2.net
>>557
そうなの? 単にファイルを httpdにアップロードするのとちゃうの?

566:デフォルトの名無しさん
24/05/18 02:42:21.17 Y3svyv5q.net
Image Magick, libvips などで、
連続画像を動画や、gif アニメに変換できないの?

567:デフォルトの名無しさん
24/05/18 05:29:10.65 +oV5woho.net
静的にファイル変換じゃなく
リアルタイム配信したいんとちゃう

568:デフォルトの名無しさん
24/05/18 15:28:18.14 Nno4tBsF.net
Pythonじゃ無理ってことはないけど、Javascriptで画像を動画のように表示する方法がわからないとPython側をどう実装したらいいかもわからないのでは

569:デフォルトの名無しさん
24/05/18 15:48:07.52 cxC1UrsB.net
webUIってお絵かきAIのUIの事を言ってる気がする

570:デフォルトの名無しさん
24/05/19 17:51:21.58 MUvRAHvn.net
JavaScriptが嫌でPythonに逃げたのに
Webやるなら結局JavaScriptから逃れられない

571:デフォルトの名無しさん
24/05/19 18:18:51.96 b9wC29CZ.net
>>563
Webやらなきゃいいじゃん
覚えることが大杉て向かない人にはとことん向かない

572:デフォルトの名無しさん
24/05/19 18:29:56.96 R0BEkzb0.net
>>563
こういう馬鹿な人っているよね
結局、何がどうなっているのかわからん人なのだろう

573:デフォルトの名無しさん
24/05/19 18:52:17.68 EZ0vB2tL.net
>>563
たまたまホットな言語になっているのでpython腐るのはとうぶん先
気合でJavaScriptしてこい

574:デフォルトの名無しさん
24/05/19 19:18:30.80 1dVUvEdV.net
javascriptの何が難しいのかわからん

575:
24/05/19 20:04:35.82 j/RUVR5T.net
>>558
順番を制御する必要がある。

576:
24/05/19 20:07:09.84 j/RUVR5T.net
Pythonは構文解析エンジンの作りが下手だったせいで、コンテナなどは変な構文で対処するはめになった。
作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。

577:デフォルトの名無しさん
24/05/19 21:12:03.22 b9wC29CZ.net
>>567
Pythonは簡単に覚えられたけどJavaScriptはダメだった
何の特徴もないので頭に入らない

578:デフォルトの名無しさん
24/05/19 21:25:11.71 ThBHY2c/.net
JavaScriptはブラウザ内で多数のイベントが非同期に発生しつつ並行して動く必要があるための仕様とランタイムを備えた言語だからね
そのような実用環境ではPythonだと色々と無理があるんよ
JavaScriptを習得したほうが良いでしょう

579:デフォルトの名無しさん
24/05/19 21:43:45.99 n4puDrtS.net
生のJSじゃなくてもtypescriptとかもあるけど?

580:デフォルトの名無しさん
24/05/19 21:51:27.11 1dVUvEdV.net
>>570
特徴がないとは?
Webフロントで100%使われてるんだが
つまり理解できていないだけだろ

581:デフォルトの名無しさん
24/05/19 22:58:44.91 dpzcJCd+.net
>>571
> 非同期に発生
あれ、非同期だっけ?

582:デフォルトの名無しさん
24/05/19 23:22:52.01 FYT65XYX.net
Webのイベントの非同期ってのは言語仕様とほとんど関係ないと思うがな

583:デフォルトの名無しさん
24/05/20 00:04:59.52 XCNT6iUc.net
非同期・並行に動くのがJavaScriptの特徴だよ

584:デフォルトの名無しさん
24/05/20 00:07:58.83 XCNT6iUc.net
JSは継続渡しによって記述コードは継続できるけど
制御は一旦ランタイムに移って別のコードの処理が並行して動く

585:デフォルトの名無しさん
24/05/20 00:08:40.12 XCNT6iUc.net
そして再び非同期に元の継続コードに制御が戻ってくるんだよ

586:デフォルトの名無しさん
24/05/20 04:36:21.10 IVctLQWM.net
JSの難しさというかゴチャゴチャは複数人で開発すると顕著化する

587:デフォルトの名無しさん
24/05/20 04:37:36.57 IVctLQWM.net
>>576
違うぞ
勘違いしてる様だけど並行では無い

588:デフォルトの名無しさん
24/05/20 04:57:24.87 XCNT6iUc.net
>>580
(workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します
ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します

589:デフォルトの名無しさん
24/05/20 07:48:45.56 lmso/U+6.net
async/await が導入されてからは並行処理と言えるかもしれんが python にも導入されてるから
JS の特徴というほどのものでもないな。

590:デフォルトの名無しさん
24/05/20 08:56:05.71 oBw42F9L.net
PythonはOSがプラットフォームだけど
JSはブラウザとnodejsでだいぶ違うし
varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる

591:デフォルトの名無しさん
24/05/20 09:16:38.85 Rnmyv+xl.net
メインスレッドを止めても、worker側でイベント受け取れる?

592:デフォルトの名無しさん
24/05/26 00:09:03.41 J6Dn8duN.net
誘導されてきました

digits1="0123456789"
print(digits1[2:4])

これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん
インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?

593:デフォルトの名無しさん
24/05/26 00:45:27.61 EuHdBjWc.net
>>585
URLリンク(docs.python.org)
ここに載ってる
理解できなくてもいいからまずチュートリアルは一通り読んでほしい

594:デフォルトの名無しさん
24/05/26 00:48:13.48 jZlLPC0/.net
>>585
2<=i<4だと考えるといいよ
そうした方がいい理屈は以下の通り
リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい
l[:i] + l[i:] == l
まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による

595:デフォルトの名無しさん
24/05/26 00:48:19.96 EuHdBjWc.net
すまん
アンカーまちがえてるけど同じページのすこし手前に書いてる

596:デフォルトの名無しさん
24/05/26 05:11:49.24 5Cxfl8yi.net
Google colabでクロムドライバーをどこに置けばいいんですか?

597:デフォルトの名無しさん
24/05/27 06:00:49.16 qvFqCc+v.net
漏れ独自のやり方で良ければ、
漏れは、C: 直下に、適当な名前のフォルダを作って、
そこに、chrome driver を置いている。
C:/BrowserDriver/chromedriver.exe
そして、ユーザー環境変数・path に、そのフォルダのパスを追加する。
C:\BrowserDriver
環境変数・path は、Powershell で以下で確認できる。
$env:Path.split( ";" )

598:デフォルトの名無しさん
24/05/27 20:12:43.14 Hlp/8xqP.net
>>590
有難うございます、試してみます

599:デフォルトの名無しさん
24/05/29 21:20:05.17 SBPtCrlE.net
ある程度自由にデザインできて作りやすいGUIのライブラリって何がありますか?CustomTKinter?
でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?

600:デフォルトの名無しさん
24/05/29 21:22:50.04 SBPtCrlE.net
あ、でもそんなに難しく無いですね
Custom TKinterくらいがちょうど良い
これでいきます

601:デフォルトの名無しさん
24/05/29 23:25:41.17 SBPtCrlE.net
やっぱりPySimpeGUIにした
わかりやすいので

602:デフォルトの名無しさん
24/05/31 08:16:19.69 zAziLKIc.net
>>586
読みましたわかんないです

603:デフォルトの名無しさん
24/05/31 08:19:43.69 5P0I5zKD.net
abcde
という文字の一部を選択するときに
0a1b2c3d4e5
というように0から数える言語じゃなかったか?python3

604:デフォルトの名無しさん
24/05/31 09:16:40.63 Rfc8mm4q.net
>>596
唐突になに?

605:デフォルトの名無しさん
24/05/31 10:27:03.30 9rLTVgTT.net
とうぜん585の答えの理由だよ
いいかげんに判れよ
数え方が間違っているんだよ

606:デフォルトの名無しさん
24/05/31 10:57:52.41 TyV+wAs5.net
>>585の話ならmylist[start: stop]のstopで指定した箇所が
スライスに含まれるのか含まれないかの話だから
0から数えるかどうかは関係ない
だから>>597の感想も頷ける

607:デフォルトの名無しさん
24/05/31 11:17:11.06 xqNBz4cX.net
決めの話でもあるけど半開区間のが書くコードが素直になる

608:デフォルトの名無しさん
24/05/31 12:39:47.52 9rLTVgTT.net
スタートオフセットと終了オフセットね
list[x]のxと異なる

609:デフォルトの名無しさん
24/05/31 13:52:28.81 ixAaAqDb.net
そうそう、>>596の言うように、スライスで指定する値は各要素そのものの位置ではなくて、要素と要素の間の位置なんだよね。
0●1●2●3… (●は要素)

これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch