◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

くだすれPython(超初心者用) その50【まず1嫁】 YouTube動画>1本 ->画像>2枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1598527450/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1蟻人間 ◆T6xkBnTXz7B0 2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

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

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

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
http://2chb.net/r/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###

2デフォルトの名無しさん2020/08/27(木) 20:49:44.08ID:ygBOOYPT
スクレイピングはpythonとphpどちらが適しているのでしょか?
youtubeの動画を取得して、独自にランク付けしたいです

3デフォルトの名無しさん2020/08/27(木) 21:17:46.77ID:gGJ6aQTr
>>2
= http://2chb.net/r/tech/1595057607/986
(・∀・)カエレ!!!

4デフォルトの名無しさん2020/08/27(木) 22:04:41.93ID:aZ++Fjs5
>>2
そのレベルでスクレイピングとか100年早い
100年後に質問してくれ

5デフォルトの名無しさん2020/08/27(木) 22:47:37.22ID:/TSJ2nks
>>2
Python
やってる事は裏でseleniumブラウザを立ち上げて
を用意されたapi叩くって事で変わらないんだけど、
文字列の操作がPythonの方が優れてから

6デフォルトの名無しさん2020/08/28(金) 00:38:42.99ID:LEZPXhgF
>>2
スクレイピングに適しているのはJavaScript。

7デフォルトの名無しさん2020/08/28(金) 00:56:10.15ID:eqvlrCYP
確かにpuppeteer楽だね
selenium導入たいへん

8デフォルトの名無しさん2020/08/28(金) 05:54:47.41ID:7ps1QWM6
>>6
嘘ですよね?

>>5
そうしますです

9デフォルトの名無しさん2020/08/28(金) 06:00:04.39ID:7ps1QWM6
>>5
phpのほうが古くから使われてそうですけどね、この分野では

10デフォルトの名無しさん2020/08/28(金) 07:09:53.91ID:7ps1QWM6
rss取得にはpythonとphpどちらがいいのでしょうか?
1つのサイトを構築する場合、どちらか一方に絞ったほうがいいのですか?

11デフォルトの名無しさん2020/08/28(金) 07:40:02.81ID:/eDPNzX9
再び漂うクソ質問者臭

12デフォルトの名無しさん2020/08/28(金) 09:28:51.64ID:Q0CTYRG1
Web系でPython使ったことないんで何か出来ないかなと探したがWebだと別にPython使う必要ないな

13デフォルトの名無しさん2020/08/28(金) 10:12:09.60ID:7ps1QWM6
スクレイピングした結果をサイト上に表示するというものですが、pythonかphpか分からないです。

14デフォルトの名無しさん2020/08/28(金) 10:17:00.64ID:kClMeigf
フォルダをファイル名に と同じ奴?
コテ付けてくれ

15デフォルトの名無しさん2020/08/28(金) 10:32:29.37ID:LLs1s+XQ
リファレンスじゃなくてチュートリアルのURL貼っといて
リファレンスに描かれてないじゃないか!ってクレーマーω

16デフォルトの名無しさん2020/08/28(金) 11:14:22.43ID:CzRmvnjE
スクレイピングは、Ruby で、Nokogiri, Selenium WebDriver。
driver.execute_script で、JavaScript のコード(文字列)も実行できる

データベースに保存するなら、Rails をそのまま使うのが速い。
Capybara で、Headless Chrome を使う

17デフォルトの名無しさん2020/08/28(金) 12:23:17.68ID:5nZNKLNm
めんどくささここに極まる

18デフォルトの名無しさん2020/08/28(金) 14:39:31.15ID:QbWLWqeS
どんな言語でもweb driverの扱いが違うだけでgoogle driverを操作だかんね
因みにgoogle driverの挙動が安定しいから辛い

19デフォルトの名無しさん2020/08/28(金) 14:40:05.97ID:QbWLWqeS
google driverじゃなくてchrome driverだ

20デフォルトの名無しさん2020/08/28(金) 15:03:45.11ID:uQOAsR20
>>18-19の挙動が不安定な件
もちつけ
> 安定しい

21デフォルトの名無しさん2020/08/28(金) 15:04:21.30ID:uQOAsR20
>>13
Pythonに決めずに
phpへ出てってどーぞ

22デフォルトの名無しさん2020/08/28(金) 20:15:44.66ID:v0Wakv/0
pcでgui組むのに実装が楽で自由度の高いフレームワークって何ですか?

23デフォルトの名無しさん2020/08/28(金) 20:24:15.23ID:h+YcnFF0
そんな相反することを平然と…

24デフォルトの名無しさん2020/08/28(金) 20:38:28.42ID:LEZPXhgF
>>22
HTML/CSSを使ったもの

25デフォルトの名無しさん2020/08/28(金) 20:56:25.22ID:5nZNKLNm
electronかな。VSCodeもこれで作られてる

26デフォルトの名無しさん2020/08/28(金) 20:57:42.63ID:uQOAsR20
>>24に一票w
あとJavaScriptまでならセーフ

27デフォルトの名無しさん2020/08/28(金) 21:17:22.95ID:v0Wakv/0
visualstudio vbやc#の直感的で色々プロパティが揃ってxml形式の似たもの無いかと探してた。
tkinkerは画面配置がgridとreplaceが合わさった要素がなくてちょっと大変さを感じた。
flutterはxmlいじいじ出来るけどちょっと大変さを感じた。

>>25
electron調べてみます。

>>24
>>26
それがimportしてフレームワークオブジェクトとし使えるものはありますか?

28デフォルトの名無しさん2020/08/28(金) 21:19:12.87ID:uQOAsR20
>>27
くそみそimportと考える前に少しぐぐろうぜw

29デフォルトの名無しさん2020/08/28(金) 21:51:09.24ID:v0Wakv/0
>>28
>>1

1日、2日の知識で検索しても道に迷います。

30デフォルトの名無しさん2020/08/28(金) 22:11:40.68ID:uQOAsR20
>>29
  >>14
  そうじゃなくてもはやくクソコテつけてね

31デフォルトの名無しさん2020/08/28(金) 22:46:25.94ID:kClMeigf
ぶっちゃけおまえにはC#がお似合いだと思うから.Netにどっぷり浸かっとけ
で、さっさとコテつけろや

32デフォルトの名無しさん2020/08/28(金) 22:49:36.70ID:U+aOsbk9
>>29
道に迷ってからまた来い

