【まず1嫁】くだすれPython(超初心者用) その59
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だからスルー推奨だよ。
551 :デフォルトの名無しさん :2024/05/12(日) 12:51:00.18 ID:Z6PeNQRU.net そういや、ぷよぷよかなにかのヤツどこ行った? 同一人物?
552 :デフォルトの名無しさん :2024/05/15(水) 16:15:32.43 ID:Ui7vW0sT.net pythonを使って、既存のMicrosoft officeのファイル(.docファイルとか)の中身を調べたり取り出したりする事ってできますか?
553 :デフォルトの名無しさん :2024/05/15(水) 16:58:28.85 ID:OtQbYBA6.net ああその通りだ
554 :552 :2024/05/15(水) 17:55:42.92 ID:Ui7vW0sT.net 出来るみたいです
555 : :2024/05/15(水) 21:59:57.58 ID:QNLWEWL4.net >>551 脳みそコネコネ、コンパイル。
556 :デフォルトの名無しさん :2024/05/16(木) 20:50:07.99 ID:+TVk7IrH.net Pythonで処理した画像を連続してwebUIに送って動画にしたいんですけど、ローカルサーバーをスレッドで分けても全然動かないんです。 上手いやり方はあるんでしょうか?
557 :デフォルトの名無しさん :2024/05/16(木) 22:01:41.29 ID:s6fDlAb8.net まあPythonじゃ無理じゃないかと 君の知る似たようなサービスでPython使ってるの見たことあるかね
558 :デフォルトの名無しさん :2024/05/17(金) 09:13:18.34 ID:n7lyb5r2.net >>557 そうなの? 単にファイルを httpdにアップロードするのとちゃうの?
559 :デフォルトの名無しさん :2024/05/18(土) 02:42:21.17 ID:Y3svyv5q.net Image Magick, libvips などで、 連続画像を動画や、gif アニメに変換できないの?
560 :デフォルトの名無しさん :2024/05/18(土) 05:29:10.65 ID:+oV5woho.net 静的にファイル変換じゃなく リアルタイム配信したいんとちゃう
561 :デフォルトの名無しさん :2024/05/18(土) 15:28:18.14 ID:Nno4tBsF.net Pythonじゃ無理ってことはないけど、Javascriptで画像を動画のように表示する方法がわからないとPython側をどう実装したらいいかもわからないのでは
562 :デフォルトの名無しさん :2024/05/18(土) 15:48:07.52 ID:cxC1UrsB.net webUIってお絵かきAIのUIの事を言ってる気がする
563 :デフォルトの名無しさん :2024/05/19(日) 17:51:21.58 ID:MUvRAHvn.net JavaScriptが嫌でPythonに逃げたのに Webやるなら結局JavaScriptから逃れられない
564 :デフォルトの名無しさん :2024/05/19(日) 18:18:51.96 ID:b9wC29CZ.net >>563 Webやらなきゃいいじゃん 覚えることが大杉て向かない人にはとことん向かない
565 :デフォルトの名無しさん :2024/05/19(日) 18:29:56.96 ID:R0BEkzb0.net >>563 こういう馬鹿な人っているよね 結局、何がどうなっているのかわからん人なのだろう
566 :デフォルトの名無しさん :2024/05/19(日) 18:52:17.68 ID:EZ0vB2tL.net >>563 たまたまホットな言語になっているのでpython腐るのはとうぶん先 気合でJavaScriptしてこい
567 :デフォルトの名無しさん :2024/05/19(日) 19:18:30.80 ID:1dVUvEdV.net javascriptの何が難しいのかわからん
568 : :2024/05/19(日) 20:04:35.82 ID:j/RUVR5T.net >>558 順番を制御する必要がある。
569 : :2024/05/19(日) 20:07:09.84 ID:j/RUVR5T.net Pythonは構文解析エンジンの作りが下手だったせいで、コンテナなどは変な構文で対処するはめになった。 作った本人は当時のパソコンの性能では難しかったと言い訳するだろうが。
570 :デフォルトの名無しさん :2024/05/19(日) 21:12:03.22 ID:b9wC29CZ.net >>567 Pythonは簡単に覚えられたけどJavaScriptはダメだった 何の特徴もないので頭に入らない
571 :デフォルトの名無しさん :2024/05/19(日) 21:25:11.71 ID:ThBHY2c/.net JavaScriptはブラウザ内で多数のイベントが非同期に発生しつつ並行して動く必要があるための仕様とランタイムを備えた言語だからね そのような実用環境ではPythonだと色々と無理があるんよ JavaScriptを習得したほうが良いでしょう
572 :デフォルトの名無しさん :2024/05/19(日) 21:43:45.99 ID:n4puDrtS.net 生のJSじゃなくてもtypescriptとかもあるけど?
573 :デフォルトの名無しさん :2024/05/19(日) 21:51:27.11 ID:1dVUvEdV.net >>570 特徴がないとは? Webフロントで100%使われてるんだが つまり理解できていないだけだろ
574 :デフォルトの名無しさん :2024/05/19(日) 22:58:44.91 ID:dpzcJCd+.net >>571 > 非同期に発生 あれ、非同期だっけ?
575 :デフォルトの名無しさん :2024/05/19(日) 23:22:52.01 ID:FYT65XYX.net Webのイベントの非同期ってのは言語仕様とほとんど関係ないと思うがな
576 :デフォルトの名無しさん :2024/05/20(月) 00:04:59.52 ID:XCNT6iUc.net 非同期・並行に動くのがJavaScriptの特徴だよ
577 :デフォルトの名無しさん :2024/05/20(月) 00:07:58.83 ID:XCNT6iUc.net JSは継続渡しによって記述コードは継続できるけど 制御は一旦ランタイムに移って別のコードの処理が並行して動く
578 :デフォルトの名無しさん :2024/05/20(月) 00:08:40.12 ID:XCNT6iUc.net そして再び非同期に元の継続コードに制御が戻ってくるんだよ
579 :デフォルトの名無しさん :2024/05/20(月) 04:36:21.10 ID:IVctLQWM.net JSの難しさというかゴチャゴチャは複数人で開発すると顕著化する
580 :デフォルトの名無しさん :2024/05/20(月) 04:37:36.57 ID:IVctLQWM.net >>576 違うぞ 勘違いしてる様だけど並行では無い
581 :デフォルトの名無しさん :2024/05/20(月) 04:57:24.87 ID:XCNT6iUc.net >>580 (workerを使わない昔からの)JavaScriptはシングルスレッドで並行(concurrent)に動作します ちなみに(後に導入された)workerを用いるとマルチスレッドで並列(parallel)にも動作します
582 :デフォルトの名無しさん :2024/05/20(月) 07:48:45.56 ID:lmso/U+6.net async/await が導入されてからは並行処理と言えるかもしれんが python にも導入されてるから JS の特徴というほどのものでもないな。
583 :デフォルトの名無しさん :2024/05/20(月) 08:56:05.71 ID:oBw42F9L.net PythonはOSがプラットフォームだけど JSはブラウザとnodejsでだいぶ違うし varとconst/let混ざったコードなんかに遭遇すると頭おかしくなる
584 :デフォルトの名無しさん :2024/05/20(月) 09:16:38.85 ID:Rnmyv+xl.net メインスレッドを止めても、worker側でイベント受け取れる?
585 :デフォルトの名無しさん :2024/05/26(日) 00:09:03.41 ID:J6Dn8duN.net 誘導されてきました digits1="0123456789" print(digits1[2:4]) これで文字列"23"が返ってくるんだが"234"にならない理由ががわからん インデックスが0から始まってるからインデックス2番目からインデックス4番目までの文字を表示するんじゃないの?
586 :デフォルトの名無しさん :2024/05/26(日) 00:45:27.61 ID:EuHdBjWc.net >>585 https://docs.python.org/ja/3/tutorial/introduction.html#lists ここに載ってる 理解できなくてもいいからまずチュートリアルは一通り読んでほしい
587 :デフォルトの名無しさん :2024/05/26(日) 00:48:13.48 ID:jZlLPC0/.net >>585 2<=i<4だと考えるといいよ そうした方がいい理屈は以下の通り リストlをiで分けるとき、以下が成り立っていると見た目でスッキリして嬉しい l[:i] + l[i:] == l まあ思想の問題なんで上記のものがスッキリと感じるか感じないかは人による
588 :デフォルトの名無しさん :2024/05/26(日) 00:48:19.96 ID:EuHdBjWc.net すまん アンカーまちがえてるけど同じページのすこし手前に書いてる
589 :デフォルトの名無しさん :2024/05/26(日) 05:11:49.24 ID:5Cxfl8yi.net Google colabでクロムドライバーをどこに置けばいいんですか?
590 :デフォルトの名無しさん :2024/05/27(月) 06:00:49.16 ID:qvFqCc+v.net 漏れ独自のやり方で良ければ、 漏れは、C: 直下に、適当な名前のフォルダを作って、 そこに、chrome driver を置いている。 C:/BrowserDriver/chromedriver.exe そして、ユーザー環境変数・path に、そのフォルダのパスを追加する。 C:\BrowserDriver 環境変数・path は、Powershell で以下で確認できる。 $env:Path.split( ";" )
591 :デフォルトの名無しさん :2024/05/27(月) 20:12:43.14 ID:Hlp/8xqP.net >>590 有難うございます、試してみます
592 :デフォルトの名無しさん :2024/05/29(水) 21:20:05.17 ID:SBPtCrlE.net ある程度自由にデザインできて作りやすいGUIのライブラリって何がありますか?CustomTKinter? でもこれでもちょっとわかりにくいけど、我慢してコードの書き方を覚えるしかない?
593 :デフォルトの名無しさん :2024/05/29(水) 21:22:50.04 ID:SBPtCrlE.net あ、でもそんなに難しく無いですね Custom TKinterくらいがちょうど良い これでいきます
594 :デフォルトの名無しさん :2024/05/29(水) 23:25:41.17 ID:SBPtCrlE.net やっぱりPySimpeGUIにした わかりやすいので
595 :デフォルトの名無しさん :2024/05/31(金) 08:16:19.69 ID:zAziLKIc.net >>586 読みましたわかんないです
596 :デフォルトの名無しさん :2024/05/31(金) 08:19:43.69 ID:5P0I5zKD.net abcde という文字の一部を選択するときに 0a1b2c3d4e5 というように0から数える言語じゃなかったか?python3
597 :デフォルトの名無しさん :2024/05/31(金) 09:16:40.63 ID:Rfc8mm4q.net >>596 唐突になに?
598 :デフォルトの名無しさん :2024/05/31(金) 10:27:03.30 ID:9rLTVgTT.net とうぜん585の答えの理由だよ いいかげんに判れよ 数え方が間違っているんだよ
599 :デフォルトの名無しさん :2024/05/31(金) 10:57:52.41 ID:TyV+wAs5.net >>585 の話ならmylist[start: stop]のstopで指定した箇所が スライスに含まれるのか含まれないかの話だから 0から数えるかどうかは関係ない だから>>597 の感想も頷ける
600 :デフォルトの名無しさん :2024/05/31(金) 11:17:11.06 ID:xqNBz4cX.net 決めの話でもあるけど半開区間のが書くコードが素直になる
601 :デフォルトの名無しさん :2024/05/31(金) 12:39:47.52 ID:9rLTVgTT.net スタートオフセットと終了オフセットね list[x]のxと異なる
602 :デフォルトの名無しさん :2024/05/31(金) 13:52:28.81 ID:ixAaAqDb.net そうそう、>>596 の言うように、スライスで指定する値は各要素そのものの位置ではなくて、要素と要素の間の位置なんだよね。 0●1●2●3… (●は要素) これが理解できると、マイナス指定で逆から取り出したりとかもすぐに分かるようになるかと。
603 :デフォルトの名無しさん :2024/05/31(金) 15:02:02.41 ID:z4TXzonv.net ぶっちゃけそれは違う そういう説明じゃないと理解できない人向けの説明としては意味があると思うけどいつまでも引きずるものじゃない
604 :デフォルトの名無しさん :2024/05/31(金) 15:08:57.01 ID:MpCbGIxa.net べつに問題ないと思うがなあ。 グラフィックスで言うピクセル座標に対するグリッド座標系の話と同形。
605 :デフォルトの名無しさん :2024/05/31(金) 15:32:41.83 ID:xqNBz4cX.net ここで別の概念を導入しないと習得できないくらいじゃ先が思いやられるってだけで 問題の有無はこれからどこまで取り組むかによる
606 :デフォルトの名無しさん :2024/05/31(金) 16:00:35.87 ID:E++g7v66.net 要素の数はわかりやすいよな 引き算するだけでいいし
607 :デフォルトの名無しさん :2024/06/01(土) 16:32:50.72 ID:2v+0cLbq.net デザインパターンでオブジェクト指向を理解し始めたら、オブジェクト指向が廃れてしまった(´・ω・`)
608 :デフォルトの名無しさん :2024/06/01(土) 17:32:13.74 ID:C+czcv7n.net GUI作成ツールって無いの? グラフィックアプリみたいにウィジェットを配置したら、コードを書き出してくれるツール
609 :デフォルトの名無しさん :2024/06/01(土) 17:33:08.15 ID:wmmovTy+.net Qt
610 :デフォルトの名無しさん :2024/06/01(土) 19:46:57.51 ID:etHHxabq.net wx
611 :デフォルトの名無しさん :2024/06/01(土) 20:25:37.00 ID:Zt7v+i4d.net Qt Quickもぽとぺたできるけど人少なすぎてな…
612 :デフォルトの名無しさん :2024/06/03(月) 20:22:29.52 ID:MnZ0MIrt.net Anaconda3-2024.02-1-Windows-x86_64をインストールしたいのですが、 エラーが出て実行できません。OSはちょっと古くwindows7になります。 インストールしている最中、このようなエラーが発生します。 最初は『Failed to extract packages』のエラーです 略すと、パッケージの抽出に失敗しました。と言う内容です。 『無視』を押してインストールを進めると今度は、 Failed to link extracted packages to C:\Anaconda! というエラーが出ます。 抽出したパッケージを C:\Anaconda(インストール先フォルダ) にリンクできませんでした。 これも『無視』を押して進むと、Failed to initialize conda directoriesというエラーで ディレクトリの初期化に失敗しました。というエラーです。 これも無視してもインストールできるのですが、 インストールフォルダを開いて実行しようとすると、 コンピュータにapi-ms-win-core-path-l1-1-0.dllがないため、 プログラムを開始できませんでした。 というエラーが出ました。 こういうエラーはだいたい、Microsoft Visual C++が入ってないことが原因ですが、 私のPCには既に、 Microsoft Visual C++ Redistributable 2013 Microsoft Visual C++ Redistributable 2015-2022はインストールされています。 しかし、このエラーが出ます。 どうすればいいでしょうか?
613 :デフォルトの名無しさん :2024/06/03(月) 21:50:52.22 ID:3hY3UrlC.net >>612 馬鹿は何で勝手にエラーを無視するの? 馬鹿だから?
614 :デフォルトの名無しさん :2024/06/03(月) 23:56:17.44 ID:zK4G03Sv.net >パッケージの抽出に失敗しました エラーなのに、何でそこで処理を止めないの?
615 :デフォルトの名無しさん :2024/06/04(火) 01:31:12.37 ID:nKdfCONb.net >>614 そりゃ止めるべきですが、そこでインストールが終わってしまいます その後どうするんでしょうか
616 :デフォルトの名無しさん :2024/06/04(火) 01:47:07.24 ID:gWxOd/CS.net エラーの原因を調べて対処する or 「Failed to extract packages」みたいな原因も対処方法も分からない クソみたいなエラーメッセージしか出せないソフトウェアは今すぐ捨てる
617 :デフォルトの名無しさん :2024/06/04(火) 03:02:29.50 ID:hII/eoCO.net >>615 原因はいくつかあるけど、これをクリアしてもお前みたいな奴は結局無理だよ
618 :デフォルトの名無しさん :2024/06/04(火) 03:21:34.42 ID:hR2Ko9Dv.net あ、人を轢いちゃった でも時間に間に合わないからこのまま行こうっと 何か車の調子が変だな?がちゃがちゃ あ、また轢いちゃった まあいいや、このまま行かないと間に合わない あっ、信号が赤だけど停まれないからえいっ あー、ぶつけられた すみません、時間に間に合わせるにはどうしたら良いですか? こんな感じか?
619 :デフォルトの名無しさん :2024/06/04(火) 08:17:16.38 ID:f1zDzjkS.net きよし「二人寝てますよ」 やすし「轢いとるやないか!」
620 :デフォルトの名無しさん :2024/06/04(火) 11:44:28.70 ID:nKdfCONb.net >>612 こちらどうでしょうか?知っている人教えて下さい
621 :デフォルトの名無しさん :2024/06/04(火) 11:56:23.33 ID:C1T0aGVu.net >>620 >>616
622 :デフォルトの名無しさん :2024/06/04(火) 12:15:01.67 ID:f1zDzjkS.net >>620 類似事象があるようなので、「いいね」の付けられたレスの解法を試行するのはどうだろう。 https://community.anaconda.cloud/t/cant-install-failed-to-extract-packages-error/62687
623 :デフォルトの名無しさん :2024/06/04(火) 12:57:59.77 ID:v1hWPJDU.net >>612 Win7に対応してるのは2019-10まで https://docs.anaconda.com/free/anaconda/install/old-os/ pythonだけでいいならpython.org公式の3.8.10まで
624 :デフォルトの名無しさん :2024/06/04(火) 16:49:21.73 ID:tR+BuZi1.net ここは超初心者用ではあるけど、境界知能者用のスレではないよ
625 :デフォルトの名無しさん :2024/06/04(火) 23:07:28.09 ID:k5yNkVnV.net プログラマー板がまともだったことはない
626 :デフォルトの名無しさん :2024/06/05(水) 23:47:06.04 ID:ESv2AI1d.net >>622-623 ありがとうございます >>624 >>973 役に立たん荒らしのゴミが相手にされなかったから発狂してて草w死んどけよカスw
627 :デフォルトの名無しさん :2024/06/05(水) 23:48:44.31 ID:SEG9AGVJ.net pkg install python した方がよっぽど簡単なんじゃねw
628 :デフォルトの名無しさん :2024/06/06(木) 10:38:37.99 ID:1RUNBtFi.net anaconda、バージョン違いの小さな差異は本体だけでpyでバージョンごとに 個別管理できるようになったし有償化した(割に機能が見合っていない)ので 使い続ける意味あんまなくなったな。 ウチの会社でももう使わないように通達されてる。
629 :デフォルトの名無しさん :2024/06/06(木) 10:49:12.08 ID:qz5pj6nB.net またanacondaの話になるならanaconda専用スレ立てれば良い
630 :デフォルトの名無しさん :2024/06/06(木) 17:55:27.15 ID:+f7ZeVqk.net pipxが安全なのはわかるが使いにくいな pipxは見ずにpoetryだけ使えばいいのか
631 :デフォルトの名無しさん :2024/06/07(金) 01:52:33.37 ID:TKo/YskT.net >>612 こいつの本性が笑える Pythonのお勉強 Part72 https://mevius.5ch.net/test/read.cgi/tech/1703659345/970- の ID:ESv2AI1d0
632 :デフォルトの名無しさん :2024/06/07(金) 06:04:01.45 ID:+I6YMw89.net あれだけ煽っておいてよく同じ質問を同じ板でしたなw
633 :デフォルトの名無しさん :2024/06/07(金) 12:09:55.41 ID:dEUVRqD7.net pythonのパッケージマネージャーはいくつ出れば気が済むのか(´・ω・`)
634 :デフォルトの名無しさん :2024/06/07(金) 12:34:41.54 ID:q6BY+Kco.net 幾つのパッケージマネージャが出れば、君は Pythonをまともな言語と呼ぶのか。 友よ、その答は風に吹かれている。
635 :デフォルトの名無しさん :2024/06/07(金) 12:49:10.90 ID:XsPkgKWU.net PythonでのYAMLの処理で教えてください groupA: image: sampleA0.jpg section: - section1: aaa: 0 bbb: 0 - section2: bbb: 2 aaa: 1 image: sampleA2.jpg groupB: section: - section1: aaa: 123 - section2: image: sampleB1.jpg こんな感じのYAMLファイルがありまして、「image」キーを持つものの 最上位からの要素を得たいと思ってます 出力のイメージとしては、こんな感じです groupA: image: sampleA0.jpg groupA: section: - section1: image: sampleA2.jpg groupB: section: - section2: image: sampleB2.jpg 他にも、aaaやbbbのキーでも同様なことをしたいです なにかよい対応方法はありますか
636 :デフォルトの名無しさん :2024/06/07(金) 14:49:41.59 ID:SXd2mcAV.net groupA: image: sampleA0.jpg groupA: section: - section2: image: sampleA2.jpg groupB: section: - section2: image: sampleB2.jpg にならない理由は?
637 :デフォルトの名無しさん :2024/06/07(金) 15:25:32.07 ID:U/LNotLd.net いっぱいあるXPath相当がつかえるモジュールでもつかえば? YAML用じゃなくてもDict向けのでもいい
638 :デフォルトの名無しさん :2024/06/07(金) 16:31:15.75 ID:Z4LBLF5E.net Python はvenv、Ruby はrbenv、Node.js はnvm など、 各言語で異なるバージョンマネージャーを使う香具師は素人。 すべて使い方が異なるだろ プロは少なくとも数言語を使うから、 多言語バージョンマネージャーで使い方を統一する Linux のローカル開発なら、Docker を使うのが簡単だが、 日本人が作った、多言語バージョンマネージャーのanyenv で、rbenv, nodenv も使える。 pyenv も同様。 asdf でも、多言語の好みのバージョンを入れられる
639 :デフォルトの名無しさん :2024/06/07(金) 17:35:37.77 ID:wW+zlW8A.net >>635 pyyamlとboltonsのresearchを使う 後者は再帰的な処理を自作してもいい(dictとlistで場合分け)
640 :デフォルトの名無しさん :2024/06/08(土) 00:52:57.64 ID:TvmcjMCs.net >>633 pythonの破綻が見えてきてると俺は思う perlもcpanが腐って終わった
641 :デフォルトの名無しさん :2024/06/08(土) 00:54:05.76 ID:TvmcjMCs.net dockerは無駄多すぎだろ さすがに
642 :デフォルトの名無しさん :2024/06/08(土) 12:49:56.73 ID:JJO/Gn8n.net dockerがベスト vscodeのdevcontainerこそ人類がたどり着いた最高地点
643 :デフォルトの名無しさん :2024/06/08(土) 14:04:39.39 ID:pZ+rs27B.net 俺もvscode devcontainerの組み合わせが良い気がする(´・ω・`)
644 :デフォルトの名無しさん :2024/06/08(土) 14:22:11.33 ID:3whGHUAW.net みんなそんなdockerつかうのね
645 :デフォルトの名無しさん :2024/06/08(土) 14:41:09.17 ID:E87q1Rk2.net デプロイまで考えるとコンテナにしとくのがシンプル
646 :デフォルトの名無しさん :2024/06/08(土) 14:46:38.50 ID:dTYjDoY8.net 逆にDocker使ってない人見ると何で?って思うぐらいだよね
647 :デフォルトの名無しさん :2024/06/08(土) 15:29:59.02 ID:Dxs/ulLi.net 自分でコード書いてる時間が一番幸せなんじゃ
648 :デフォルトの名無しさん :2024/06/08(土) 17:55:04.64 ID:Hlb2wDxo.net >>644 といいかまともな開発してたらもう使うわないと環境が破綻する
649 :デフォルトの名無しさん :2024/06/08(土) 21:01:34.24 ID:D2c2x+th.net そんなもんデプロイ先の環境によるだろ
650 :デフォルトの名無しさん :2024/06/08(土) 23:58:06.46 ID:gE4A0CAK.net くだ質ですまんが教えてください Win11 + Python3.12.8 + vscode 環境で、 3 * 0.3 を計算させると8.99999...になってしまいます (期待している計算結果は0.9) 是正させるためには round(3 * 0.3 *10) / 10 をすればいいのはわかってるんですが、出来るだけコードを簡略化させたいのと、そもそも何故こんな結果になってしまうのかを出来れば知りたい、です
651 :デフォルトの名無しさん :2024/06/08(土) 23:59:19.96 ID:gE4A0CAK.net ごめん計算結果のとこは0.899999...の間違いです
652 :デフォルトの名無しさん :2024/06/09(日) 00:42:23.58 ID:DuD3W8cN.net ttps://docs.python.org/ja/3/tutorial/floatingpoint.html
653 :デフォルトの名無しさん :2024/06/09(日) 01:03:55.23 ID:KXbUABQj.net デデキントの切断という話でなくて単純に整数n,mによる n/mをサポートする型がデフォルトではないから そういう有理数正確に扱える↓を使え fractions -> Rational numbers
654 :デフォルトの名無しさん :2024/06/09(日) 01:19:56.30 ID:KXbUABQj.net 不動点少数は高速でメモリ消費が少ないのでpythonのデフォルト型には似合ってるよ でももし、こうした計算が頻回あるいは重要に行なわれるなら デフォルトで有理数をサポートした言語 common_lisp,R,wolfram等が良いだろう また無理数も正確に扱いたいならwolframを薦めとく。これはsin(2pi)=0を返す珍しい言語だ
655 :デフォルトの名無しさん :2024/06/09(日) 06:20:23.00 ID:zJwQQmGc.net サンクス 言語仕様なら仕方ないか 仮想通貨の自動売買用にpythonを始めたんだけど、今のところ他の言語に切り替える考えはないっす あと調べたらdecimalってモジュールもあって、これを使ってもスッキリ書けそうね
656 :デフォルトの名無しさん :2024/06/09(日) 09:38:02.01 ID:XLDZv0sl.net 浮動小数点数は言語仕様というと違和感があるな どの言語でもほぼ同じ問題出るだろうし
657 :デフォルトの名無しさん :2024/06/09(日) 09:39:22.17 ID:XLDZv0sl.net >是正させるためには >round(3 * 0.3 *10) / 10 >をすればいいのはわかってるんですが こんなことしたらダメでしょ
658 :デフォルトの名無しさん :2024/06/09(日) 10:37:28.45 ID:0/tKVw6D.net Decimalは使いづらいんだよね Decimal('3') * Decimal('0.3')とかいちいちやってられん
659 :デフォルトの名無しさん :2024/06/09(日) 11:41:31.33 ID:lrgfA1Gl.net 継承と合成どちらを使うべきかと基準がよくわからんなぁ(´・ω・`)
660 :デフォルトの名無しさん :2024/06/09(日) 17:04:58.68 ID:Fa41Tv3c.net >>658 >>> 3 * Decimal('0.3') Decimal('0.9') 演算子オーバーロードしてるから1箇所でいい >>> Decimal(3) * '0.3' TypeError: can't multiply sequence by non-int of type 'decimal.Decimal' でもこう書けないんだよな >>> Decimal(3) * 3 / 10 Decimal('0.9')
661 :デフォルトの名無しさん :2024/06/10(月) 15:55:09.93 ID:YXHAsqQy.net >>> Decimal(3) * Decimal(3/10) Decimal('0.8999999999999999666933092612') だっさ
662 :デフォルトの名無しさん :2024/06/10(月) 16:09:43.37 ID:17x/k5Bx.net まじか decimal だらしねーな お手本 [1]> (* 3 (/ 3 10)) 9/10
663 :デフォルトの名無しさん :2024/06/10(月) 17:41:53.13 ID:8JGo2SkV.net >>> Decimal(3/10) Decimal('0.299999999999999988897769753748434595763683319091796875') >>> Decimal(3/10).quantize(Decimal('0.0')) Decimal('0.3') エスパーしない方針だから
664 :デフォルトの名無しさん :2024/06/10(月) 21:30:34.55 ID:RgnmhcQ5.net >>661 クソだっさwww
665 :デフォルトの名無しさん :2024/06/11(火) 10:00:28.46 ID:ufFRRQKE.net ↓俺の考えた最強のスマートな書式を語れ
666 :デフォルトの名無しさん :2024/06/11(火) 11:06:34.00 ID:GrH0S5VC.net >>> Decimal('3.0') だっさpgr
667 :デフォルトの名無しさん :2024/06/11(火) 11:19:18.72 ID:GtLbEh/G.net perlの2番煎じにはなるが import XXX で オーバーライドしてくれればいいね
668 :デフォルトの名無しさん :2024/06/11(火) 20:03:54.96 ID:NWbfM0Iu.net C++プログラマーだが、 エディタは何使えばええの? Visual Studioは一応動くが…
669 :デフォルトの名無しさん :2024/06/11(火) 20:27:59.97 ID:OZZ7Wa3f.net 汎用でつかえるのはPyCharmかVSCodeかな 用途とマッチするならJupyter/Colabもいける
670 :668 :2024/06/12(水) 08:58:44.17 ID:j9iMATnj.net >>669 一番高機能なのはVS Codeかね? Colabが本格開発に無理なので、探してたところ。
671 :デフォルトの名無しさん :2024/06/13(木) 07:44:44.26 ID:W4hE6ovf.net 環境を整え無くてもいいPyCharmが楽だな
672 :デフォルトの名無しさん :2024/06/13(木) 13:05:54.68 ID:vNUeXKFR.net 会社の糞PCだとPyCharmが重いんだわ
673 :デフォルトの名無しさん :2024/06/13(木) 13:21:14.57 ID:Uc7cK+cC.net パイチャ!
674 :デフォルトの名無しさん :2024/06/17(月) 12:06:22.09 ID:2+GH8Qi6.net モジュールAのMainクラスがモジュールBに書いたSubクラスのインスタンスを生成する 型ヒントのためにAはBの、BはAの参照するから相互参照になっちゃうんだけど typing typechecking使えば回避できるとして これって根本的にどう作って相互参照回避すべきなんだ?
675 :デフォルトの名無しさん :2024/06/17(月) 12:17:35.59 ID:a7DQgjMw.net シチュエーションが謎で理解できてないけど インターフェースとして上位クラスをつくる
676 :デフォルトの名無しさん :2024/06/17(月) 12:44:35.82 ID:laKFnUpc.net 循環しちゃうのは速度落ちてメモリ消費してしまうけど記憶しといたのと照し合わせる手法がある
677 :デフォルトの名無しさん :2024/06/17(月) 12:50:19.30 ID:Me30jdtI.net >>674 その状況だとBはAをインポートする必要いやろ よくあるのはtyping用のスタブモジュールを作る方法
678 :デフォルトの名無しさん :2024/06/17(月) 14:24:03.32 ID:KAevd3qc.net >>677 A.py App() B.py Win() winがコンストラクタでsuper().__init__(app.root)するとき App渡せないとroot見えないって言われてしまう
679 :デフォルトの名無しさん :2024/06/17(月) 15:22:40.07 ID:Me30jdtI.net >>678 その例だとWinが依存すべきなのはAppそのものじゃなく Appが継承してる型だったり実装してるインターフェースの型 tkを例にすればWinが依存するのはAppそのものじゃなくtk.Tkやtk.Widget AとBの相互依存から共通で依存する抽象度の高いCを切り出すことで AはBとCに依存、BはCに依存、CはAにもBにも依存しない形になる
680 :デフォルトの名無しさん :2024/06/18(火) 23:47:26.99 ID:l8Y5coIJ.net >>679 仕様上サブがメインのいくつかに依存するから丸ごと渡してたけど rootと、必要な位存箇所だけ渡すようにすればいいのね
681 :デフォルトの名無しさん :2024/06/19(水) 07:39:14.75 ID:Ml7xOhwE.net __init__.py 描けば良いのに
682 :デフォルトの名無しさん :2024/06/19(水) 08:41:26.42 ID:oNcSZ2Oe.net C言語系は数年やっていてpythonのお勉強してるので質問させてくれ @propertyを使用してgetter/setterを作れるのが分かりました このプロパティをprotectedにするにはどうしたらいいですか?
683 :デフォルトの名無しさん :2024/06/19(水) 09:10:58.03 ID:Of90IDaN.net >>682 この辺の話かな? ttps://note.com/yucco72/n/nfc5ba5321567
684 :デフォルトの名無しさん :2024/06/19(水) 10:07:39.70 ID:Ml7xOhwE.net >>683 そいつ馬鹿やな 痒い所に手が届いてる好例なのに
685 :デフォルトの名無しさん :2024/06/19(水) 10:48:00.65 ID:EzJYrWWw.net >>680 サブがメインに依存するという仕様がよろしくないんだよ 依存性の方向を一方通行にするというのがモジュール設計の大原則
686 :デフォルトの名無しさん :2024/06/19(水) 11:37:31.50 ID:ANMSl1mg.net >>685 そうはいってもどんな場合でも回避できるわけじゃないでしょ うまく切り出せば回避できるかもしれないけど、見通しが悪く不自然になる場合があると思う 今自分が困ってるのは先生と生徒の関係で、先生は生徒を何人か選ぶのだけど、先生の事情もあるし、生徒のスケジュールもあるしで、 先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってるんだけど かなり先生と生徒が密結合なのが避けられなくてインタフェースに切り出すと見通しが悪くなりそうなんだよね こういう場合はどうすればいいのかな
687 :デフォルトの名無しさん :2024/06/19(水) 19:41:52.46 ID:E1qEKZbV.net >>685 元の質問者だけど 今回はメインGUIとサブGUIでそれぞれ独立させて、メインGUIからサブGUIを見るだけ に作り直しました ところで__init__.pyを書くとはなんですか?
688 :デフォルトの名無しさん :2024/06/19(水) 22:24:53.92 ID:jr8KvPbD.net ctypesで構造体宣言するときに、以下のようにc側が不完全型の配列定義であった場合は、どのように宣言すればよいでしょうか。 typedef struct aa { uint32 eListType; uint16 wRes; uint16 wOdList[]; } class aa(Structure): _fields_ = [("eListType",c_uint32), ("wRes",c_uint16), ("wOdList",???) ]
689 :デフォルトの名無しさん :2024/06/19(水) 22:42:47.22 ID:0e7E5JVP.net >>686 >先生が生徒を選んだ後に、選ばれた生徒に先生のスケジュールはこなせるか?を確認してもらってる これもapp.rootのやつと同じで生徒が先生に直接依存する必要なくない? 先生、生徒、コース/クラス、受講、のよくあるモデル 参照じゃなくidで受け渡すことも考えるといいよ
690 :デフォルトの名無しさん :2024/06/20(木) 08:09:05.13 ID:hChVJ2JT.net >>687 それってpipでインストールできる?
691 :デフォルトの名無しさん :2024/06/20(木) 17:09:09.89 ID:F8Q2DGBi.net >>688 C の方が malloc(sizeof(struct aa) + N) みたいにやってるだろうから とりあえず N の最大値くらい確保
692 :デフォルトの名無しさん :2024/06/20(木) 17:55:30.81 ID:ZSpymqjs.net >>689 直接依存する必要がないので、idを持っておけばよいということ? 確かにidから引けるdictを持っておけばよいのはそうだけど、実質的にはそれは依存関係にあって、プログラミング言語での表現の制約を回避する策にすぎないような気がするのだけど勘違い?
693 :デフォルトの名無しさん :2024/06/20(木) 18:12:29.06 ID:pudWG0gF.net >>688 ("wOdList", POINTER(c_uint16)) a = aa() a.wOdList = (c_uint16 * size)() wResがwOdListのsizeだったりするのかな?
694 :デフォルトの名無しさん :2024/06/20(木) 23:47:51.33 ID:F6VlqWlP.net >>692 参照とidはカップリングの度合いの違い 直接依存する必要がないからという理由で書いたわけではないよ 片方がidだけに依存する形にすれば相互依存を解消できる AとBの相互依存からAのidをC切り出して AはBとCに依存、BはCに依存、CはAにもBにも依存しない形にできる ただこういうのはプログラミング上の小手先のテクニックなのは確か >>686 の話はもっとドメインレベルでの本質的な依存関係を先に突き詰めたほうがいいと思う
695 :デフォルトの名無しさん :2024/06/21(金) 10:29:55.02 ID:M8EEKVG+.net >>693 from ctypes import * class aa(Structure): _fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))] a = aa() a.a # 0 a.b # <__main__.LP_c_ushort object at 0x000002033996A340> a.__sizeof__() # 104 sizeof(a) # 16 a.b = (c_uint16 * 4)(9,8,7,6) a.b # <__main__.LP_c_ushort object at 0x000002033996AAC0> a.__sizeof__() # 104 sizeof(a) # 16 だめやん
696 :デフォルトの名無しさん :2024/06/21(金) 13:07:20.00 ID:tjV7APzm.net >>695 そういうもんやで sizeofの結果も自動的に変わると思ってた?
697 :デフォルトの名無しさん :2024/06/21(金) 15:09:56.96 ID:M8EEKVG+.net そういう問題じゃなくて 常にPOINTER型の容量分しか無いのは可笑しい
698 :デフォルトの名無しさん :2024/06/21(金) 15:17:35.67 ID:M8EEKVG+.net 少なくとも >>688 の質問に対して正しい答えは from ctypes import * class aa(Structure): _fields_ = [('a', c_uint32), ('b', POINTER(c_uint16))] a = aa() a.b = (c_uint16 * 4)() # これは間違い sizeof(a) # 16 class bb(Structure): _fields_ = [('a', c_uint32), ('b', (c_uint16 * 4))] b = bb() sizeof(b) # 12 class cc(Structure): _fields_ = [('a', c_uint32), ('b', (c_uint16 * 8))] c = cc() sizeof(c) # 20
699 :デフォルトの名無しさん :2024/06/21(金) 15:45:50.01 ID:K+jIH7ye.net >>697 そういう問題が何を指すのか分からんが__sizeof__もctypes.sizeofもそういう仕様なんだって Cのsizeofも同じやで >>698 固定長にしろや!ってこと? まーそれはそれで一つの選択肢だけど質問の答えにはなっとらんわな
700 :デフォルトの名無しさん :2024/06/21(金) 16:03:41.50 ID:K+jIH7ye.net 単に同じというと誤解を生むかもしれないから言い直しておくと 可変長部分のサイズがsizeofに反映されず自分で計算して別途管理しないといけないのはCも同じ ということ
701 :デフォルトの名無しさん :2024/06/21(金) 16:04:51.86 ID:pyvrMoIs.net pythonでandroidとiOSのアプリ作ってる人いる? kotlinとswift覚えればいいんだけど、手間がかかるので
702 :688 :2024/06/21(金) 19:26:17.13 ID:HIobLuWQ.net みなさんありがとうございます 結局固定長で適当に宣言しとけば良いってことですかね 確かにc側でmalloc使ってそうな気がします
703 :デフォルトの名無しさん :2024/06/21(金) 21:53:29.93 ID:xFZSSSbA.net ちゃんと配列をやるならbuffer protocolにしたら
704 :デフォルトの名無しさん :2024/06/22(土) 03:01:56.40 ID:UT0yRehg.net 変数に何入ってんのかわかんなくない? $%@使い分けるperl最強だわ
705 :デフォルトの名無しさん :2024/06/22(土) 03:20:24.58 ID:ITxAndmC.net 時代はタイプアノテーションなんですよ!(´・ω・`)
706 :デフォルトの名無しさん :2024/06/22(土) 09:29:12.03 ID:mcK0MSE8.net タイプアノテーションで思いだしたが、結局型チェック実装された? それともそこまで効力は無い?
707 :デフォルトの名無しさん :2024/06/22(土) 09:38:48.07 ID:R3uDiOs/.net >>704 #&*も忘れてるだろ
708 :デフォルトの名無しさん :2024/06/22(土) 11:44:35.80 ID:tVWK2T1P.net >>706 Pythonの型チェックは外部ツールに任せるというのがポリシーなので標準実装されることはない 型アノテーションは厳密なチェックをするというよりは文字通り注釈としての役割が主であり、 VSCodeやPyCharmを通じて人間にヒントを与えるという点においてはそれなりに効力はある
709 :デフォルトの名無しさん :2024/06/22(土) 13:20:16.98 ID:JlqSUEN6.net >>708 vscodeでさ a.py __init__ self.b = b.B(subclassX | subclassY) b.py __init__ self.subclass = subclass こうしたとき、b.pyに動的にサブクラス型情報送りたいんだけどどうすればいい? a.py書いたあとにb.py触りに行ったら、self.subclass以下のツールチップがXかYのものになってほしいんだけど
710 :デフォルトの名無しさん :2024/06/22(土) 13:39:16.54 ID:o/eWDsQ7.net >>688 への回答として >>693 は全く不適切 判っててわざと間違ってるんだろうが全く別物 初心者に嘘を教えるのは良くない https://ideone.com/YUADDB #include <stdio.h> #include <stdlib.h> int x; struct A { int a; int b[]; }; struct B { int a; int *b; }; int main(void) { printf("%zu\n", sizeof(x)); printf("%zu\n", sizeof(struct A)); printf("%zu\n", sizeof(struct B)); struct B b = {0}; b.b = (int *)malloc(4 * sizeof(int)); free(b.b); /* struct A a = {0}; a.b = (int *)malloc(4 * sizeof(int)); // compile error free(a.b); // don't free (may be cause to runtime error) */ return 0; }
711 :デフォルトの名無しさん :2024/06/22(土) 16:27:25.33 ID:zTNlWcoj.net >>706 最新のpythonでほぼ完全なGenerics表記が実装された これにMSの静的型チェッカーPyrightを使えば動的言語では初めてまともな型システムが実装されたことになる
712 :デフォルトの名無しさん :2024/06/22(土) 16:39:32.42 ID:HiCoQzk6.net TypeScriptより優れてるってこと?そうかなあ
713 :デフォルトの名無しさん :2024/06/22(土) 16:51:56.48 ID:UT0yRehg.net >>705 そうなんだ、、 勉強してくる
714 :デフォルトの名無しさん :2024/06/22(土) 18:07:00.66 ID:n3FOHUyg.net >>710 flexible array memberの基本的な使い方も知らないのに 無理してレスしなくてもよくない? C側でメモリ確保したいならこう書くんだよ struct A *a = malloc(sizeof(struct A) + size * sizeof(int)); >>693 のa.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合の話だよ CとPythonでやり取りする時はflexible array memberのsizeも当然受け渡しする必要があるよ こんなんで大丈夫かな?
715 :デフォルトの名無しさん :2024/06/22(土) 21:23:10.50 ID:+hHL9oAL.net # ダイアログを表示する import TkEasyGUI as eg layout = [[eg.Input(width=9, key="pt"), eg.Text("pt", width=6, height=2), eg.Button("コピー", key="pt_copy")], [eg.Input(width=9, key="kyu"), eg.Text("級(歯)", width=6, height=2), eg.Button("コピー", key="kyu_copy")], [eg.Input(width=9, key="mm"), eg.Text("mm", width=6, height=2), eg.Button("コピー", key="mm_copy")]] window = eg.Window("pt-Q-mm", layout, font=(None,14), size=(250,150)) def execute(): in_pt = values["pt"] window["kyu"].update(in_pt) window["mm"].update(in_pt) while True: event, values = window.read() if event == "pt": execute() if event == "kyu": execute() if event == "mm": execute() window.close() key="pt"の入力欄に文字が入力されると、リアルタイムに、 key="kyu"とkey="mm"の入力欄にkey="pt"と同じ文字を表示したいのですが、 def execute():をどう修正すれば良いでしょうか? 今のままだと、key="pt"の入力欄に文字を入力しても、 key="kyu"とkey="mm"の入力欄に何も表示されません…
716 :715 :2024/06/22(土) 21:53:43.34 ID:+hHL9oAL.net JavaScriptのOnChangeみたいなのをやりたかったのですが、止めました ChatGPTに教えてもらったコードでも、うまくリアルタイム表示出来なかったので… 「実行」ボタンを押したら、表示されるようにします ありがとうございました
717 :デフォルトの名無しさん :2024/06/23(日) 00:28:02.79 ID:2xccr50A.net >>714 >C側でメモリ確保したいならこう書く >struct A *a = malloc(sizeof(struct A) + size * sizeof(int)); もちろん知ってる >a.wOdList = (c_uint16 * size)()はPython側でメモリ確保する場合 どこが等価なの
192 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者