1 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 16:33:27.37 ID:/iWSRGfH.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OS+IDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので ↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。最近流行中? ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇
493 名前:デフォルトの名無しさん [2020/08/09(日) 12:31:25.41 ID:G1el0n+S.net] file = ["one","two","three"] for i in len(file): print(file[i]) テスト用に作ってみましたが、これだとnot iterableになります iが繰り返しに使えないとはどういうことでしょうか インデックスは繰り返せるはずですが、、、
494 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:33:47.83 ID:lPdKuM8h.net] >>476 fileはリストだけど iは? エラーメッセージ読めよ
495 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:39:36.94 ID:JXdOVZ/U.net] >>476 リストをループすると、iにはイテレーターじゃなくて、リストの中身が入る file = glob.glob("fold/*") print(file) for i in file: print(i) 実行j結果 ['fold\\aaa', 'fold\\bbb'] fold\aaa fold\bbb だからfile[i]にすると、文字列を使ってリストにアクセスしようとするからエラーになる
496 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:46:15.61 ID:JXdOVZ/U.net] >>477 これはPythonの記法的な問題 for i in 3みたいな書き方は出来ない エラーメッセージでTypeError: 'int' object is not iterableって書いてある通り file[0]、file[1]、file[2]みたいにアクセスしたい場合は>>479 の書き方にするか rangeを使う file = ["one","two","three"] for i in range(3): print(file[i]) 実行結果 one two three
497 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 14:55:41.57 .net] さらにenumerateも便利、同時にインデックスとれる files = ["one","two","three"] for i,n in enumerate(files): _print(i,n) >>>実行結果 0 one 1 two 2 three
498 名前:デフォルトの名無しさん [2020/08/09(日) 18:18:04 ID:G1el0n+S.net] ↑ありがとうございました インデックスではないんですね range(len(file))を使いますです
499 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 18:55:14.84 ID:TCh4WBtq.net] 超初心者スレとはいえ、ちょっとこれは酷すぎるだろ 知的障害を疑うレベルだわ
500 名前:デフォルトの名無しさん [2020/08/09(日) 19:10:05.24 ID:/x2pn//m.net] 下手な教え方するより一回チュートリアルやらせたほうが、結果的には近道になるパターン
501 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 19:18:43 ID:xLYoDobK.net] >>469 入れ子になってたりタプルで複数の値を渡してたりしたら読みづらいときもあるけど、 慣れたら別に読み辛くないよ。 読み辛いなと思ったらforの前に改行を入れてみるとわかりやすいと思う
502 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 19:51:17.39 .net] .py実行したら出てくるcmdやターミナル画面ってあるけど これをtkinterみたいなGUIウインドウの中に入れたり(そう見えてるように重ねたり)追従させたりできる? tkinterのウインドウつまんで動かす時、一緒にターミナル画面も動いてきたらいいのにと思ったんだが
503 名前:デフォルトの名無しさん [2020/08/09(日) 21:36:20 ID:G1el0n+S.net] pathlibをインポートするとglobはインポートしなくていいのでしょうか モジュール同士の継承関係がわからないですが、参考ページありませんか?
504 名前:デフォルトの名無しさん [2020/08/09(日) 21:55:46.35 ID:/x2pn//m.net] >>487 https://docs.python.org/ja/3/tutorial/index.html 一通りチュートリアルやってみてはどうですか
505 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 22:23:18 .net] >>487 何をしたいかに依るのでは from pathlib import * #実行する.pyと同じ階層のファイルとディレクトリ一覧取得 #str()でファイルやディレクトリの絶対パスの文字列を取得できる print( [ str(p) for p in Path().iterdir() ] ) #つまりその文字列を扱いフィルターをかけることもできる #ファイルネーム・ディレクトリネームの文字数が20以上だけフィルタリング print( [ str(p) for p in Path().iterdir() if len(p.name) > 20 ] )
506 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 23:07:31.69 ID:AwKuV539.net] >>487 importするのに通常は依存継承関係とか余計な事は考えなくていい ファイルが違えばスコープも違うのだから必要なモジュールならとにかくimportすればいいだけ
507 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 10:08:23 ID:SIP0jVAr.net] >>150 わりと本気でSQL
508 名前:デフォルトの名無しさん [2020/08/10(月) 10:44:09.54 ID:rTlZ13Bm.net] >>489 >>490 了解しました
509 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 11:19:34 ID:mxDHCoDt.net] xの値に反比例して1から0まで直線的に減少していく値yが入った value_y[x] があって、家などの画像の上に、value_y[x]に比例したピクセル値を持つグレー画像を重ね合わせて表示させたいと思っています。 (左端はグレーで家は見えなくて、右側に行くにつれて段々とグレーが薄くなって家の画像が見えてくる感じ) openCVとか使えば出来るかなとおもうのですが、重ね合わせようのグレー画像のうまい作り方があったら教えて下さい。
510 名前:デフォルトの名無しさん [2020/08/10(月) 11:58:33.01 ID:rTlZ13Bm.net] イテレータとリストと配列の違いってなんでしょうか? かんたんな例え、はありませんかね、、、
511 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 12:01:57.46 ID:epTxOZiR.net] 厳格な型制御をするC#から勉強すればそんなアホな質問は出てこない。
512 名前:デフォルトの名無しさん [2020/08/10(月) 12:20:38.32 ID:gyMnY3Cu.net] >>493 なぜPythonでやる必要があるんですか GIMPやINKSCAPEの使い方覚えた方がいいんじゃない? >>494 イテレータは反復子現在地ポインタ リストはインデックス番号のある配列の一種 配列は並べられた複数の箱
513 名前:デフォルトの名無しさん [2020/08/10(月) 12:22:09.41 ID:wInlBSoO.net] >>486 .pyw
514 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 12:43:52.91 ID:mxDHCoDt.net] >>496 pythonで数値計算したあとの出力なので出来ればそのままpythonでとおもったけど結構めんどくさそうですね・・・。
515 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 12:44:59.38 ID:mxDHCoDt.net] for x in range(width): span=(width-x) if span>10: span=10 fig.axvspan(x, x+span, color="red", alpha=float(lr_y[x]/10)) の span=(width-x) if span>10: span=10 のところが冗長な気がするのですが、一行でうまく記述できないでしょうか?
516 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 12:59:00.61 ID:eW2lnGgt.net] Opencvで 画素ごとに画素値舐めてってyの値に比例して画素値減衰させればいいんじゃないの?
517 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 14:00:18 ID:nxGfQCUO.net] for x in range(width): end = min(width, x + 10) fig.axvspan(x, end, color="red", alpha=float(lr_y[x]/10))
518 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 15:04:07.26 ID:JXIo//1S.net] BeautifulSoupでスクレイピングやったらうまくいったけど 10ページ分やろうとしてforで回したら どうやら非同期(同時に)10ページ接続してる気がする 1ページ目終わったら(+sleep)2ページ目 ってやろうと思うけど、javascriptのjqueryでいう$.ajaxみたいなやつ教えてください
519 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 15:22:40.40 ID:JXIo//1S.net] と、思って改めてやったらどうやら接続が早すぎて同時接続してるように見えたっぽい 自己解決? お騒がせしました sleepだけでよさそうですね
520 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 16:44:14 .net] >>493 重ね合わせはnumpyでグラデーションの画像作ってから openCVで元画と重ね合わせって感じでできる
521 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 17:23:38 ID:dcFChyFp.net] グラデかけるのなんてimagemagickで簡単に出来そうだが
522 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 18:42:57 ID:epTxOZiR.net] >>502 無能がスクレイピングするとDos攻撃とみなされて裁判沙汰になるからやめとけ
523 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 18:44:25.26 ID:sEIvZmCR.net] 私は某サイトで無謀なスクレイピングをしてアクセスバンを食らった。
524 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 19:47:59.02 ID:x8FHf1wG.net] txtlとして保存するだけだけどキャッシュ機能作った
525 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:04:01.05 .net] >>506 ちなみにスクレイピングするときの無能有能の線引きみたいなものは? もちろんAPIあるとことかスクレイピング禁止のとこでやるのは問題外として
526 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:06:48 .net] 最近?だと図書館だかでスクレイピングしてた人が開示されてたけど あれ結局どうなったんだろう 当時はめちゃくちゃ失笑されてたけど もちろん図書館側が
527 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:09:48 ID:sEIvZmCR.net] スクレイピングの解説してる記事読むと、アクセスの間隔は1秒位は開けましょうとか言ってるけど、 どれくらいの頻度でアクセスしていいかなんてそのサイト次第だから。 自分はバン食らった後で利用規約読んで真っ青になっちまったよ。
528 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:10:56 ID:UtK+DCkZ.net] ゲヘラヘラ(・∀・)
529 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:17:10 .net] まぁノーログVPNでもかましとけば表沙汰になってない程度のことってのがなんとも感慨深いですな
530 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:17:51.91 ID:x8FHf1wG.net] VP(ry
531 名前:◆QZaw55cn4c mailto:sage [2020/08/10(月) 20:28:02 ID:JYoLJZbs.net] >>510 岡崎市立中央図書館事件ですか 昨今のコ
532 名前:鴻i騒動でつくづくと思うのですが、技術的な事実と意思決定を行うものとの間隙が広すぎるのが、いろんな点で問題を複雑にしてしまっているのが最近の事例ですね 私は図書館側も責めることができません、だって図書館側の誰一人として、この件の技術的事実を当時も理解できなかったろうし、将来の時点においての理解可能性も期待できませんから [] [ここ壊れてます]
533 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:28:23 ID:e/hT02ld.net] 例の図書館の件、実際に業務に支障をきたすようなレベルだったんだろうか。 それなら図書館の言い分にも理があるかもしれない・・・ とか思って調べたら、「1秒に1アクセス程度に調整」だったのか・・・
534 名前:◆QZaw55cn4c mailto:sage [2020/08/10(月) 20:32:31 ID:JYoLJZbs.net] >>516 業務に支障はあったらしいですよ、プログラム側がバグっていたから‥‥
535 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:34:01.63 ID:epTxOZiR.net] >>509 まあ「加減」ってやつを常識の範囲でコントロールするかどうかだな。アホは加減を知らん。
536 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:36:21.34 ID:epTxOZiR.net] 正確には加減を加える方法を知らんから恐ろしいコードをそのまま実行してしまう。
537 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:38:59.23 ID:e/hT02ld.net] こっちが常識的に振る舞っているつもりでも、 相手が変な人かもしれないというリスクは常に存在するわけだ。
538 名前:デフォルトの名無しさん [2020/08/10(月) 20:41:52.13 ID:oc0Vxq0a.net] 一般的には程度の低いバカの集団を相手にしてると思って間違いない わたくしに比べれば他人の半分はアホだ そういうのが相手だ そういうノータリンに技術的な話は全く通じない お涙頂戴の情緒的なお話しか通じない
539 名前: mailto:sage [2020/08/10(月) 20:42:48.60 ID:JYoLJZbs.net] >>518 真のアホなのはスクレイピング側ではなくて、三菱電機側なのでは?
540 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:43:31.92 .net] >>502 は ・10ページ程度 ・1ページずつ ・sleep挟む 慎重かつコントロールしようとしてるけど それに対して「加減を知らん」ってのが今一わからんな ようするに >Dos攻撃とみなされて裁判沙汰 って言いたいだけでそれこそ加減を忘れて、説教したかっただけでは
541 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:49:20.79 ID:HcOBHIWp.net] robot.textも詠んでない奴は無能だからスクレイピングすんな逮捕されるぞ
542 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 20:54:20.28 .net] 404 Not Found
543 名前: mailto:sage [2020/08/10(月) 20:55:49.15 ID:JYoLJZbs.net] >>524 その robot.txt は「結果的に国立国会図書館のクローラも受け入れを拒否しており違法状態となっていた」そうですよね…
544 名前:デフォルトの名無しさん [2020/08/10(月) 22:10:13.00 ID:rTlZ13Bm.net] パスの指定方法を教えて下さい txtファイル一覧を取得したいです pathlib.Path("*").glob("*.txt") これだと取得出来ていないようです フォルダ部分のアスタリスクが良くないようです fold1 ├fold1-1.txt └fold1-2.txt fold2 ├fold2-1.txt └fold2-2.txt
545 名前:デフォルトの名無しさん [2020/08/10(月) 22:28:15 ID:rTlZ13Bm.net] ↑解決したどす
546 名前:デフォルトの名無しさん [2020/08/10(月) 22:33:29 ID:b58AXMKw.net] 君さぁ、一連のループ処理の質問してる人と同じ人? pathlibの公式ドキュメント読んだ上でその質問なの? https://docs.python.org/ja/3/library/pathlib.html
547 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 22:51:23 .net] そんなもん読むよりぐぐったり聞いたほうが早い(読むなとは言ってない) ソースコード読みたくなったときにドキュメントを全部読むと良いと思う 全部読んだ人は読むべき場所だけをわかってる 全部読んだことの無い人は読む必要のないところを知らない
548 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 22:55:48 .net] まぁ初心者でpathlib程度なら読むだけなら数時間もかからないだろうが よくよく質問とかを見ればpathlibというよりもpythonの文法やら表記法で苦
549 名前:してるって感じじゃないか [] [ここ壊れてます]
550 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 23:13:59.08 ID:PbB9rIkO.net] Pythonは公式ドキュメントがクソだからね 初心者には厳しいよ 逆引き的なサイトを見るほうが賢い
551 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 05:28:50.84 ID:D2zXE6xI.net] ステップ関数とシグモイド関数とLeRU関数を一つのグラフにするやり方がわからないです fig.savefig() で保存してpreviewをしても真っ白でした
552 名前:デフォルトの名無しさん [2020/08/11(火) 06:09:26 ID:x3iAuc4F.net] () はすべて関数でしょうか?
553 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 07:10:35 ID:Yoj/uuKw.net] kotee = (1 + 2) * 3
554 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 09:31:56.57 ID:DyHWpKfR.net] >>535 固定?3^3=27? Pythonはconst定数ないんだっけ?
555 名前:デフォルトの名無しさん [2020/08/11(火) 09:40:20 ID:lpYV++WD.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
556 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 09:48:14 ID:B3vzQThI.net] >> 532 これなぁ チュートリアルはいい出来だと思うが、リファレンスとしては本当にひどい
557 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 09:57:17 .net] ファイルの書き込みがダブルブッキングになりそうなときっていい感じに勝手にpython側で処理してくれるの?
558 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:01:47 ID:B3vzQThI.net] >>539 やってみたら分かるけど、後にオープンしたほうが優先される
559 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:10:39 .net] >>540 そもそもテストの仕方がわからないけどこれでええんやろか with open('hoge.txt', mode='w') as f: f.write('a') with open('hoge.txt', mode='w') as f: f.write('b') with open('hoge.txt') as f: print(f.read()) たしかにbだけしか更新されてなかった・・ つまりは同じファイルをアッチやコッチで更新してたときに with open閉じるまでに処理が重なって同時更新した場合は、 後が優先され前のデータは書き込みできていないってことかー・・
560 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:34:21.08 .net] と、おもったら上書きモード"w"になってただけだった "a"だと普通に追記になったわ 上書き書き込み、というより、追記 がやりたいことだった >>539 追記のときもwith openがほぼ同時に処理されるなんてことはあるのだろうか
561 名前:デフォルトの名無しさん [2020/08/11(火) 10:40:31.12 ID:x3iAuc4F.net] モジュールとクラスでは、モジュールのほうが大きいんですよね?
562 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:45:12.20 ID:B3vzQThI.net] >>542 バッファリングがあるからそんなに単純じゃないよ 同時に処理されるかどうかは確率的にゼロでなければ長期間運用してたら起こる可能性はあるので、その可能性があるならバッティングの処理が必要 一般的な方法としては空のファイルを作ってそのファイルが存在するかどうかで判断する 他の方法としてはsyslogやデータベースを使って、その処理は既存の仕組みで対応する
563 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:53:49.16 .net] >>544 sleepしてって考えてたけどsleep終わったあとに同時になったら・・とか思ってたが >空のファイルを作ってそのファイルが存在するか (これも存在確認後に、ってのがちょっと気になるが) >syslogやデータベース なるほど、あまり気にせず既存のを使えるのはいいな とりあえずは余裕をもって確実に順次実行できれば一般用途では大丈夫ってことかな あんがと
564 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 10:56:58.52 .net] ライブラリ ← パッケージが詰まってる └パッケージ ← モジュールが詰まってる └モジュール ← クラスや関数が詰まってる モジュール名.py
565 名前:デフォルトの名無しさん [2020/08/11(火) 11:03:18.24 ID:x3iAuc4F.net] はい
566 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 11:20:56 ID:Kv91d30/.net] >>541 withを使えばその動作は予定通りなのでは? 普通に
567 名前:openしてcloseするまえに処理の競合が起きれば、また違った動作になる [] [ここ壊れてます]
568 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 11:28:43.21 ID:1kHdySm/.net] 競合しないように書くの良いですね
569 名前:デフォルトの名無しさん [2020/08/11(火) 13:08:00.16 ID:IdGWSTlI.net] >>515 安全靴で丸坊主で歩いてるだけで逮捕だもんな 狂ってるわ
570 名前:デフォルトの名無しさん [2020/08/11(火) 13:12:55.63 ID:IdGWSTlI.net] >>544-545 セマフォの役割にはmkdir()が良いってどっかで聴いた
571 名前:デフォルトの名無しさん [2020/08/11(火) 13:24:11.52 ID:l01whKN5.net] perlの時代から有る手法で、ご丁寧なことに、被らないユニークな名前を生成してくれるモジュールまで存在していた
572 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 13:27:04.77 .net] >>548 そう ただ、デバッグのやり方がわからなかった 例えば with open('hoge.txt', mode='w') as f: _f.write('a or b') のa.py、b.py2つ用意して a.pyとb.pyを同時に何万回も起動実行したりとかすればいいのかなと >>511 なるほど
573 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 13:28:12.84 .net] >>553 訂正 mode='w' → mode='a'
574 名前:デフォルトの名無しさん [2020/08/11(火) 13:42:17.84 ID:IdGWSTlI.net] 555
575 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 14:43:16.85 ID:jY8oIKoT.net] >>536 Python で定数を定義する https://maku77.github.io/python/syntax/const.html Python には、C/C++ の const のような、定数を定義するためのキーワードは用意されていません。
576 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 14:57:39.72 ID:nKBbqh2w.net] >>536 もしかして:kotae
577 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 15:34:48.63 ID:D2zXE6xI.net] https://i.imgur.com/z8LRR8K.jpg ステップ関数をグラフにしようとしてこうやったけどならないんだけど間違ってる?? 保存先の13.svgをpreviewしても真っ白になる
578 名前:デフォルトの名無しさん [2020/08/11(火) 16:03:56.36 ID:IdGWSTlI.net] >>558 https://dotup.org/uploda/dotup.org2225187.png
579 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 16:22:25.07 ID:D2zXE6xI.net] >>559 うおおおおお! まじで助かりました!
580 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 16:29:12.57 ID:cFpL7en6.net] >>544 横だけど参考になりました
581 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 16:41:25.70 ID:93tMQ9Bj.net] >>559 ステップ関数ってy=0とy=1が同じx座標になる関数じゃないの? ズレてない?
582 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 16:43:36.93 ID:DJf2UAfN.net] これくらいのステップの方が上りやすいな
583 名前:デフォルトの名無しさん [2020/08/11(火) 17:36:53.27 ID:IdGWSTlI.net] >>562 x の刻みを増やせば解決する
584 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 18:45:02.45 ID:IUnIyxWQ.net] 今まで一つのファイルにつらつらとコードを書き連ねてたから、分割しようとしたらま〜苦労した ライブラリとかモジュールとかただコピペして使ってただけだから、from〜importとimportの違いもよくわかってなかった 独学で必要な情報だけつまみ食いしてると基本的なことが抜け落ちてて補完が大変だ…
585 名前:デフォルトの名無しさん [2020/08/11(火) 21:03:59.46 ID:7OoR6BUn.net] フレームワーク使って簡単なウェブアプリでも作ったらいい 構成からテスト、デプロイ等々、一通り網羅できるでしょ
586 名前:デフォルトの名無しさん mailto:sage [2020/08/11(火) 23:41:09.64 ID:D+9Pqaiv.net] https://imgur.com/gOoCERA https://harigami.jp/cd?hsh=1e894b6f-d705-405e-9987-613886c9e6c5 Pythonとmysql-connector-pythonについてです MySQLで画像のようなテーブルを作成し、売上が100以上200以下の社員数を営業所ごとにカウントしたいです sql_1は期待する結果を得られていますが sql_2やsql_3のようにプレースホルダーを使うと何も取得できません 変数でテーブル名や数値などを動的に使いたいです プレースホルダーを使ってsql_1を実現する方法を教えて下さい
587 名前:デフォルトの名無しさん [2020/08/12(水) 01:27:49.12 ID:t6UQqoiG.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
588 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 03:11:27 ID:UVmFgkue.net] Ruby on Rails なら、 売上.where( 売上: 100..200 ).joins( 社員 ).group( 社員.営業所 ).count Rails みたいなフレームワークを使わず、自分で文字列で、SQL 文を組み立てると、 SQL injection され放題になるけどw
589 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 08:22:16.74 .net] 【構成】 hoge_sample ├main.py └packages ├__init__.py ├sample01.py └sample02.py 【main.py】 from packages import * a = smpl01(1,2) print(type(a)) print(a) #print( dummy(1,2) ) 【__init__.py】 from .sample01 import * __all__ = [ "smpl01", '''"dummy"''' ] 【sample01.py】 from .sample02 import smpl02 def smpl01(a,b): return smpl02(a+b) def dummy(a,b): return b-a 【sample02.py】 def smpl02(s): return str(s)
590 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 08:29:12.14 .net] 疑問点 >>570 (1) 【main.py】でpackages内モジュールのクラスや関数を使う時 smpl01という名前を知っていることが前提 せめて「sample01をインポートしましたよ」みたいなマーキングは必要か? それとも【packages】みたいなパッケージのディレクトリ名から、把握しているのが前提か (2) packagesのサードパーティ製モジュールのimportは相対パスで指定している デバッグのために【sample01.py】を直接起動させると smple02が使えない
591 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 08:39:48.51 .net] 訂正 >>570 【__init__.py】 from .sample01 import * __all__ = [ "smpl01" ] #["smpl01","dummy"]
592 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 08:47:45.76 ID:+7u2t/Rq.net] まずtableがデータベースのテーブルではなくカラムになっていて紛らわしい 通報されるレベル cursor.execute()の前にcursor(prepared=True)を実行しているか分からないが大丈夫か? > cursor.execute(sql_2, (table, table, x_min, table, x_max)) は問題がないように見える > cursor.execute(sql_2, (table, x_min, x_max)) は%sと引数の数があっていない > cursor.execute(sql_3, {'table': table, 'x_min': x_min, 'x_max': x_max}) はこの文法が通用するのは比較的新しいPyMySQL(0.7.9以降?)だがバージョンは大丈夫か? https://github.com/PyMySQL/PyMySQL/blob/73c22c78d14466a5ed8029ef67ca11198234913e/pymysql/cursors.py#L158
593 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 09:09:26 ID:+7u2t/Rq.net] >>571 (1)は言いたいこと良くが分からない アスタリスクが全ての元凶のように見えるが・・・ この構成の作り方だと packages.sample01 … module packages.sample02 … module packages.smpl01 … function がmain.pyからは見える (2)は相対インポートがパッケージ内でのみ機能する記法だから 直接実行すると相対インポートがエラーになる 回避方法は python -m packages.sample01 として実行する方法だが、上記の構成で__init__.pyが定義されているため警告はでる