33デフォルトの名無しさん2020/08/28(金) 22:51:59.39ID:U+aOsbk9
>>32
追加。
ググったけど分かりませんでした、ではなく、調べたこと考えたことをもとにもっと具体的な質問に落とし込めよ

34デフォルトの名無しさん2020/08/28(金) 23:07:28.50ID:/eDPNzX9
>>29
このクソは
・日に数回質問
・コテハンつけない
・質問の背景を伝えない
・情報を細切れで後出し
・クレクレくんのテイカー

邪魔なのでNGにブチこみたいけどできない
💩🦟

35デフォルトの名無しさん2020/08/29(土) 09:32:51.33ID:qgT4YAAE
ショッピングモールを歩いてるところを狙って包丁でメッタ刺しにしてやれ

36デフォルトの名無しさん2020/08/29(土) 11:39:51.74ID:LGKrWxDk
お前らって一生平社員から上がれなさそうだな。
30〜50の人がそんなコメントしてると思うと哀れみ感じるよ

37デフォルトの名無しさん2020/08/29(土) 15:50:46.22ID:dz1QqfS0
>>34
お礼すると死ぬ、も追加で

38デフォルトの名無しさん2020/08/29(土) 16:14:40.62ID:SVE449ru
>>36みたいな自宅警備員よりはまし

39デフォルトの名無しさん2020/08/29(土) 18:31:38.70ID:DuyZsB80
答えなければいいだけなのに何に怯えているのか

40デフォルトの名無しさん2020/08/29(土) 19:45:02.75ID:olsgpx0a
でもお前全然回答してないじゃん

41デフォルトの名無しさん2020/08/29(土) 19:59:59.48ID:SVE449ru
真実を言ってさしあげるなwww
ヒドスwwwww

42デフォルトの名無しさん2020/08/29(土) 21:55:47.00ID:yFCNxlZp
くだすれPython(超初心者用) その50【まず1嫁】 YouTube動画>1本 ->画像>2枚

43デフォルトの名無しさん2020/08/30(日) 14:13:45.36ID:GgAZZaQa
他人の痛みが判る人間になってくださいね

44デフォルトの名無しさん2020/08/30(日) 17:35:22.13ID:+2JsQ7HK
A:他人の痛みが分かる
  A-1:痛みを攻撃する
  A-2:攻撃しない
B:他人の痛みが分からない

45デフォルトの名無しさん2020/08/30(日) 23:19:44.11ID:YboAnHSb
df.loc[df['lr_residue'] > lr.residual_threshold, 'outlier_flag'] = True

この条件式を満たさなかったらFalseを入力したいのですが、どう書けば良いのでしょう?

46デフォルトの名無しさん2020/08/31(月) 00:30:19.99ID:QBydGwYC
True if (条件式) else False

47デフォルトの名無しさん2020/08/31(月) 00:35:32.63ID:qofV3zSx
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw

48デフォルトの名無しさん2020/08/31(月) 11:35:18.93ID:pX0ZQbZW
>>45
df.loc[df['lr_residue'] <= lr.residual_threshold, 'outlier_flag'] = False

49デフォルトの名無しさん2020/08/31(月) 14:43:51.70ID:BQ9c+OGL
>>45
is_outlier = lambda x: x > lr.residual_threshold
df['outlier_flag'] = df['lr_residue'].apply(is_outlier)

50デフォルトの名無しさん2020/08/31(月) 15:04:09.77ID:YTLeuKSy
try exceptで例外に関するメッセージを出すことをしたんだけど、
例外発生時にその後の処理をスキップするにはどうしたらいい?

51デフォルトの名無しさん2020/08/31(月) 17:13:53.52ID:e4sW0kiW
pass

52デフォルトの名無しさん2020/08/31(月) 17:26:43.06ID:PbFnPWGE
握り潰して良いケースってそんなに無いぞ

53デフォルトの名無しさん2020/08/31(月) 17:57:36.18ID:v1ptRDD0
returnかraiseって事じゃなくて?

54デフォルトの名無しさん2020/08/31(月) 18:11:26.34ID:FROJpIhI
>>50
returnに1票

pyそのものを終わらせたいならexit()だったっけか

55デフォルトの名無しさん2020/08/31(月) 19:32:33.49ID:B/OVLCcu
https://qiita.com/sssssssiiiiinnn/items/14f7035abe9ce4111323

これの
user_name
user_password
を自分のやつに、
'utf-8':'✓' → "commit":"Qiita+%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3"
へ変更
あとはそのままで最後に.textをprintしたけど
ログイン遷移画面のhtmlが出力される
urllib.parse.quoteでログインに必要なパラメータ全部をURIに変換してみたけど
英語ページのログイン遷移画面が返された

そもそもこれでログイン後のページを取得できるのでしょうか?
あとはpost時にcookie渡す方法もちょっと今からやってみます

56デフォルトの名無しさん2020/08/31(月) 19:44:09.61ID:B/OVLCcu
よくよくみたら遷移後のページは
エラーが発生しました (500)
500ページでした

57デフォルトの名無しさん2020/08/31(月) 19:58:45.40ID:B/OVLCcu
自己解決しました
どうやらname=authenticity_tokenのinput要素が
GitHubでログイン、Twitterでログイン、Googleでログイン、ユーザー名でログイン
の4種類くらいあったみたいです
なのでbs.find(attrs={'name':'authenticity_token'})[-1].get("value")
でユーザー名でログインのauthenticity_tokenを取得してpostしてやればログインできました
お騒がせしました

58デフォルトの名無しさん2020/08/31(月) 20:04:08.82ID:ErZZGkIM
>>50
return

59デフォルトの名無しさん2020/08/31(月) 20:20:36.60ID:FROJpIhI
>>57
解決おめ&報告おつ

60デフォルトの名無しさん2020/08/31(月) 21:39:03.01ID:dESTpyrn
>>48
>>49
ありがとうございます。
こういうふうにきれいに一行で書けるのってPythonの魅力ですね。

61デフォルトの名無しさん2020/08/31(月) 22:14:00.03ID:tHgQtCtq
>>52
catchして何もしないというとこんな風に「握りつぶしちゃイカン」という奴が出てくるけど、脊髄反射だよな。

62デフォルトの名無しさん2020/08/31(月) 22:33:46.13ID:7gVW3Vi7
pythonスクレイピングで深い階層をたどる場合、ひたすらrequests.getを繰り返していく感じでいいんでしょうか?

