1 名前:デフォルトの名無しさん [2020/01/02(木) 15:56:54.08 ID:ZUrZA+uS.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ ☆「Ruby では」「Rubyでは」をNGワード登録推奨 このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 ★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので ↓等のてきとうなソースコード用うpろだに貼ってきてください。 スクショをImgur等にうp といった 手抜き(クソ行為)禁止。 ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と 実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/ 〇前スレ〇 くだすれPython(超初心者用) その45【Ruby禁止】 https://mevius.5ch.net/test/read.cgi/tech/1571188632/
543 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 01:28:40 ID:JzPk4jqf.net] >>534 ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解してるようだな。 勉強してからもう一度書き込むように。
544 名前:デフォルトの名無しさん [2020/02/09(日) 07:52:13.11 ID:CdDouLVX.net] >>> (10).to_bytes(2,'big') b'\x00\n' 期待している結果となりません。 b'\x00\x0a' にならないのは何故?
545 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 08:44:46 ID:vHnIKgeN.net] >>540 ドキュメントのbyteオブジェクト関連の項目を読むと書いてあるが 文字として見せた方がわかりやすいと思われるバイト値は 16進ではなく文字で表示する方針なのだそうだ だから値としては正しく格納されているので気にしなくてよろしい
546 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 09:24:21 ID:CdDouLVX.net] >>541 納得しました 誰得の方針なのか、モヤモヤは残りましたが…
547 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 09:30:32 ID:vHnIKgeN.net] >>542 ところで、この(値).to_bytes()っていう書き方は初見なんだが いつからある機能なんだろうか(自分の知識はver.3.3で止まっている) JavaっぽくてPythonらしくないと感じるのだが
548 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 09:51:55.28 ID:CdDouLVX.net] >>543 int.to_bytes(length, byteorder, *, signed=False) New in version 3.2. だそうです
549 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 10:38:09 ID:hMxVM0F3.net] flaskでsms認証つけたいんですけど何がおすすめでしょうか? アカウントにユーザーのメルアド、氏名、住所もつけておきたいです。
550 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 10:56:43 ID:vHnIKgeN.net] >>544 サンクス 一つ賢くなったよ
551 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:03:20 ID:uG+JJfG5.net] 知識が増えただけで賢くはなって無いんじゃないの
552 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:07:52 ID:vHnIKgeN.net] >>547 人の会話に茶々入れるんじゃないよ 即NGだ
553 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:26:42 ID:uG+JJfG5.net] 会話に茶々入れたくなければ公開掲示板なんかで聞かなきゃいいじゃん つまりいくらでも茶々入れていいのが2ch5chでしょ その基本を無視して俺ルールをいきなり押し付けられても困る で、賢さってのは知識量のことなワケ?
554 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:27:51 ID:uG+JJfG5.net] だって「超初心者」が知識と賢さを混同してるらしいからね ほっとけないね
555 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:32:14 ID:EbhgtQ51.net] >>539 >ハードウェアマルチスレッディングとソフトウェアによる通常のマルチスレッドをごちゃまぜに理解 そのようだ… ありがとう そしてありがとう Pythonのライブラリでやれるのは ソフトウェア的マルチスッドレだな
556 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 11:34:06 ID:EbhgtQ51.net] というわけで >>506よ、 536のことはうっちゃっておいて >>537の先頭2行も脳内から消して、詳しくはケツに貼ったQiitaの人の記事を読んでクレクレ
557 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 12:11:02.39 ID:vWZlCr2H.net] list = [1,2,3,4,5,6,7,8,9,10] というリストがあった場合 for i in list: とするよりも for i in set(list): とする方が高速ですか? それとも、setに変更しても元々がリストなので早くならないですか?
558 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 12:16:47 ID:uG+JJfG5.net] 一般的には想定される普通の使い方をする時に一番早くなるように言語を作る それに間に一枚噛んでると遅くなる、と思うのが人間 あとは長さ10万くらいのリストを数千回試して時間を計る
559 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 12:26:35 ID:mfrF5HLR.net] >>553 試すといいよ。ってのが正しいと思うけど、あえてマニュアルから。 https://docs.python.org/ja/3/reference/compound_stmts.html#the-for-statement > 式リストは一度だけ評価されます。 ってあるから、ほぼ変わらんのでは?
560 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 12:44:06 ID:zgc2MTJg.net] list->setのコスト分だけ遅いだろ
561 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 12:53:21 ID:2kp9QhUs.net] 論より証拠 昔の人は良いことを言った
562 名前:デフォルトの名無しさん [2020/02/09(日) 13:38:53 ID:haksjRuS.net] お前ら木偶の坊なんだから俺の疑問に答えて少しは世の中の役に立てよ という意識があのような質問を生むのだ
563 名前:デフォルトの名無しさん [2020/02/09(日) 14:44:11 ID:KmTvxb40.net] >>555 sum(for x in range(10)) sum([for x in range(10)]) これの違い。
564 名前:デフォルトの名無しさん [2020/02/09(日) 14:49:31 ID:KmTvxb40.net] sum(x for x in range(10)) sum([x for x in range(10)]) だった。
565 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 14:56:02.52 ID:OACAfflF.net] >>560 どう違うの? 下は内包表記?
566 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 15:22:07.62 ID:O6Vx4x7H.net] >>553 listをsetに変換するコストを無視してもsetをイテレートするほうが遅いよ hash tableをイテレートする時に必要な処理とlistをイテレートする時に必要な処理の違い といってもその差は微々たるものだから その差が重要なプログラムを書こうとしてるなら言語を変えたほうがいいかも
567 名前:デフォルトの名無しさん [2020/02/09(日) 15:35:28.11 ID:vWZlCr2H.net] >>554-562 ありがとうございます あまり大きくは変わらないのですね 参考にします
568 名前:デフォルトの名無しさん [2020/02/09(日) 15:45:54.02 ID:wTv3WydA.net] >>561 上: generator (リストは造らない) 下: 内包表記 (リストが造られる)
569 名前:デフォルトの名無しさん [2020/02/09(日) 15:54:02.80 ID:KmTvxb40.net] for i in set(list): listのイテレートとsetのイテレートが発生するのと、一旦setのためのメモリが確保されるから、 setの重複排除機能が必要でない限り、100%無駄だと断言できる。
570 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 16:12:45 ID:O6Vx4x7H.net] >>563 複数のやり方でどれが速いのか気になったら%timeitしよう
571 名前:デフォルトの名無しさん [2020/02/09(日) 16:14:09 ID:wTv3WydA.net] むしろforの中身を見直すか numpyとか使うべき ループはクソ遅い
572 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 21:20:07.67 ID:U6aZQoQk.net] 質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが
573 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 22:35:43 ID:u7Xk0tZr.net] >>568 >そっちは遅くて当たり前なんだが その当たり前を教えてくれ
574 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 23:21:11 ID:U6aZQoQk.net] >>569 setはハッシュ値で格納位置を一発で割り出す リストは要素をすべて舐め回して探す
575 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 00:00:12 ID:NX1L632S.net] >>568 リストをfor文を回してsetより速くする方法が他にあるってことですか?
576 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 00:07:40 ID:fRmEVRio.net] >>570 リストって、毎回全要素をリニアサーチしているって事ですか?
577 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 01:46:01.93 ID:y8VN1gM7.net] >>571 >>568 で >forでsetより遅くなる道理はないと思うが と言っている。で、これから >リストをfor文を回してsetより速くする方法が他にあるってことですか? がなぜ出てくるんだ? >>568 の前の部分はfor~inについてではなく、 list/setの要素にこれ(x)ある?を調べるin演算(x in list/set)についての ことを言っている。
578 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 07:54:06.49 ID:NX1L632S.net] >>573 なるほど、ありがとうございます
579 名前:デフォルトの名無しさん [2020/02/10(月) 09:51:35 ID:5lt6zYiz.net] >>572 570はサーチとイテレートをごっちゃにしてるわな。 listは動的配列だから、オブジェクトへのポインタのポインタをインクリメントしてるだけだわな。 サーチはその後の話だろ。
580 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 09:58:28 ID:8uBZGbTk.net] >>575 いや君がごっちゃにしてるだけでイテレートの話なんてしてないだろ 570はin演算子使った時にどうやって探すかの話だろ
581 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 16:12:22 ID:fRmEVRio.net] 色々脱線はしているのかもしれないが、最初の質問は >>553 で リストを処理するのに、そのままよりも、 setを噛ませた方が速くなるかどうか、ということであって リストの内容は全件処理しているようだし
582 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:20:59 ID:8uBZGbTk.net] なに意味不明なことうだうだ言ってんの
583 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:29:20 ID:fRmEVRio.net] 568 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 21:20:07.67 ID:U6aZQoQk 質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが 570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk >>569 setはハッシュ値で格納位置を一発で割り出す リストは要素をすべて舐め回して探す この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
584 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:38:58 ID:8uBZGbTk.net] 逆になにがわからないのかわからないんだが
585 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:42:34 ID:fRmEVRio.net] 分かるまで、みんなの話を聞いていたら
586 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:44:23 ID:fRmEVRio.net] 553 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 12:11:02.39 ID:vWZlCr2H list = [1,2,3,4,5,6,7,8,9,10] というリストがあった場合 for i in list: とするよりも for i in set(list): とする方が高速ですか? それとも、setに変更しても元々がリストなので早くならないですか? これが最初の質問
587 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:47:57 ID:fRmEVRio.net] この質問で想定される回答は for i in set(list):の方が高速 どちらも変わらない set 使わない方が高速 この三通りじゃないかと思うが
588 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:55:55 ID:cKG4UD69.net] >>580 俺も何がわからないのかわからん in演算子が何かわかってないから >>568や>>570に書いてることが理解できないんじゃないかな と想像してみる
589 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:59:57 ID:cKG4UD69.net] >>583 それはもう回答が出てるでしょ んで普通に考えたらsetにしたほうがが速いという考えにはならないのに setのほうが高速かもしれないと思ってしまってるのは for loopのfor x in fooの`in`と contains(foo, x)を演算子にしたin演算子の`in`とを勘違いしてるんじゃない? ってコメントが>>568
590 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:20:13.36 ID:fRmEVRio.net] 回答までにしか興味は無いです 後は、妄想も含めた雑談なわけだし
591 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:21:49.94 ID:8uBZGbTk.net] >>584 そういうことかね >>585 前にQiitaでリストにin演算子使うと遅いっていう記事がバズってたからね そういうの見て質問者が漠然とリストはsetより遅いって思い込んでしまった可能性はあるね
592 名前:デフォルトの名無しさん [2020/02/10(月) 19:06:26.64 ID:NX1L632S.net] >>584 質問者ですがそうです setのforループの方が早いのかと思い込んでいました >>574 で自分の勘違いに気づいたところです
593 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:34:40.34 ID:TAH0RZ5f.net] >>583 ケースバイケース っていう可能性もあるかと
594 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:44:21.91 ID:fRmEVRio.net] >>589 ハッシュキーが衝突したレコードが大量にあるとか、かな?
595 名前:デフォルトの名無しさん [2020/02/11(火) 10:10:26.19 ID:QVEssOx9.net] ちっちゃい質問かもなんですが かっこ閉じ際の位置ってpython的にはどこが良いですか? 例えば def kakko(a,b): ____a+b というdefを使うときに行の最後にかっこをつけるか kakko( ____1+2+3+4, ____5+4+6+7) 改行してかっこの中のインデントに合わせるか kakko( ____1+2+3+4, ____5+4+6+7 ___) kakkoのインデントに合わせるのか kakko( ____1+2+3+4, ____5+4+6+7 )
596 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 10:24:42.95 ID:iLli/Di+.net] >>591 pythonの思想は1行で処理だから改行すな
597 名前:デフォルトの名無しさん [2020/02/11(火) 10:30:13.65 ID:KtXysiBK.net] kakko( ____1+2+3+4, ____5+4+6+7) または kakko(1+2+3+4, ____5+4+6+7)
598 名前:591 [2020/02/11(火) 11:02:07 ID:QVEssOx9.net] >>592 ですよね・・・ そうなると式が長くなる時は かっこの前に分かり易い名前をつけて さきに計算しておいたほうが良いですか? kakko_a = 1+2+3+4 kakko_b = 5+4+6+7 kakko(kakko_a,kakko_b) >>593 ありがとうございます かっこ閉じは改行で分離しない方が良いんですね
599 名前:デフォルトの名無しさん [2020/02/11(火) 11:07:02 ID:BVyNsmkt.net] 実運用としてはblackとかyapfにフォーマットさせてそれに従っとく
600 名前:591 [2020/02/11(火) 11:51:51 ID:QVEssOx9.net] >>595 これ使えば悩まなくて済みそうです。 ありがとうございます!!
601 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 12:22:58.77 ID:Nq1ZGiCx.net] pythonの流儀・作法に従うのが一番いい もしもどうしてもやりたいなら他のメジャーな流儀を真似る WINAPI とは何か? - C/C++ 入門 https://c.keicode.com/windows/windows-programming-11.php int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {
602 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 13:52:28.79 ID:YRn6ep9S.net] >>597 >pythonの流儀・作法に従うのが一番いい そのpythonの流儀・作法を聞いてるのになぜそれに答えずC++のそれもWIN32API持ってくんの?
603 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 14:25:45.03 ID:L4MHQKAq.net] Pythonの初級を受けた人いますか? どのような勉強されたか教えてください m(__)m
604 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:36:18 ID:lGXjI99c.net] 継承クラスのinitの引数が増える場合はどうしたらいいですか? class person(): def __init__(self, age): this.age = age class student(person): def__init__(self, age, number) this.age = age this.number = number こんな感じにしたいのですが。
605 名前:デフォルトの名無しさん [2020/02/11(火) 15:56:30.44 ID:BVyNsmkt.net] >>599 ぱいそんのしかくしけんはひとつだけじゃないんだ きみがいっているのはどのしけんのしょきゅうかな?
606 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:58:27.34 ID:RWYSN8yj.net] >>599 何にも勉強せずに一度受けてみるとよい 試験の雰囲気と問題の内容と自分の実力がわかる それを踏まえて備えれば二回目は受かる
607 名前:デフォルトの名無しさん [2020/02/11(火) 15:59:40.15 ID:BVyNsmkt.net] >>600 Student側でsuper().__init__(age)するだけじゃねーの ああ、基底クラスの__init__を呼ぶ方法が分からんのかな?
608 名前:デフォルトの名無しさん [2020/02/11(火) 16:01:24.03 ID:BVyNsmkt.net] それにしても、金になると思うとすぐ資格ビジネス屋が群がりやがって
609 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 16:52:49.23 ID:RUM4eNEQ.net] a1 = 0, a2 = 0, a3・・・・が続く for i in range(1, 2): i = i +1 a[i] = 5 a+数字に値を入れたいのですがa[i]のような使い方はできないのでしょうか
610 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 17:57:52 ID:iLli/Di+.net] pythonってインターフェースって概念はあるんだっけ?
611 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 17:58:18 ID:L4MHQKAq.net] >>601 有難うございます。 Python3エンジニア認定基礎試験です
612 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 18:15:03 ID:noKKsZcY.net] >>605 (インデント崩壊してるからか?) 質問がイミフ + 投稿前に1見ろ
613 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 18:35:43.13 ID:AyaWNvDt.net] これはスゴイ やりたい事はなんとなく分かるが、 何をやりたいのかが分からない
614 名前:デフォルトの名無しさん [2020/02/11(火) 18:50:33.09 ID:HQEYSI3a.net] >>605 a1 = 0, a2 = 0 for i in range(1, 2): i = i +1 exec(' "a"+str(i) + "= 5" ')
615 名前:デフォルトの名無しさん [2020/02/11(火) 19:40:05.81 ID:X3jD9Kja.net] これは高確率でやり方よくないパターン
616 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 19:47:41.29 ID:a/euzlWM.net] 初心者のうちはそういうことやりたくなるのわからなくもないけど素直にlist使いましょう
617 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 21:21:11 ID:v/oRLdRM.net] >>605 for i in range(1, 2): ____i = i +1 ____x = “a%s” % i # xには”a2”という文字列が入る ____locals()[x] = 5 静的言語のリフレクションみたいなのは globals/locals, getattr/setattr/delattr 文字列をコードとして評価したいならeval 実行したいならexec
618 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:13:11.46 ID:ZhnXkLvm.net] >>605 は a1 = 0, a2 = 0, a3・・・・が続く があり、それらに、オブジェクトaを通して a[1]でa1に,a[2]でa2に....([]を使って)アクセスしたいってことだろ。 (a[1]のaはaでなくても、名前みたいなものだから好きなのにしていい。 aシリーズにアクセスするらわかりやすくaにしている) こんなことを実現するクラスの作り方を教えて?という質問になるよな。 と、言っても俺は低脳で出来ない。 >>612 俺もそれで間に合うならそれが良いがと思う
619 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:48:00 ID:v/oRLdRM.net] >>614 絶対違うと思うがそういう解釈ができなくもないなw subscriptingは__getitem__, __setitem__を使えば可能 https://ideone.com/7WR8yJ
620 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:48:39 ID:6c6RIlRn.net] あー for i in range(1000): __try: ____a[i]=5 __except 的な?
621 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 23:02:14 ID:RUM4eNEQ.net] 605です レスありがとうございました >>610さんのアドバイスで私のやりたかったことが出来ました。ありがとうございます。 execを初めて知りましたが、初心者的には便利な使い方ができそうですね hoge = "aaaa" exec('hoge = "ほげ"') print(hoge) >>616 それです
622 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 02:21:47.75 ID:8gaFy0VD.net] dtreevizで決定木を可視化したのですが棒グラフの下の閾値が謎の数値と被ってとても見にくい状態です 閾値だけ表示させることはできますか?
623 名前:デフォルトの名無しさん [2020/02/12(水) 08:34:59.50 ID:MxyBlFwL.net] a1=0,0 はタプルになるから a1=0,a2=0 もそうかと思ったらこっちはエラーだな
624 名前:コーディングも未経験 mailto:sage [2020/02/12(水) 09:31:44.36 ID:CHK50RDvo] Python 2.7.17 のインストーラを起動したら、デフォルトのインストール先が C:\Python 2.7 になっているんだけれど、C 以外にすると何か不都合がありま すか。(CはSSDで容量が小さい、second bayのHDDを使いたい)
625 名前:デフォルトの名無しさん [2020/02/12(水) 15:55:30.07 ID:a1w2Xqz0.net] >>617 こいつとは仕事したくない うちの会社にいたら首切る
626 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 17:24:47 ID:LrVjYqM5.net] 別にええやん 学生かもしれないしプログラマーじゃない可能性も高いし 簡易的なツール作るだけならそんな高いレベル求められないし execを覚えたというだけでも成長したのにそんな言い草あるか?
627 名前:デフォルトの名無しさん [2020/02/12(水) 17:34:29 ID:QgfOdoDN.net] >>616 どういうこと?
628 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 18:24:00.47 ID:h0cbN6Js.net] >>621 初心者が間違った判断をしたならそれを指摘してやればいいだろう。 おれはお前のような奴の方が一緒に仕事したくないよw
629 名前:デフォルトの名無しさん [2020/02/12(水) 22:17:48.25 ID:ohhYjydu.net] 環境はMacです、ワケあってpython2を使おうとしてpip install -U python2を行ったら Requirement already up-to-date: python2 in /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages (1.2) と表示され、versionが1.2でしかもpython2 -Vとしてもコマンドが見つからないと 言われるのでどういうことかと首をかしげpip listを行うと $pip list Package Version ---------- ------- appdirs 1.4.3 cffi 1.13.2 greenlet 0.4.13 packaging 20.0 pip 20.0.2 pyparsing 2.4.6 python2 1.2 readline 6.2.4.1 setuptools 44.0.0 six 1.13.0 と表示され、numpyなどが入ってないので何かおかしいと思い、 numpy.__version__、numpy.__file__を確認するとそれぞれ '1.17.3'、'/usr/local/lib/python3.7/site-packages/numpy/__init__.py' まあ正直どうなってるかよく分からないのでとりあえずpip install -U numpyを行うと Successfully installed numpy-1.18.1 しかし上記のように__version__を確認しても、'1.17.3'のままでした。 pipのlistには1.18.1でしっかり入ってます。 これって何が起きてるんでしょうか?Homebrewでinstall
630 名前:した可能性も考えたのですが brew listを行ってもnumpyもscipyも見つからずpypy、pypy3、pythonがあるくらいです pipのversionは pip 20.0.2 from /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages/pip (python 3.6) です。思い当たる原因としては一回brewでpypy3を消したらpip効かなくなったことですが、 消す前にpipでinstallしたものは今でも普通にimportが効きます。 pipに表示されない原因に思い当たる方がいたらどうかよろしくお願いします。 [] [ここ壊れてます]
631 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 22:41:09.40 ID:mtSj8YKm.net] >>625 パス通す順番はジッサイトテモダイジ MacにしみこんでいるPython(2系)の存在を忘れてはいけない。
632 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 23:00:22.35 ID:bYqOq5KM.net] 605です。ご迷惑をおかけして申し訳ありません 最初に書いた例が私自身もよくわかっていないまま書いたのが駄目でした 皆さまのアドバイスでコードが完成しました https://pastebin.com/y2QT7m3E 色んな方法があると思うのですが、教えて頂いたexecとevalを使いました コード中のa_no_list[0] にはforで作ったa1を入れて、そのa1にランダム関数の数字を代入しました 手動でa1,a2を作って値を入れたりというのは出来たのですが、forで任意の回数繰り返して自動でa1,a2作れないかとこちらに相談した次第です forでprint(a[i])もa(i)もできるようになって、自動でリストの中の要素の中の要素・・・・を表示したり代入できるようになってるはずだと思います ちなみにこれは初心者参考書を1/4まで読み終わった復習として作りました
633 名前:デフォルトの名無しさん [2020/02/12(水) 23:30:50 ID:ohhYjydu.net] >>626 ありがとうございます、それ聞いて試しに aliasのpython="python3" を外したら動きました、linuxだとpython2で認識するんですけど macだと効かないんですね……悩んでた問題が一つ解決しました、本当にありがとうございます。 ただ今インストールされてるnumpyやtensorflowなどがpipで出ない方は解決できてません 上記のこともありpip listとpip3 list両方試したんですが全く同じ結果でした……
634 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 23:52:40 ID:ohhYjydu.net] 申し訳ありません、自己解決しました 何故かPATHで/usr/PATH/pypy3が先頭に立っててpypyが一番最初に呼び出される設定になってた為 pypy3のpipが表示されてたんだと思います……PATHのpypy3外したら直りました。 長文と勘違いで迷惑を書けてしまい申し訳ありませんでした。
635 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 00:09:12.49 ID:n7qjy+CZ.net] セルフってなんやねん!?
636 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 00:14:39 ID:Gd0xgnoa.net] 自分でガソリンを入れるスタンド
637 名前:デフォルトの名無しさん [2020/02/13(木) 08:14:35.67 ID:0eJoVY/8.net] >>627 どうしてa1とかa2の変数名が必要なのかわからないな
638 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 12:13:43.09 ID:lzB8uQ2A.net] >>630 オナニーをテーマにした漫画だよ。
639 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 14:49:45 ID:MOac+3r5.net] >>630 話すと長いから解説してるブログ貼る 簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
640 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 17:35:23.50 ID:r7bSHOfr.net] pythonでオブジェクト指向やれば selfだらけになってシグナルノイズ比が高い事は自覚しておくべき 明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい Goはどの型のメソッドが識別するためにselfを渡してる Goの場合はそれ以外で識別する方法がないから Rustはselfの使い方が3種類があるから 関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
641 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 18:39:18.80 ID:Ure0FzdD.net] >>627 何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
642 名前:デフォルトの名無しさん [2020/02/13(Thu) 19:02:19 ID:qvECNN2e.net] 条件分岐の分かり易い書き方について教えてください 通常ではa=bで c=0の時はa=zで d=1の時はa=yというときに if c == 0: __a=z elif b==1: __a=y else : __a=b になりますがほとんどの場合a=bになって まれにa=y やa=zになるとすると a=bが最後に来るのはわかりにくい気がするんですが どうしてますか?
643 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 19:45:20 ID:n7qjy+CZ.net] >>634 ありがてえ!!