63デフォルトの名無しさん2020/08/31(月) 22:36:28.67ID:FROJpIhI
>>62
その前にそこの規約くらい読んどけよ
かつ「適度な負荷」までしとかないと…

64デフォルトの名無しさん2020/09/01(火) 00:18:37.31
スクレイピングの話になると
質問者が負荷を考慮しない前提で決めつけて話するタイプが一定数いるよね
もう性癖なんじゃないのかとすら思う
自身が過去に何かやらかしたとかそういう

65デフォルトの名無しさん2020/09/01(火) 00:37:31.71ID:jW2tL90W
但し摩擦はないものとする

66デフォルトの名無しさん2020/09/01(火) 01:29:52.79ID:usFRsaVF
>>62
>深い階層をたどる
これが何を意味してるのかと、実現したいことによる
ただそれはpythonかどうかに限らずどの言語でもほぼ同じ

67デフォルトの名無しさん2020/09/01(火) 01:30:54.95ID:3QGLsor2
>>58
>>54
帰り値なしでreturnか。ありがとう。
やってみる。

68デフォルトの名無しさん2020/09/01(火) 04:27:21.73ID:XOAV8SJl
想像だけど、これまではtry exceptしてなかったんでしょう?
元の処理と同じ流れにしたいならexcept内でraiseでないかと

69デフォルトの名無しさん2020/09/01(火) 05:09:19.62ID:3Deqahob
>>66
例えばyahooのトップを起点にして、ショッピング>レディースファッション
と進んでいく感じですね
https://www.yahoo.co.jp/

70デフォルトの名無しさん2020/09/01(火) 05:13:15.64ID:3Deqahob
>>63
タイマーでインターバル入れます

71デフォルトの名無しさん2020/09/01(火) 08:24:32.61ID:j9jeQR8Z
>>64
pythonはじめました → スクレイピングやってみよ
質問してくる奴はほぼ負荷なんて気にしてないレヴェル
pythonは他言語より低レヴェルなプログラマー多いよ

72デフォルトの名無しさん2020/09/01(火) 08:25:56.52ID:j9jeQR8Z
>>70
ほらな、この程度。
innertextの中身のチェックくらい入れろってんだよ

73デフォルトの名無しさん2020/09/01(火) 08:37:01.74ID:wAKzgXIy
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw

74デフォルトの名無しさん2020/09/01(火) 09:37:02.67ID:3Deqahob
すみません、どうかご教示願えないでしょうか?

75デフォルトの名無しさん2020/09/01(火) 09:50:30.98ID:SZww1T26
迷惑行為に他人を巻き込むな
迷惑行為したいなら自己責任の元、自分の力でやれ

76デフォルトの名無しさん2020/09/01(火) 10:11:12.00ID:FqTPqd+i
スクレイピングって初心者がよくやりたがる題材だが、初心者こそこういう人に迷惑を掛けうるものに手を出すべきではないな
もっと他のことで基本的な力を身に付けてから手を出した方がいいと思う

77デフォルトの名無しさん2020/09/01(火) 10:20:17.45ID:61d8SwkQ
トップ>ショッピング>レディースファッションとたどるだけで過剰負荷ってどんだけ貧弱なサーバーなんだよ。

78デフォルトの名無しさん2020/09/01(火) 10:42:15.31ID:x63jWwwu
【PHP】下らねぇ質問はここに書き込みやがれ 11
http://2chb.net/r/tech/1591334726/428

上に、Ruby で、RSS ライブラリを使って、yahoo のRSS を取得した、コードを書いておいた

API・RSSなどが公開されているサイトでは、契約してそれを使えばよい

頻繁なスクレイピングは業務妨害になるので、避けるべき!
1日1回なら、たぶん大丈夫

詳しくは、サイトのrobots.txt に書いてある

79デフォルトの名無しさん2020/09/01(火) 11:49:29.14ID:HreNCevR
しかもDOMの基本もわかってない人も多いからかえって言語覚えるのには遠回りっていうね

80782020/09/01(火) 12:02:19.87ID:x63jWwwu
5ch など、ほとんどのサイトは一旦、空のHTML を送ってきてから、Ajax でデータを取得するから、
普通にスクレイピングしても、データが存在しないので取得できない

10秒ぐらい待つとか、Selenium Webdriver を使って、ブラウザを操作する必要がある

特に、yahoo は、ID も少なく、暗号のようなクラス名ばかりで、
解析するのに、かなり苦労する

会社が公開している、API・RSS などを使うべき!

81デフォルトの名無しさん2020/09/01(火) 12:22:02.61
>>71
そんなこと言い出せば
今までITやプログラミングに縁のなかったそこらの一般人がpythonはじめましたなんていうことは確率的に低い

82デフォルトの名無しさん2020/09/01(火) 12:30:47.28ID:usFRsaVF
>>69
階層だけど、それめちゃ浅くね?
それにトップから辿らなくてもカテゴリのIDはそう変わらないから直接アクセスすればいいんじゃないの?

あとはレディースファッションとかに表示される商品情報はAJAXで取ってきてるから
requestsでやるならXHRのリクエストをWebサイトがやってるのと同じようにやるのと
レスポンスにある各項目の意味を把握しておく必要があるので少し面倒
(そのかわりSeleniumとかのブラウザ操作系に比べれば高速)

83782020/09/01(火) 12:44:38.65ID:x63jWwwu
カテゴリのID は変わらないとか、
暗号のようなクラス名は変わる・変わらないのか、分からないとか、
漏れらは、そのサイトの作者じゃないから、仕様が分からない

答えを推測するしかできないから、
答えを知ってる香具師・作者と比べれば、圧倒的に不利

何回もスクレイピングして、テストしないといけない。
また翌日になれば、クラス名などが変わるかも知れないから、何日間もテストしないといけない

どういうルールで、クラス名などを決めているのか、分からない

だから、クラス名に頼らず、div の下のdiv の、みたいに構造で分析していかないといけない。
ものすごく深いネストを解析するのは、面倒くさい

84デフォルトの名無しさん2020/09/01(火) 12:55:56.71ID:/NSRorCL
これはひどい
https://www.尼zon.co.jp/dp/4798161918

85デフォルトの名無しさん2020/09/01(火) 13:58:27.45ID:2GwzERnJ
>>83
APIが提供されているならそっちの方が簡単だよね

86782020/09/01(火) 15:39:23.88ID:x63jWwwu
こういう動画を見れば?

エンジニアチャンネル、粟島

【検証】現役プログラマーは30万円の案件を何時間で出来るのか?



YouTube のスクレイピング。
API を使って、Ruby で1時間

時給30万円!

87デフォルトの名無しさん2020/09/01(火) 16:24:34.68ID:fuWow3G5
>>57
>>59
find_all ね

88デフォルトの名無しさん2020/09/01(火) 16:57:12.56ID:qDG6bTcu
>>81 今は大学で教えてるんじゃないの? 一番教えやすいから。
アメリカだとPython がわかるかどうかが採用条件になってる会社もある。

日本はRuby が普及してたから出遅れてる。

89デフォルトの名無しさん2020/09/01(火) 17:20:10.19
そういうことじゃなくてpython知ってるかどうかやり始めたかどうかはどうでもよく
○○を知らないはず(妄想) → ○○やれよ(確信)、と指摘する
みたいなレッテル貼りの認識が抜けてるってのがおかしいでしょってこと
仮に○○が当たってたとしても、妄想でしかない

90デフォルトの名無しさん2020/09/01(火) 19:15:53.31ID:ZfPGOnHz
エスパーしかこたえるなといったり
今度はエスパーにレッテル貼りといったり
さすが、尻にう●こついてるだけあって
脳の新陳代謝が活発でいそがしいなw

91デフォルトの名無しさん2020/09/01(火) 19:29:55.15
エスパーと説教は違いますよ(笑)

92デフォルトの名無しさん2020/09/01(火) 19:31:53.51
というか今回の件で言えば質問の答えですらないし

93デフォルトの名無しさん2020/09/02(水) 00:41:15.18ID:9Rt4BaK9
>>92
それな

94デフォルトの名無しさん2020/09/02(水) 08:56:59.29ID:cf3sTGi+
朝鮮人にpythonは無理ゲーw

95デフォルトの名無しさん2020/09/02(水) 11:28:30.13ID:uEUYmCsp
統計処理

グラフ出力

のアプリを作成したらコードが600行ぐらいになって非常に見にくくなりました。
こういうときって、統計処理とグラフ出力などをクラスとして分けるべきなのでしょうか?
現在は各処理を関数にしているだけなのですが・・・。

96デフォルトの名無しさん2020/09/02(水) 12:09:44.90ID:KDiI+t6P
githubに公開するつもりでモジュール化すればおのずと形になりそう

97デフォルトの名無しさん2020/09/02(水) 12:43:16.85ID:oPbAh6sy
>>95
モジュール

98デフォルトの名無しさん2020/09/02(水) 12:43:56.82ID:CUgqg1rv
>>95
モジュール

99デフォルトの名無しさん2020/09/02(水) 14:58:25.48ID:PicHUi2j
VBAで描いたら6000行は下らないから
pythonで600行なら良く出来た方じゃね

100デフォルトの名無しさん2020/09/02(水) 14:59:44.60ID:/XFBlUpE
>>95
モスコミュール

101デフォルトの名無しさん2020/09/02(水) 15:28:52.69ID:D/RfpMe8
>>99 Python でそんなになるはずないだろ。
統計処理で何をやってるのか知らないけど。matplotlib でグラフを書くだけだろ。

102デフォルトの名無しさん2020/09/02(水) 16:32:21.76ID:U40YU3HI
jupyter/scipy-notebook というDocker を使えば、一式揃っているのでは?

103デフォルトの名無しさん2020/09/02(水) 16:59:24.39ID:uEUYmCsp
1 データ成型
2 統計書
3 グラフ出力
4 画像出力

とやってたら600行越えてちょっとややこしくなってきました。
1〜4の間でやり取りするデータやDFが多いのと、
単なる逐次処理で、クラスにしても内部保持するデータがないのでどうすればいいのかと悩んでます。

モジュール化勉強してみます。

104デフォルトの名無しさん2020/09/02(水) 17:03:34.59ID:PicHUi2j
描き捨てならメリット無い
モジュール化して見透しが良くなったりするかも知れないが行数は減らないだろう

105デフォルトの名無しさん2020/09/02(水) 17:07:08.13ID:uEUYmCsp
すいません。
もう一つ質問なんですが、
関数で引数がなかったら処理1、引数があれば引数をつかった処理2をさせたいときは以下のようなコードをかけば良いのでしょうか?

def show_start_menu(hoge=None):

if (hoge is None):
処理1

else:
print(hoge)

106デフォルトの名無しさん2020/09/02(水) 17:10:14.14ID:65NJoCJF
>>105
>if (hoge is None):
>処理1
ここ↑って
if hoge:
処理1
じゃ、イカン何か特別な理由ある?
あと、引数でNoneが渡ってくる可能性は0?

107デフォルトの名無しさん2020/09/02(水) 17:11:49.02ID:65NJoCJF
>>103
104を読め

そして
おれいをいうとチヌ病気をなおせ

108デフォルトの名無しさん2020/09/02(水) 17:12:11.98ID:PicHUi2j
def function(*hoge):

def function(**fuga):

def function(*hoge, **fuga):

109デフォルトの名無しさん2020/09/02(水) 17:45:10.63ID:6BwXysZH
ほげほげふが

110デフォルトの名無しさん2020/09/02(水) 18:09:21.38ID:oPbAh6sy
>>104
見通しがよくなるのがメリットでしょ
書捨てでも600行もあれば見通しが悪いと変更に時間がかかるようになる
それにコードを構造化することで考え方やパターン認識が強化できるから上達も早くなるよ

111デフォルトの名無しさん2020/09/02(水) 18:11:15.00ID:65NJoCJF
> パターン認識が強化できる
ヒソ( ´・д・)ヒソ(´・д・`)ヒソ(・д・` )ヒソ

112デフォルトの名無しさん2020/09/02(水) 18:32:57.09ID:oPbAh6sy
>>105
Noneでもいいけどデフォルト値が使えるならそのほうがベター
関数定義時にデフォルト値が定まらず
呼び出し時に動的に評価させたい場合はNoneにする

113デフォルトの名無しさん2020/09/02(水) 18:44:05.33ID:7n9X1hO3
デフォルト引数の =[] でハマる人ですね判ります

114デフォルトの名無しさん2020/09/02(水) 20:52:48.67ID:oPbAh6sy
>>113
そういうのは一度ハマればいいと思うよ
色んな意味でPythonのレガシーなところを知る取っ掛かりになるから

115デフォルトの名無しさん2020/09/02(水) 20:55:16.63ID:65NJoCJF
さらっとエンバグすすめんなw

116デフォルトの名無しさん2020/09/03(木) 01:02:16.73ID:HRrMH9TX
エンバーーーーグ
嫌ぁああああ♪
I will always love youぅううう♪

117デフォルトの名無しさん2020/09/03(木) 01:06:00.70ID:9keo2Hbe
c#からpython起動するときにcsvファイルのパスを渡したいのですがこういうときってどうやるのでしょう
どうもc#から起動時に飛ばさpythonのに引数としてパスは渡せないっぽい。テキストファイルに書き込んでやり取りがシンプルなのかな

118デフォルトの名無しさん2020/09/03(木) 04:22:16.36ID:FwEdzFo5
>>117
json

119デフォルトの名無しさん2020/09/03(木) 06:47:41.92ID:lLKpXXcZ
>>117
なわけ無いだろ。やり方がおかしいだけ

120デフォルトの名無しさん2020/09/03(木) 07:33:38.71ID:1sdfw5t+
>>117
>飛ばさpythonのに引数としてパスは渡せない
おまえがばぐっとるぞw
なおせ
はなしはそれからだ

121デフォルトの名無しさん2020/09/03(木) 08:35:20.00ID:QpPhCbCy
チョンは犯罪者!
日本から駆逐すべき!

122デフォルトの名無しさん2020/09/03(木) 13:01:05.48ID:DK3Ul6vK
C#のスレにマルチしてた人か
もう解決しただろ

123デフォルトの名無しさん2020/09/03(木) 16:18:10.35ID:a0nrio53
Notepad++ はauto complete使えるですか?
vs codeが楽なんでしょうけどね

124デフォルトの名無しさん2020/09/03(木) 17:29:40.22ID:1sdfw5t+
>>123
Notepad++はPythonじゃない件

125デフォルトの名無しさん2020/09/03(木) 17:30:35.78ID:1sdfw5t+
(設定できる腕前があるようなヤツなら
ぐぐってとっくに使ってるだろJK)

126デフォルトの名無しさん2020/09/03(木) 20:11:34.47ID:oRLrJFx7
>>123
使えるよ
https://npp-user-manual.org/docs/auto-completion/
でも同梱されてる補完用のxmlファイルはpython2用のままだと思うので、自分で修正するか、jediとか使った方が良いかも
vscodeの方が日本語の情報も多いしオススメ

127デフォルトの名無しさん2020/09/03(木) 21:16:33.96ID:9keo2Hbe
tkinterで

root = tk.Tk()
button = tk.Button(root, text='時系列で分析', width=20,
font=menu_font, command=graph(root))

def graph(root):

としてgraph関数ないでrootから取得した値を使いたいのですが、

button = tk.Button(root, text='時系列で分析', width=20,
font=menu_font, command=graph)

としないと、ボタンを幼くてもgraph(root)が実行されてしまいます。
ボタンを押したら引数を渡して関数を実行させるにはどうしたらいいのでしょう?

128デフォルトの名無しさん2020/09/03(木) 21:53:57.71ID:mT93v89x
>>127
command=lambda:graph
でどうかな?

参考サイト
https://teratail.com/questions/118018

129デフォルトの名無しさん2020/09/03(木) 22:41:45.57ID:9keo2Hbe
>>128
ありがとうございます
引数渡すことは出来ました

130デフォルトの名無しさん2020/09/03(木) 22:44:30.33ID:9keo2Hbe
ボタンが押されたらテキストボックスに入力した名前を習得し、
analyze関数にわたしたいのですが、

# Make text box
txt = tk.Entry(root, width=20)

name = txt.get()

# Button1
button1 = tk.Button(root2, text='1データを分析', width=20,
font=menu_font, command=lambda: analyze(name))

ではうまくいきません。
一つのボタンでテキストボックスの名前取得、関数に引数として渡して実行の2つを行う方法ってないでしょうか?

131デフォルトの名無しさん2020/09/03(木) 22:52:29.22ID:9keo2Hbe
もしくは

button1 = tk.Button(root, text='1データを分析', width=20,
font=menu_font, command=lambda: analyze(root2))
button1.place(x=120, y=90)


def analyze(root):
name=root.txt.get()
print(name)

みたいな感じでrootを渡してcommandから呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。

132デフォルトの名無しさん2020/09/03(木) 22:53:26.89ID:9keo2Hbe
すいませんコード修正します。

もしくは

button1 = tk.Button(root, text='1データを分析', width=20,
font=menu_font, command=lambda: analyze(root))
button1.place(x=120, y=90)


def analyze(root):
name=root.txt.get()
print(name)

みたいな感じでrootを渡してcommandから呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。

133デフォルトの名無しさん2020/09/03(木) 22:53:45.02ID:mT93v89x
自分もまだまだ初心者で分からない所あるけど流れからすると

1.画面開く
2.テキスト実装
3.テキストの値取得(空っぽ)
4.ボタンの実装

ボタンを押した時の引数値は2の値
もし、2で正しく値が取れてるなら引数にtxt.get()を渡す。
もしくはnameをglobal宣言

134デフォルトの名無しさん2020/09/03(木) 23:08:17.66ID:9keo2Hbe
global変数はスコープの関係でのちのちややこしくなるので、定義したくないんですよね。
でもググった例では確かにグローバル変数使ってるんですよね。

GUIのボタンを押したらテキストボックスから値を取得するだけのことなのに、
なんでこんなに難しいんだろう・・・。

135デフォルトの名無しさん2020/09/03(木) 23:10:57.19ID:0NFHPd2z
馬鹿には無理

136デフォルトの名無しさん2020/09/03(木) 23:37:06.03ID:0U0YdbWY
この連投カスだけはうまくいかないとざまあと思うわ

C#
Windowsのフォルダパス
スクレイピング
イテレータ

137デフォルトの名無しさん2020/09/03(木) 23:48:10.20ID:9keo2Hbe
質問をきちんと整理すると

関数内で
1. ウィンドウ、テキストボックス、ボタンを作成
2. ボタンを押したらテキストボックスの値を取得
をしたいのですが、

def sub_menu():

# Make text box
txt = tk.Entry(root, width=20)

# Button1
button1 = tk.Button(root2, text='テキストボックスの値を取得', width=20,
font=menu_font, command=????????)

command=????????
のところでどう記述すればテキストの値を取得できるんでしょう?

138デフォルトの名無しさん2020/09/03(木) 23:56:08.09ID:pZSgCrgx
pyqtにしてみたら

139デフォルトの名無しさん2020/09/04(金) 00:04:29.92ID:x27eEnB4
>>128
ありがとうございます
引導渡すことは出来ました

140デフォルトの名無しさん2020/09/04(金) 00:29:41.73ID:3nni6rVq
ひかえーい!ひかえおろー!!

141デフォルトの名無しさん2020/09/04(金) 00:33:38.52ID:Wl7qFIBb
HTML, jQuery では、
ボタンをクリックすれば、入力コントロールから文字列を取得する

<input type="text" id="Text1" value="あいう">

<button id="Button1">押して</button>

<scr@ipt>
$( "#Button1" ).click( function ( ) {
console.log( inputText = $( "#Text1" ).val( ) )
} )
</scr@ipt>

<scr@ipt> の@ は、5ch に書き込めないので入れたので、無視して

142デフォルトの名無しさん2020/09/04(金) 06:44:21.02ID:cc1Vcc3X
vscodeが重いのですが、軽量エディタあるですか?
補完ありで

143デフォルトの名無しさん2020/09/04(金) 07:18:31.82ID:jvrr6lZ7
>>142
notepad++を自前で補完セッティングする
Py3に対応する設定が完成したら、ぜひ配布してくれ

144デフォルトの名無しさん2020/09/04(金) 07:56:26.39ID:xAjvg3mj
goto文でもグローバル変数でも、神の逆鱗に触れて世界が滅ぶわけでもないので、必要性に応じて適切に使用すればいいよ。
何も考えずに全てgotoだけ、全てグローバル変数だけってのが良くないだけ。

145デフォルトの名無しさん2020/09/04(金) 08:23:50.11ID:cc1Vcc3X
>>143
どうやって作るの?
c++?

146デフォルトの名無しさん2020/09/04(金) 11:26:22.18ID:XpUpcTyA
Sublime text

(win)Pythonの開発環境(IDE)としてSublimeText3を使う。
https://qiita.com/FireFoxCorp/items/01d79207ab071c2a7522

コード補完ツール kite
https://acokikoy.
hatenablog.com/entry/2019/03/09/133840

147デフォルトの名無しさん2020/09/04(金) 13:59:03.66ID:jvrr6lZ7
>>145
どっかでPy2用セッティングが配布されてるから
落としてきて改変よろしく

148デフォルトの名無しさん2020/09/04(金) 14:10:39.73ID:l2EHvy2i
引数
引導
印籠
陰嚢

149デフォルトの名無しさん2020/09/04(金) 17:47:58.12ID:RUA5Nqz0
async関数内のawait文(コルーチン?)をWhile True文内で定期実行することは難しいのでしょうか?
非同期処理は学習中なのですがいまいちよくわかりませんでした

150デフォルトの名無しさん2020/09/04(金) 21:38:58.26ID:x5PBGnu2
>>145
py2用は最初から入ってるよ
>>126

151デフォルトの名無しさん2020/09/05(土) 13:03:15.23ID:39rD+iX+
vimって補完使えるんですか?

152デフォルトの名無しさん2020/09/05(土) 13:09:54.66ID:39rD+iX+
>>150
python3用は自分で設定するのですか?
あと文法チェックっはないでしょうか?
vccodeのターミナルみたいなやつです
dbgpというのがありますけど

153デフォルトの名無しさん2020/09/05(土) 14:34:41.49ID:UJIZnxu4
>>151
vimもいろいろな補完の方法があるよ
「vim python 補完」で検索すれば詳しい解説がたくさん見つかるから読んでみて

>>152
notepad++の補完は↓読めばわかるよ
https://npp-user-manual.org/docs/auto-completion/
同梱されてるpython.xmlはpython2用なので、それを自分で修正する必要がある
文法チェックは本体にはないけど、外部ツールと組み合わせてできるよ
「notepad++ python lint」とかで検索するといろいろな方法が見つかる
https://github.com/deadem/notepad-pp-linter
https://stackoverflow.com/questions/4987920/python-correctness-i-e-lint-analyzing-for-notepad
pylint.bat使う方法は、notepad++に限らず、いろいろなエディタと組み合わせて使えるよ

154デフォルトの名無しさん2020/09/05(土) 14:47:21.43ID:39rD+iX+
>>153
どうも
vim試してみましたが操作が独特すぎたのでnotepadにしときます

155デフォルトの名無しさん2020/09/05(土) 14:50:27.39ID:39rD+iX+
>>153
pythonに関してはモジュールまでは補完されないようです
デフォルトでは

156デフォルトの名無しさん2020/09/05(土) 15:02:06.28ID:39rD+iX+
phpの場合はxdebugというのが必要でしょうか?何にしてもデフォルトで文法チェックはできないみたいですね
軽量なのが魅力なんですがね

157デフォルトの名無しさん2020/09/05(土) 15:07:34.45ID:iGsEfTXU
phpはPythonじゃないぞ
(・∀・)カエレ

158デフォルトの名無しさん2020/09/05(土) 16:39:20.68ID:xH7brzyl
>>151
vimは一度でもあの操作体系になれちゃうと、それ無しではコード書きたくなくなる程度に中毒性があるから、手を出さない方がいいですよ
慣れちゃった人は新しいエディタ触るときでも無意識に同じ操作体系使えるようになるvisvimみたいなツール探してしまうっていうし

159デフォルトの名無しさん2020/09/05(土) 17:16:03.77ID:VXJBsegh
TEXTエディタでimport したモジュールの補完までできるのってあるのかな?

Python専用IDEなら当然だが。

160デフォルトの名無しさん2020/09/05(土) 17:44:16.99ID:HZ8zC1Q4
>>159
vscodeだったら普通に対応してるぞ
というか導入しやすさ考えるとテキストエディタはほぼvscode一択レベル

161デフォルトの名無しさん2020/09/05(土) 18:14:45.06ID:oHfHPBnf
>>159
jedi-vimだったらimportというか実行環境に登録されてるpathは追ってくれた気がする

162デフォルトの名無しさん2020/09/05(土) 18:43:26.83ID:39rD+iX+
やっぱvscodeが一番ですよね
しばらく放置したあと、アクティブにするともたつくんですが、ssdにするといいんでしょうか?
放置したあとにもたつくというのは、おそらくデータをhddに退避させているということだと思います。
タスクマネージャを見るとhddへのアクセスが集中しますので(´・ω・`)、、、

163デフォルトの名無しさん2020/09/05(土) 19:23:27.08ID:FIgbh/lD
ほかのエディタやIDEにVSCodeのRemote Containerと同等の拡張機能が追加されない限り、pythonの開発環境はVSCode一択や

それくらい革命的

164デフォルトの名無しさん2020/09/05(土) 20:27:57.89ID:PVFZCM04
辞書型のデータを文字列に変換して出力してるんですけど
キーを囲っているコーテーションがシングルで出力されます
これをダブルコーテーションで出力するにはどうしたら良いんでしょう?

165デフォルトの名無しさん2020/09/05(土) 20:49:01.37ID:PVFZCM04
すいません>>164はなかったことに

166デフォルトの名無しさん2020/09/05(土) 21:34:34.84ID:/gaK0RR/
質問です
Pythonをターミナルからファイルで実行して、
実行中に引数を受け渡してプログラムでその引数を受け取ってプログラムの処理を変えるというのはどうしたらできますか?

例えば、
def sum_numbers(x, y)
answer = x + y
return answer

というcalc_numbers.pyというファイルがあって、
ターミナルから python calc_numbers.py 1 1
と実行したあとに
実行中にもう一度 python calc_numbers.py 2 2
とし直して計算結果を変えたいのです
よろしくお願いします

167デフォルトの名無しさん2020/09/05(土) 21:55:12.29ID:3ODLTOe4
sys.argv

168デフォルトの名無しさん2020/09/05(土) 22:03:23.14ID:TSad4edo
ターミナルで実行(引数a)するとプロセス1が起動します。
例えばループ処理で常駐化した状態でターミナルで最実行(引数b)するとプロセス2が起動するので難しいです。

プロセス間非同期処理まで考慮すれば…ですが初心者には難解です。

代替案として以下の感じですかね?
1.ループ処理:
2.入力待機処理:
3.計算処理

169デフォルトの名無しさん2020/09/05(土) 22:09:09.99ID:l/GIyZ6Q
>>166

ん?こういうことかな?

import calc_numbers

rt1 = calc_numbers.sum_numbers(1,1)
print(f'{rt1}')
rt2 = calc_numbers.sum_numbers(2,2)
print(f'{rt2}')

170デフォルトの名無しさん2020/09/05(土) 22:18:31.30ID:SWw75AsV
df
0 2020/5/21 12:41
1 2020/5/22 12:41
4 2020/5/21 12:41
5 2020/5/21 12:41
6 2020/5/21 12:42

のようなdfで

同一日のデータが複数あるときに時刻が一番後のデータ以外を削除する方法ってないでしょうか
(日付と時刻は一つの列に記載しています)

171デフォルトの名無しさん2020/09/05(土) 22:40:06.44ID:TSad4edo
>>170
考え方としては日付とファイルパスの配列があって
日付をシリアル値に変換ソート
最終日以外はforやイテレタで回して削除は?

172デフォルトの名無しさん2020/09/05(土) 23:07:29.44ID:l/GIyZ6Q
>>170
新しいdf作って、最大日付のレコードのみコピーじゃダメなの?
どうしても削除しなくちゃダメ?

173デフォルトの名無しさん2020/09/05(土) 23:15:10.80ID:dBv/QpBg
sortしてから
df.drop_duplicates(subset=[‘日付’], keep='last')

174デフォルトの名無しさん2020/09/06(日) 00:28:06.19ID:+2jMTMUg
>>173
ありがとうございます

duplicate()

使えばできそうと思って悪銭苦闘してましたが、

drpo_duplicate()

なんて便利なものがあったんですね
10行くらいのコードが一行に圧縮されて気持ちいですm(_ _)m

175デフォルトの名無しさん2020/09/06(日) 00:30:16.65ID:+2jMTMUg
もう一つ質問なのですが、

>>170

の日付と時刻が一緒に入ってるデータ列を

日付の列、時刻の列

2つに分ける方法って無いでしょうか?

176デフォルトの名無しさん2020/09/06(日) 07:44:16.84ID:28nY3XQR
>>174
きもちいのはわかったからもちつけ
つづりまちがっとる

>>175
170の例の通りなら
new_df = df.str.split(' ')

177デフォルトの名無しさん2020/09/06(日) 09:22:58.22ID:i+8xvqI/
>>149お願いします

178デフォルトの名無しさん2020/09/06(日) 10:21:17.40ID:y7ovSoOJ
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw

179デフォルトの名無しさん2020/09/06(日) 11:37:36.42ID:+2jMTMUg
>>176
ああ、昨夜壊れていました・・・
教えていただいた方法で分けられました。
ありがとうございます。

180デフォルトの名無しさん2020/09/06(日) 11:39:28.23ID:+2jMTMUg
df
date_and_time other
1 2020/5/21 12:41 hoge
2 2020/5/22 12:41 fuga
3 2020/5/21 12:41 fuga
4 2020/5/21 12:41 hoge
5 2020/5/21 12:42 hoge

で時刻と日付を分割したい。

181デフォルトの名無しさん2020/09/06(日) 11:43:52.38ID:+2jMTMUg
それで

# dfからdate_and_timeだけを切り出して、時刻と日付を分割

df_date_and_time = df['date_and_time']
df_date_and_time=df_date_and_time.str.split(' ')

# 分割したdf_date_and_timeともともとのdfを結合

df_new=pd.merge(df,df_date_and_time)

と結合の箇所でやったのですが、
TypeError: unhashable type: 'list'
というエラーが出ます。どうやって再結合したら良いのでしょう?

182デフォルトの名無しさん2020/09/06(日) 12:11:25.64ID:+2jMTMUg
>>181
打ち間違いすいません
訂正します

?
と結合の箇所でやったのですが、
TypeError: unhashable type: 'list'
というエラーが出ます。どうやって再結合したら良いのでしょう?


とやると分割まではうまくいったのですが、
結合の箇所で
TypeError: unhashable type: 'list'
というエラーが出ます。どうやってdfにdf_date_and_timeを結合したら良いのでしょう?

183デフォルトの名無しさん2020/09/06(日) 12:17:38.96ID:28nY3XQR
>>181-182
.mergeの引数の説明ちゃんと読んでるか?
なんでもおまえのよきにはからってくっつけてくれるまほうのじゅもん ではないぞ。

.joinについても調べれのこと

184デフォルトの名無しさん2020/09/06(日) 13:35:17.55ID:+2jMTMUg
>>183
キーを指定していないから、結合のしようがないということでしょうか?

df_new = pd.merge(df, df_date_and_time, left_index=True, right_index=True)

同じdfから切り出してきたものだからインデックスの対応は保持されているはずなのでいいのかな

185デフォルトの名無しさん2020/09/06(日) 14:07:17.58ID:28nY3XQR
>>184
違う

どうしてそこしか読まないんだwww
他にもあるだろいろいろ

186デフォルトの名無しさん2020/09/06(日) 20:26:41.48ID:K/7w7+Go
関数の中で自分自身の関数を実行するのですが
変数名指定の引数がたくさんあります

def hoge(f,*,a=0,b=0,c=0,d=0,e=0,g=0):
_if f==0:
__f=1
__hoge(f,a=a,b=b,c=c,d=d,e=e,g=g)
__return
_print(a,b,c,d,e,g)

hoge(0,a=1,b=0,c=1,d=0,e=1,g=0)

hoge(f,a=a,b=b,c=c,d=d,e=e,g=g)のように引数は
全て列挙しないといけないのでしょうか?
4行目でhoge(*arguments)みたいにかけたらすっきりするのになと思いました

187デフォルトの名無しさん2020/09/06(日) 21:11:51.94ID:dj2uyvZ0
ホゲホゲホゲホゲ

188デフォルトの名無しさん2020/09/06(日) 21:12:31.77ID:g9db9pcO

189デフォルトの名無しさん2020/09/06(日) 21:34:04.68ID:K/7w7+Go
>>188
NameError: name 'arguments' is not defined
と出たのですが最新版のpythonだと大丈夫なのでしょうか?

190デフォルトの名無しさん2020/09/06(日) 21:42:48.01ID:K/7w7+Go
すみません、もしかして
arguments={a:a,b:b,c:c,d:d,e:e,g:g}を
hoge(f,a=a,b=b,c=c,d=d,e=e,g=g)手前で定義するって意味ではないですよね?

191デフォルトの名無しさん2020/09/06(日) 21:52:33.59ID:g9db9pcO
関数の定義文で引数を渡す変数名が指定されていて、再帰的に呼ぶときにhoge(*arguments)みたいに書きたいんだよね?

192デフォルトの名無しさん2020/09/06(日) 21:55:51.64ID:O6bK25fj
JavaScript のargumentsのようなものは、Pythonでは使用されないのでは?
キーワード専用引数にする必要がある引数なら、そうするしかないような気がするが。可変長キーワードじゃダメなんでしょ

193デフォルトの名無しさん2020/09/06(日) 22:14:08.79ID:K/7w7+Go
>>191-192
そうです!
>javascriptのargumentsのような

無理っぽいですかね
根本的に別の方法も何か探ってみることにします
ありがとうございました

194デフォルトの名無しさん2020/09/06(日) 22:30:14.59ID:iNxLllkp
キーワード引数でデフォルト値を定義しつつ、それらをすべて**kwargsを使うようなイメージでネストした関数に渡したいってことだとおもうけど

デフォルト値を持ったディクショナリを作って受け取ったkwargsをマージさせた結果をネストした関数に渡すくらいしかないんじゃないかな

hoge(1, a=10, z=20)みたいに呼び出した場合のz=20をどうしたいかでも処理が変わる

195デフォルトの名無しさん2020/09/06(日) 22:36:07.03ID:Bdj7AItn
hoge(f, { a = a, b = b, c = c })とかにすれば

196デフォルトの名無しさん2020/09/06(日) 23:32:54.81ID:IOp5Lxwc
namedtupleで一括で渡せばいいんでね?

197デフォルトの名無しさん2020/09/07(月) 10:02:44.13ID:DOYVT1Si
見様見真似でtweepyとかを使ってtwitterのDM botを作りました。

DMが届いたら、そのDMの内容に従って返信をするというものなのですが、
twitterのDMの承認機能のせいで、フォローしていない人からDMが来ると、
そもそもDMを受信したと認識せず、意図した通りに動作しません。

今私が考えられる解決策は、

botにフォローバックさせる機能を追加

一旦DMの送信者にフォローしてもらう

DMを送ってもらう

というオペレーションに変えるというものくらいなのですが、
他に何か良い方法を知ってる人はいないでしょうか?

198デフォルトの名無しさん2020/09/07(月) 11:01:47.22ID:K0kNn/Cs
def hoge(f,**hage):
_if f==0:
__f=1
__hoge(f,**hage)
__return
_print(hage)

hoge(0,a=1,b=0,c=1,d=0,e=1,g=0)

199デフォルトの名無しさん2020/09/07(月) 11:51:36.17ID:5KQ23h1V
そうですか

200デフォルトの名無しさん2020/09/07(月) 14:20:57.13ID:s+Ysbo1I
>>198
それだとdef hogeをデバッグするときhoge内で何の引数が使われているか検証し辛くなりません?


lud20201006115413

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1598527450/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 
  ↓この板の人気?スレ↓(一覧)
 
java初めてみたいんだがさっぱり分からん
くだすれDelphi(超初心者用)その56
Objective-C [ObjC part:9];
C++相談室 part149
もしプログラミングに適した自然言語を作るとしたら
ハッシュ使うのやめてクラスにしましょう
暇だから最強のメモ帳つくらね?【java】
Kivy Pythonライブラリ
プログラミング言語Egison
プログラミングしているときの思考ついて話そうぜ
スレ立てるまでもない質問はここで 152匹目
話題が長引いても安心な匿名掲示板「Anontown」
GitHubのスターが100行ったんだけどどの程度のもん?
Vue vs React vs Angular vs Svelte Part.11
フロントエンドJavaScriptフレームワーク総合
プログラミング始めたいんやが
スマホだけでソフトウェアを作る
Vue vs React vs Angular その2
Ricty Diminishedを超えるフォントが未だに現れない
a4です。人工知能「T」で量子動画(9)
1行ずつC言語を書いてくスレ(目標なし)
たすけて(コンパイラ系)
C言語なら俺に聞け
rubyとperlを同時に独学することは可能か
クライアント「神々たる仕変!後悔など遅い!」
Smalltalkとオブジェクト指向議論スレ
Windows Azure プログラミング 総合スレ2
次世代言語22 Go Nim Rust Swift Kotlin TypeScript
【PHP】下らねぇ質問はここに 9
18:48:25 up 1 day, 9:10, 0 users, load average: 293.45, 208.54, 179.19

in 0.043168067932129 sec @[email protected] on 102407