スクレイピングはpythonとphpどちらが適しているのでしょか? youtubeの動画を取得して、独自にランク付けしたいです
>>2 そのレベルでスクレイピングとか100年早い 100年後に質問してくれ >>2 Python やってる事は裏でseleniumブラウザを立ち上げて を用意されたapi叩くって事で変わらないんだけど、 文字列の操作がPythonの方が優れてから >>2 スクレイピングに適しているのはJavaScript。 確かにpuppeteer楽だね selenium導入たいへん
>>5 phpのほうが古くから使われてそうですけどね、この分野では rss取得にはpythonとphpどちらがいいのでしょうか? 1つのサイトを構築する場合、どちらか一方に絞ったほうがいいのですか?
Web系でPython使ったことないんで何か出来ないかなと探したがWebだと別にPython使う必要ないな
スクレイピングした結果をサイト上に表示するというものですが、pythonかphpか分からないです。
フォルダをファイル名に と同じ奴? コテ付けてくれ
リファレンスじゃなくてチュートリアルのURL貼っといて リファレンスに描かれてないじゃないか!ってクレーマーω
スクレイピングは、Ruby で、Nokogiri, Selenium WebDriver。 driver.execute_script で、JavaScript のコード(文字列)も実行できる データベースに保存するなら、Rails をそのまま使うのが速い。 Capybara で、Headless Chrome を使う
どんな言語でもweb driverの扱いが違うだけでgoogle driverを操作だかんね 因みにgoogle driverの挙動が安定しいから辛い
google driverじゃなくてchrome driverだ
>>13 Pythonに決めずに phpへ出てってどーぞ pcでgui組むのに実装が楽で自由度の高いフレームワークって何ですか?
electronかな。VSCodeもこれで作られてる
>>24 に一票w あとJavaScriptまでならセーフ visualstudio vbやc#の直感的で色々プロパティが揃ってxml形式の似たもの無いかと探してた。 tkinkerは画面配置がgridとreplaceが合わさった要素がなくてちょっと大変さを感じた。 flutterはxmlいじいじ出来るけどちょっと大変さを感じた。 >>25 electron調べてみます。 >>24 >>26 それがimportしてフレームワークオブジェクトとし使えるものはありますか? >>27 くそみそimportと考える前に少しぐぐろうぜw ぶっちゃけおまえにはC#がお似合いだと思うから.Netにどっぷり浸かっとけ で、さっさとコテつけろや
>>32 追加。 ググったけど分かりませんでした、ではなく、調べたこと考えたことをもとにもっと具体的な質問に落とし込めよ >>29 このクソは ・日に数回質問 ・コテハンつけない ・質問の背景を伝えない ・情報を細切れで後出し ・クレクレくんのテイカー 邪魔なのでNGにブチこみたいけどできない 💩🦟 ショッピングモールを歩いてるところを狙って包丁でメッタ刺しにしてやれ
お前らって一生平社員から上がれなさそうだな。 30〜50の人がそんなコメントしてると思うと哀れみ感じるよ
A:他人の痛みが分かる A-1:痛みを攻撃する A-2:攻撃しない B:他人の痛みが分からない
df.loc[df['lr_residue'] > lr.residual_threshold, 'outlier_flag'] = True この条件式を満たさなかったらFalseを入力したいのですが、どう書けば良いのでしょう?
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
>>45 df.loc[df['lr_residue'] <= lr.residual_threshold, 'outlier_flag'] = False >>45 is_outlier = lambda x: x > lr.residual_threshold df['outlier_flag'] = df['lr_residue'].apply(is_outlier) try exceptで例外に関するメッセージを出すことをしたんだけど、 例外発生時にその後の処理をスキップするにはどうしたらいい?
>>50 returnに1票 pyそのものを終わらせたいならexit()だったっけか 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渡す方法もちょっと今からやってみます よくよくみたら遷移後のページは エラーが発生しました (500) 500ページでした
自己解決しました どうやらname=authenticity_tokenのinput要素が GitHubでログイン、Twitterでログイン、Googleでログイン、ユーザー名でログイン の4種類くらいあったみたいです なのでbs.find(attrs={'name':'authenticity_token'})[-1].get("value") でユーザー名でログインのauthenticity_tokenを取得してpostしてやればログインできました お騒がせしました
>>48 >>49 ありがとうございます。 こういうふうにきれいに一行で書けるのってPythonの魅力ですね。 >>52 catchして何もしないというとこんな風に「握りつぶしちゃイカン」という奴が出てくるけど、脊髄反射だよな。 pythonスクレイピングで深い階層をたどる場合、ひたすらrequests.getを繰り返していく感じでいいんでしょうか?
>>62 その前にそこの規約くらい読んどけよ かつ「適度な負荷」までしとかないと… 64 デフォルトの名無しさん 2020/09/01(火) 00:18:37.31
スクレイピングの話になると 質問者が負荷を考慮しない前提で決めつけて話するタイプが一定数いるよね もう性癖なんじゃないのかとすら思う 自身が過去に何かやらかしたとかそういう
>>62 >深い階層をたどる これが何を意味してるのかと、実現したいことによる ただそれはpythonかどうかに限らずどの言語でもほぼ同じ 想像だけど、これまではtry exceptしてなかったんでしょう? 元の処理と同じ流れにしたいならexcept内でraiseでないかと
>>64 pythonはじめました → スクレイピングやってみよ 質問してくる奴はほぼ負荷なんて気にしてないレヴェル pythonは他言語より低レヴェルなプログラマー多いよ >>70 ほらな、この程度。 innertextの中身のチェックくらい入れろってんだよ > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
迷惑行為に他人を巻き込むな 迷惑行為したいなら自己責任の元、自分の力でやれ
スクレイピングって初心者がよくやりたがる題材だが、初心者こそこういう人に迷惑を掛けうるものに手を出すべきではないな もっと他のことで基本的な力を身に付けてから手を出した方がいいと思う
トップ>ショッピング>レディースファッションとたどるだけで過剰負荷ってどんだけ貧弱なサーバーなんだよ。
【PHP】下らねぇ質問はここに書き込みやがれ 11 http://2chb.net/r/tech/1591334726/428 上に、Ruby で、RSS ライブラリを使って、yahoo のRSS を取得した、コードを書いておいた API・RSSなどが公開されているサイトでは、契約してそれを使えばよい 頻繁なスクレイピングは業務妨害になるので、避けるべき! 1日1回なら、たぶん大丈夫 詳しくは、サイトのrobots.txt に書いてある しかもDOMの基本もわかってない人も多いからかえって言語覚えるのには遠回りっていうね
5ch など、ほとんどのサイトは一旦、空のHTML を送ってきてから、Ajax でデータを取得するから、 普通にスクレイピングしても、データが存在しないので取得できない 10秒ぐらい待つとか、Selenium Webdriver を使って、ブラウザを操作する必要がある 特に、yahoo は、ID も少なく、暗号のようなクラス名ばかりで、 解析するのに、かなり苦労する 会社が公開している、API・RSS などを使うべき!
81 デフォルトの名無しさん 2020/09/01(火) 12:22:02.61
>>71 そんなこと言い出せば 今までITやプログラミングに縁のなかったそこらの一般人がpythonはじめましたなんていうことは確率的に低い >>69 階層だけど、それめちゃ浅くね? それにトップから辿らなくてもカテゴリのIDはそう変わらないから直接アクセスすればいいんじゃないの? あとはレディースファッションとかに表示される商品情報はAJAXで取ってきてるから requestsでやるならXHRのリクエストをWebサイトがやってるのと同じようにやるのと レスポンスにある各項目の意味を把握しておく必要があるので少し面倒 (そのかわりSeleniumとかのブラウザ操作系に比べれば高速) カテゴリのID は変わらないとか、 暗号のようなクラス名は変わる・変わらないのか、分からないとか、 漏れらは、そのサイトの作者じゃないから、仕様が分からない 答えを推測するしかできないから、 答えを知ってる香具師・作者と比べれば、圧倒的に不利 何回もスクレイピングして、テストしないといけない。 また翌日になれば、クラス名などが変わるかも知れないから、何日間もテストしないといけない どういうルールで、クラス名などを決めているのか、分からない だから、クラス名に頼らず、div の下のdiv の、みたいに構造で分析していかないといけない。 ものすごく深いネストを解析するのは、面倒くさい
>>83 APIが提供されているならそっちの方が簡単だよね こういう動画を見れば? エンジニアチャンネル、粟島 【検証】現役プログラマーは30万円の案件を何時間で出来るのか? VIDEO YouTube のスクレイピング。 API を使って、Ruby で1時間 時給30万円! >>81 今は大学で教えてるんじゃないの? 一番教えやすいから。 アメリカだとPython がわかるかどうかが採用条件になってる会社もある。 日本はRuby が普及してたから出遅れてる。 89 デフォルトの名無しさん 2020/09/01(火) 17:20:10.19
そういうことじゃなくてpython知ってるかどうかやり始めたかどうかはどうでもよく ○○を知らないはず(妄想) → ○○やれよ(確信)、と指摘する みたいなレッテル貼りの認識が抜けてるってのがおかしいでしょってこと 仮に○○が当たってたとしても、妄想でしかない
エスパーしかこたえるなといったり 今度はエスパーにレッテル貼りといったり さすが、尻にう●こついてるだけあって 脳の新陳代謝が活発でいそがしいなw
91 デフォルトの名無しさん 2020/09/01(火) 19:29:55.15
エスパーと説教は違いますよ(笑)
92 デフォルトの名無しさん 2020/09/01(火) 19:31:53.51
というか今回の件で言えば質問の答えですらないし
統計処理 ↓ グラフ出力 のアプリを作成したらコードが600行ぐらいになって非常に見にくくなりました。 こういうときって、統計処理とグラフ出力などをクラスとして分けるべきなのでしょうか? 現在は各処理を関数にしているだけなのですが・・・。
githubに公開するつもりでモジュール化すればおのずと形になりそう
VBAで描いたら6000行は下らないから pythonで600行なら良く出来た方じゃね
>>99 Python でそんなになるはずないだろ。 統計処理で何をやってるのか知らないけど。matplotlib でグラフを書くだけだろ。 jupyter/scipy-notebook というDocker を使えば、一式揃っているのでは?
1 データ成型 2 統計書 3 グラフ出力 4 画像出力 とやってたら600行越えてちょっとややこしくなってきました。 1〜4の間でやり取りするデータやDFが多いのと、 単なる逐次処理で、クラスにしても内部保持するデータがないのでどうすればいいのかと悩んでます。 モジュール化勉強してみます。
描き捨てならメリット無い モジュール化して見透しが良くなったりするかも知れないが行数は減らないだろう
すいません。 もう一つ質問なんですが、 関数で引数がなかったら処理1、引数があれば引数をつかった処理2をさせたいときは以下のようなコードをかけば良いのでしょうか? def show_start_menu(hoge=None): if (hoge is None): 処理1 else: print(hoge)
>>105 >if (hoge is None): >処理1 ここ↑って if hoge: 処理1 じゃ、イカン何か特別な理由ある? あと、引数でNoneが渡ってくる可能性は0? >>103 104を読め そして おれいをいうとチヌ病気をなおせ def function(*hoge): def function(**fuga): def function(*hoge, **fuga):
>>104 見通しがよくなるのがメリットでしょ 書捨てでも600行もあれば見通しが悪いと変更に時間がかかるようになる それにコードを構造化することで考え方やパターン認識が強化できるから上達も早くなるよ > パターン認識が強化できる ヒソ( ´・д・)ヒソ(´・д・`)ヒソ(・д・` )ヒソ
>>105 Noneでもいいけどデフォルト値が使えるならそのほうがベター 関数定義時にデフォルト値が定まらず 呼び出し時に動的に評価させたい場合はNoneにする デフォルト引数の =[] でハマる人ですね判ります
>>113 そういうのは一度ハマればいいと思うよ 色んな意味でPythonのレガシーなところを知る取っ掛かりになるから エンバーーーーグ 嫌ぁああああ♪ I will always love youぅううう♪
c#からpython起動するときにcsvファイルのパスを渡したいのですがこういうときってどうやるのでしょう どうもc#から起動時に飛ばさpythonのに引数としてパスは渡せないっぽい。テキストファイルに書き込んでやり取りがシンプルなのかな
>>117 >飛ばさpythonのに引数としてパスは渡せない おまえがばぐっとるぞw なおせ はなしはそれからだ Notepad++ はauto complete使えるですか? vs codeが楽なんでしょうけどね
>>123 Notepad++はPythonじゃない件 (設定できる腕前があるようなヤツなら ぐぐってとっくに使ってるだろJK)
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 ありがとうございます 引数渡すことは出来ました ボタンが押されたらテキストボックスに入力した名前を習得し、 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つを行う方法ってないでしょうか?
もしくは 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から呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。
すいませんコード修正します。 もしくは 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から呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。
自分もまだまだ初心者で分からない所あるけど流れからすると 1.画面開く 2.テキスト実装 3.テキストの値取得(空っぽ) 4.ボタンの実装 ボタンを押した時の引数値は2の値 もし、2で正しく値が取れてるなら引数にtxt.get()を渡す。 もしくはnameをglobal宣言
global変数はスコープの関係でのちのちややこしくなるので、定義したくないんですよね。 でもググった例では確かにグローバル変数使ってるんですよね。 GUIのボタンを押したらテキストボックスから値を取得するだけのことなのに、 なんでこんなに難しいんだろう・・・。
この連投カスだけはうまくいかないとざまあと思うわ C# Windowsのフォルダパス スクレイピング イテレータ
質問をきちんと整理すると 関数内で 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=???????? のところでどう記述すればテキストの値を取得できるんでしょう?
>>128 ありがとうございます 引導渡すことは出来ました 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 に書き込めないので入れたので、無視して
vscodeが重いのですが、軽量エディタあるですか? 補完ありで
>>142 notepad++を自前で補完セッティングする Py3に対応する設定が完成したら、ぜひ配布してくれ goto文でもグローバル変数でも、神の逆鱗に触れて世界が滅ぶわけでもないので、必要性に応じて適切に使用すればいいよ。 何も考えずに全てgotoだけ、全てグローバル変数だけってのが良くないだけ。
>>145 どっかでPy2用セッティングが配布されてるから 落としてきて改変よろしく async関数内のawait文(コルーチン?)をWhile True文内で定期実行することは難しいのでしょうか? 非同期処理は学習中なのですがいまいちよくわかりませんでした
>>150 python3用は自分で設定するのですか? あと文法チェックっはないでしょうか? vccodeのターミナルみたいなやつです dbgpというのがありますけど >>153 どうも vim試してみましたが操作が独特すぎたのでnotepadにしときます >>153 pythonに関してはモジュールまでは補完されないようです デフォルトでは phpの場合はxdebugというのが必要でしょうか?何にしてもデフォルトで文法チェックはできないみたいですね 軽量なのが魅力なんですがね
>>151 vimは一度でもあの操作体系になれちゃうと、それ無しではコード書きたくなくなる程度に中毒性があるから、手を出さない方がいいですよ 慣れちゃった人は新しいエディタ触るときでも無意識に同じ操作体系使えるようになるvisvimみたいなツール探してしまうっていうし TEXTエディタでimport したモジュールの補完までできるのってあるのかな? Python専用IDEなら当然だが。
>>159 vscodeだったら普通に対応してるぞ というか導入しやすさ考えるとテキストエディタはほぼvscode一択レベル >>159 jedi-vimだったらimportというか実行環境に登録されてるpathは追ってくれた気がする やっぱvscodeが一番ですよね しばらく放置したあと、アクティブにするともたつくんですが、ssdにするといいんでしょうか? 放置したあとにもたつくというのは、おそらくデータをhddに退避させているということだと思います。 タスクマネージャを見るとhddへのアクセスが集中しますので(´・ω・`)、、、
ほかのエディタやIDEにVSCodeのRemote Containerと同等の拡張機能が追加されない限り、pythonの開発環境はVSCode一択や それくらい革命的
辞書型のデータを文字列に変換して出力してるんですけど キーを囲っているコーテーションがシングルで出力されます これをダブルコーテーションで出力するにはどうしたら良いんでしょう?
質問です 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 とし直して計算結果を変えたいのです よろしくお願いします
ターミナルで実行(引数a)するとプロセス1が起動します。 例えばループ処理で常駐化した状態でターミナルで最実行(引数b)するとプロセス2が起動するので難しいです。 プロセス間非同期処理まで考慮すれば…ですが初心者には難解です。 代替案として以下の感じですかね? 1.ループ処理: 2.入力待機処理: 3.計算処理
>>166 ん?こういうことかな? import calc_numbers rt1 = calc_numbers.sum_numbers(1,1) print(f'{rt1}') rt2 = calc_numbers.sum_numbers(2,2) print(f'{rt2}') 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で 同一日のデータが複数あるときに時刻が一番後のデータ以外を削除する方法ってないでしょうか (日付と時刻は一つの列に記載しています)
>>170 考え方としては日付とファイルパスの配列があって 日付をシリアル値に変換ソート 最終日以外はforやイテレタで回して削除は? >>170 新しいdf作って、最大日付のレコードのみコピーじゃダメなの? どうしても削除しなくちゃダメ? sortしてから df.drop_duplicates(subset=[‘日付’], keep='last')
>>173 ありがとうございます duplicate() 使えばできそうと思って悪銭苦闘してましたが、 drpo_duplicate() なんて便利なものがあったんですね 10行くらいのコードが一行に圧縮されて気持ちいですm(_ _)m もう一つ質問なのですが、 >>170 の日付と時刻が一緒に入ってるデータ列を 日付の列、時刻の列 2つに分ける方法って無いでしょうか? >>174 きもちいのはわかったからもちつけ つづりまちがっとる >>175 170の例の通りなら new_df = df.str.split(' ') > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
>>176 ああ、昨夜壊れていました・・・ 教えていただいた方法で分けられました。 ありがとうございます。 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 で時刻と日付を分割したい。
それで # 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' というエラーが出ます。どうやって再結合したら良いのでしょう?
>>181 打ち間違いすいません 訂正します ? と結合の箇所でやったのですが、 TypeError: unhashable type: 'list' というエラーが出ます。どうやって再結合したら良いのでしょう? ○ とやると分割まではうまくいったのですが、 結合の箇所で TypeError: unhashable type: 'list' というエラーが出ます。どうやってdfにdf_date_and_timeを結合したら良いのでしょう? >>181-182 .mergeの引数の説明ちゃんと読んでるか? なんでもおまえのよきにはからってくっつけてくれるまほうのじゅもん ではないぞ。 .joinについても調べれのこと >>183 キーを指定していないから、結合のしようがないということでしょうか? df_new = pd.merge(df, df_date_and_time, left_index=True, right_index=True) 同じdfから切り出してきたものだからインデックスの対応は保持されているはずなのでいいのかな >>184 違う どうしてそこしか読まないんだwww 他にもあるだろいろいろ 関数の中で自分自身の関数を実行するのですが 変数名指定の引数がたくさんあります 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)みたいにかけたらすっきりするのになと思いました
>>188 NameError: name 'arguments' is not defined と出たのですが最新版のpythonだと大丈夫なのでしょうか? すみません、もしかして 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)手前で定義するって意味ではないですよね?
関数の定義文で引数を渡す変数名が指定されていて、再帰的に呼ぶときにhoge(*arguments)みたいに書きたいんだよね?
JavaScript のargumentsのようなものは、Pythonでは使用されないのでは? キーワード専用引数にする必要がある引数なら、そうするしかないような気がするが。可変長キーワードじゃダメなんでしょ
>>191-192 そうです! >javascriptのargumentsのような 無理っぽいですかね 根本的に別の方法も何か探ってみることにします ありがとうございました キーワード引数でデフォルト値を定義しつつ、それらをすべて**kwargsを使うようなイメージでネストした関数に渡したいってことだとおもうけど デフォルト値を持ったディクショナリを作って受け取ったkwargsをマージさせた結果をネストした関数に渡すくらいしかないんじゃないかな hoge(1, a=10, z=20)みたいに呼び出した場合のz=20をどうしたいかでも処理が変わる
hoge(f, { a = a, b = b, c = c })とかにすれば
見様見真似でtweepyとかを使ってtwitterのDM botを作りました。 DMが届いたら、そのDMの内容に従って返信をするというものなのですが、 twitterのDMの承認機能のせいで、フォローしていない人からDMが来ると、 そもそもDMを受信したと認識せず、意図した通りに動作しません。 今私が考えられる解決策は、 botにフォローバックさせる機能を追加 ↓ 一旦DMの送信者にフォローしてもらう ↓ DMを送ってもらう というオペレーションに変えるというものくらいなのですが、 他に何か良い方法を知ってる人はいないでしょうか?
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)
>>198 それだとdef hogeをデバッグするときhoge内で何の引数が使われているか検証し辛くなりません? >>200 hageてるとこ確認するだけじゃないの? 関数内で key の一覧確認して 禁止するなり None で補うなり なんなりと
>>201-202 ですよね なぜか他のモジュールとか参考にみてると変数名指定のものが多いんですよね 何か理由があるのか?と思って 引数に使わなかった初期値を設定するロジックを書かないといけない、ってことでしょうかね? とりあえずは引数に**使う書き方にしましたが今のところ何の問題もないので この形式でいこうと思います C で描かれるモジュールとかもあるからな もちろん python 用のモジュールなら * も ** も C で使える
プログラミンが楽しくなる方法教えて下さい 結局出来ないのに楽しいということはありえないのかですね あとVScodeをアクティブにしたときにhddへのアクセスが集中するんですが、これはSSD化とメモリを増やす(メモリスワップ防止)ではどちらが効果的ですか?
プログラミン自体は楽しくないけどな 目的のものを作るための道具として使ってるだけだし 目標物もないのにプログラミンだけやろうとは思わない
自分はゲームですね 目的はあるんですけど最近やる気が出ない 孤独によるうつ病かな 孤独だとどうしてモチベーション無くなるんでしょうね
>>205 いきなり壮大な目標をたててもいいが 手前にマイルストーンもちゃんといっぱい置いとけよ。 たとえるなら 人生帰宅部でパスポートすら持ってないおまいらがあるひ 「K2登山目指すんゴ!」って言ってはいるが そのために何したらいいかあんまわかってない状態だぞいま メモリふやせよ Win10だったら8Gは底辺な >>207 >孤独だとどうしてモチベーション無くなるんでしょうね おまえの性質なんぞ しらんがな(´・ω・`) うつびょ治すプログラミン作ればいいんじゃね 知らんけど
>>208 今更ddr3を買うのもなんだかなと思うので マザボとcpuも変更してddr4にしますかね >>209 結局生きる意味って家族ですからね、、、 >>212 カネがあるならそうしろ ただしCPUとメモリのバランスはダイジ どっちかだけ突出しててもいみない >結局生きる意味って家族 おまえのかんがえるいきるいみなんぞ しらんがな(´・ω・`) >>210 禁煙マラソンを手伝ってくれる会話風AIが 「薬」として承認される見込みだよなそういえば >>215 そういう話がしたいなら、どこか他の適切な場所を探せ いつの間にかどこかのIT糖質おじさんみたいなのが増えてやがる
スクール的なとこでPHPを学んで、これ市場価値低そうだなって思ったのでpythonを学ぼうと思ってます pythonとPHPの違いはなんですか?
機械学習やAI関連のライブラリが豊富なのがpython web開発に適してるのもpython 上位互換ということです
>>218 中毒性とあいまいさに違いがある ユルユルガバガバなのでそのユルさに一度ハマってしまったヤツは 二度と使い物にならないというのがPHP インデントが崩れたらチヌ程度にきっちりしてるのがPython >>218 PHP は、HTML を簡単に草プログラムの中に取り込むための専用ツール。 Pythonは、汎用プログラミングツール あのーDockerってたとえばまっさらなパソコンにPythonのイメージをもってきてコンテナにいれると自動でPythonの本体とかダウンロードしてつかえるようにしてくれるの? もしそうならものすごくべんりだよね?
親.pyで子.pyをimportしました 子.pyではimportしていないはずのモジュールAが使えました どうやら親.pyでモジュールAをimportしていたので子.pyでも使えたようです しかし、子.py内でもモジュールAをimportしておきたいのですが そういう重複importは避けた方が良いのでしょうか?
pythonは自動で避けてくれる C言語のようなインクルードガードは不要 なんでバンバン重複していい
>>169 レスありがとうございます。 いえ、違います。 プログラムの実行中に再度引数を渡して実行するということです。 >>226 具体的に何がしたいのか、全く見えない。 実際にやりたいことの具体例を示してくれ。 単にinput関数がうまく使えてないって話じゃないかな。初心者スレだし
>>226 やりたい事が謎過ぎる イメージ的には 1:コマンドラインに数値を2個入れる 2:計算結果が返ってくる 3:もう一回数値を2個入れる 4:計算結果が再度返ってくる っていう感じか?(参考書とかでよくある奴) この場合だったらwhileでループさせて input関数で入力受取→関数に引数渡す→結果を表示 っていう風に作れるけど >>227 >>230 現状で可能なことと実現したいことは下記の通りです 【概要】 ・iPhoneにPythonを入れて開発中 ・iOSでPythonファイルをソケット通信して実行しているが、何百回も ソケット通信の終了・sys.exit()による終了をしているとiPhoneが再起動してしまう ・Pythonファイルのコードの中のみでwhile文を繰り返して処理する分には正常に動作し続ける ・ただしPythonのみだと断続的に変わる値を受け渡せないのでタップ座標が固定されてしまう ・そこでiOSでPythonファイルを実行中に、リアルタイムで実行中にPythonファイルに値を受け渡せたら正常に実行できるはず ・Objective-Cファイルからコマンドライン引数にてPythonに値を下記のように移すのには成功済み args = sys.argv x = float(args[1]) y = float(args[2]) 【目標】 ・Objective-CからPythonファイルを実行中にinput()関数に似た形でx, yの値をPythonファイルに受け渡すこと よろしくお願いします。 ()で囲まれた文字列をタプルにする方法ってないかしら "('aaa','bbb')"の文字列を tuple にしたい
>>231 >・ただしPythonのみだと断続的に変わる値を受け渡せないのでタップ座標が固定されてしまう ここの考え方がおかしいな、別にそんな事はない 以下の順に検証してみて欲しい 1:PythonでWhileループでタップした座標を表示するプログラムを作る タップ→表示→タップ→表示……っていうループになるように 2:1で作ったプログラムに、関数を呼び出す形で実装する タップ→関数呼出し→タップ→関数呼出し 何か無意味に無茶な事をやろうとしてるように見える >>235 それだそれ、前も使ったことあったのに忘れてた でも手順変えてもう必要なくなっちゃった >>234 レスありがとうございます 関数呼び出しをすればいいんですね 試してみます またお聞きするかもしれません youtubeのスクレイピングはphpとpythonどっちが適しますか?
冗談はおいといて、その2つならPythonの方がいいよ Pythonはスクレイピングしやすいから
youtubeぐらいならどっちでも スクレイピングするならライブラリが揃ってるPythonが良いというのは定説 で、どっかのレンタルサーバ借りて動かす場合は スクレイピングするんだったら結局のところ自分でrootもっててコンソールで自由に環境構築できるようなとこレンタルすると思うから どっちでもかまわないと思う ユーザー画面をPHPで作りたい場合でも、PythonでスクレイピングしてPHPで結果表示したっていいんだしな あと、どうしても無料でやりたいって事ならPHPしかない PHP+MySQLなら無料レンタルあるけど、Pythonは無料レンタルないんじゃないか? Pythonやろうっていう人はだいたいAWSでしょ
>>245 は? 自分でインストールすれば良いじゃん。 >>238 スクレイピングするならまずはJavaScript Pythonは旧式のライブラリしかないし言語機能も不足してるから データ分析と組み合わせたスクレイピング以外では積極的に使う理由はない >>245 Python動いて無料のレンタル、あるよ? 別に自前でもいいが 最悪、PCが文字通り炎上する。
>>247 phpはだめですか? データ分析はやるつもりです チャンネルの分析というか 【検証】現役プログラマーは30万円の案件を何時間で出来るのか? VIDEO エンジニアチャンネル粟島が、Ruby, YouTube API を使って、動画の情報を集める。 1時間で作ったので、時給30万円! 凡才プログラマーKBOY が、これに異を唱えて、情報を集めている 結局、30人ぐらいが応募して、数千円になってしまったらしい コーディングが1時間で終わっても検証やら仕様書書きやら サポートやらで1週間じゃ終わらないよ。
Pandas をインストールしたいのですが 10.0C++を要求する旨のエラーがでます。 何とかC++をインストールせずに Pandasをインストールできないでしょうか。 numpyはネットにexeがあったのでできました。
>>258 >何とかC++をインストールせずに >Pandasをインストールできないでしょうか 必要な外部ライブラリ無しでどうやって使う気やねん cythonのインストールでvcvarsall.batがないといわれます。 実際にどこにもないのですが 2010年のvcredist_x86.exeを、実行しても vcvarsall.batが作られません。 vcredist_x86.exeでは作られないのでしょうか
>>264 いわゆるランタイムじゃだめ Visual StudioをC++を有効にしてインストールするか VSのIDEが必要ないならBuild Tools for Visual Studioを入れる 266 デフォルトの名無しさん 2020/09/11(金) 21:36:31.49
pysimpleguiでタブの中にタブ つまりsg.TabGroupのsg.Tabの中にsg.TabGroupをいれてみましたがエラーがでてしまいました 単にタブの入れ子は対応していないということでしょうか?
267 デフォルトの名無しさん 2020/09/11(金) 23:09:41.39
conda installの後にたまに-q -y -cてついてるけど それぞれの意味て何ですか??
install時の-qなら9割方quiet UNIX作法ではそうなってる つまりpythonでは無い方面の知識が必要になる
検索しても出てこないのでここに来たんですが ここの人じゃわからないてことですか?
単にネット初心者でググレカスを使ってみたかっただけなので気になさらぬよう
>>271 まずヘルプを読まないのはあなたが馬鹿だからですか? >>273 ヒント書かれてるのにわからないから馬鹿なんだと思うよ 試してごめんね お前らはわからないとすぐこれだからな -c command 内の Python コード実行 -q copyright 、バージョンメッセージ非表示 -y y/nのy実行
「ここの回答者は俺の質問が高度すぎて答えられなかったんだ」
>>271 マイナス付けると検索では除外になっちゃうからな。 scikit-learnの勉強をしていて学習速度の遅さに絶望しました>< GPUの購入を検討してるのですがGPUが使えるおすすめのライブラリを教えてください。。。
scikit-learnでdnnやるくらいならpytorchやっとけ nvidiaのcuda10.1以上使えるgpu買って cpuがintel avx2以上対応ならgpu買う前にanacondaのscikit-learnがVanillaよりは速い仕様と話題
ありがとうございます。 pytorchって古典的な機械学習もできるんでしょうか? サポートベクターマシンなどの…。 CPUでもGPUより早くなる事もあるんですね。 ディープラーニングじゃない場合はGPUの恩恵があまりないものなんですかね。
>>285 古典的な機械学習のためのscikit-learnだよ ありがとうございます。 古典的な機械学習はscikit-learnなんですね。
scikit-learnの学習速度を上げたい場合は よいCPUを買うしかないのですかね。。。 scikit-learnはGUPに対応してないですもんね。
超初心者とかウソかよ x + y をコンソールに表示したいんだけどどう書いたらいいんですか? ぐらいのレベルじゃないと超初心者とはいわないだろ
C(+はつかない)の頃やったなぁ AAでsin関数を表現する とか
def self(name:str=None, age:int=None) -> str: _print(type(name)) _print(type(age)) _if name != None and age != None: __return f'name = {name}, age = {age}' _else: __return 'error' print( self('Tom', '30') ) 関数アノテーションをやってみたのですが エラーを吐くわけではないんですね def self()内で型エラーを吐くような書き方はないのでしょうか
CPUでそこそこ学習速度が速いのがいいならlightGBMとか使えば? 今時プレーンなSVMなんて覚えても使うところないよ
>>291 returnじゃなくて raise TypeError("〜〜")すれば? >>293 まさかとは思いますが if type()で引っかかった時にraiseするってことじゃないですよね? 質問です 実行中のPythonを終わらせるコマンドを教えてください usr/bin/python3.7が動いている前提です
ご回答ありがとうございます 実はiPhoneで実行しています ctr+cはできません
1万行くらい要素を持ってるリストが有って その中からある数百個だけを等間隔に抜き出したいのですがそういうライブラリとかないですかね?
質問したらどうやって解決したのか書くのが礼儀だぜ bigdata[::N]
>>300 それが人にものを聞く態度か? 立場をわきまえろ 304 デフォルトの名無しさん 2020/09/14(月) 16:11:11.94
ローカルサーバー限定で使う私的webアプリを作ろうと思うのですが そういうときはvirtualBOXなりで極端な話、1プロジェクトにつき1仮想環境 みたいにした方が良いのでしょうか?
306 デフォルトの名無しさん 2020/09/14(月) 17:17:46.83
異なるゲートウェイをそれぞれコンテナ1コンテナ2…に振り分ける みたいなことはできるんでしょうかね 調べてみます ありがとうございました
308 デフォルトの名無しさん 2020/09/14(月) 18:22:29.15
@classmethodをざっくり調べてみたのですが 使いどころがいまいちわかりませんでした (1)@classmethodをつけて、インスタンスのみで使う (2)@classmethodをつけて、インスタンス以外でも使う(例 クラス名.メソッド()) (3)@classmethodをつけず、インスタンスのみで使う (4)@classmethodをつけず、インスタンス以外でも使う(例 クラス名.メソッド(クラス名)) https://ideone.com/2qI4Am (説明のためでコード内容に深い意味はありません) (1)の場合、selfから__xや__yを参照すると属性エラーが出ました それは、@classmethodを付加したメソッド内部の処理では __init__で設定した初期値を扱えない、ということを意味しそうな気がするのですが 何のために?とモヤモヤしています (h.sum(h.x, h.y)のようにインスタンスのときは明示的にゲッターを使えるため・・?) コミュニケーション取ってやるより 自分に合う本を1冊やり通す方がいいと思う
>>308 クラスメソッドをクラスインスタンスから呼び出したときに第1引数に自動的に挿入されるのはクラスオブジェクト(その例ならHoge)なので、クラスメソッドの第1引数は、慣用的には(selfではなく)clsと書く。 __init__で設定されるのはクラスインスタンスの属性x, yであり、その例のクラスメソッドsumは(クラスインスタンスの属性x, yではなく)クラスの属性x, yの合計を返そうとするので、エラーになる……ということかと。 313 デフォルトの名無しさん 2020/09/14(月) 21:19:59.21
>>312 >(その例ならHoge) なるほど インスタンス化しようがしまいがHogeを返してたのですね ( selfと書いてしまっていたので何かしらで参照できなくなったのかと勘違いしてました) メソッドをクラスとは別々に買いてもほぼ同じだがクラスに関連はさせておきたい的なときに使う感じですかね 効果的に使えるかは未だにわかりませんがすっきりはしました ありがとうございます key = 'my_var' value = 1.234 formatted = f'{key!r:<10} ={value:.2f}' このなかで {key!r:<10}の !r ってどういう意味なんですか?
>>315 ありがとう。repr()を呼び出すのか。 >>308 使いどころが判らないってことは君にはまだ要らない機能だから気にすんな 無理に使い方だけ覚えても身に着かない 超初心者スレでイキってるぐらいなんだから察してあげよ
この初心者スレに良心はいないからな 日頃のストレスを発散してる底辺エンジニアの集まりだから 質問ならブログのコメント欄にした方がましだぞ ここは雑談スレ
5 % 4 = 1 4 % 4 = 0 3 % 4 = 3 2 % 4 = 2 1 % 4 = 1 0 % 4 = 0 -1 % 4 = 3 -2 % 4 = 2 -3 % 4 = 1 -4 % 4 = 0 -5 % 4 = 3
被除数が負の剰余計算は言語ごとにまちまちなんだよね
その者負の剰余取るべからず 村に伝わる言い伝えです
プログラミング初心者です。 スレの勢いやTwitterのトレンドを見る限り、Python、JavaScript、VBAが最強であることがわかりました。 この3つ言語の中でもっとも最強なのはどれでしょうか? これからその言語一本でプログラマーを目指したいと思います。
>>331 本気です。まじめなアドバイスをお願いします。 >>332 最強の言語なんてないし、言語ひとつしかできないようじゃプロとしてやっていけない。 入り口としては何でもいいから自分に分かりやすそうなものから手をつけろ。どうせそのうち他の言語もやることになるから最初の言語の選択で失敗したらとか気にするな。 >>333 Rustが最強なんですね。どの辺が最強なのか詳細をいただけると助かります。 >>334 プロになるには何言語も習得しないと飯は食えないもんですか。 大変な道のりですね。 >>330 > スレの勢いやTwitterのトレンド これで最強と判断するのがおかしい そもそもお前の言う最強って何よ? 日本人ならVBAできて当たり前 VBAでできないことはほぼない
>>330 その3つの中ではPython が一番言語として体系だってる。 最初に学ぶのは、Python かC/ C++ の2択。 入りやすいのは Python YouTube で有名な雑食系エンジニア・KENTA は、 初心者が進む道を、サーバー側言語のRuby → Go を王道としてる この2つ以外は、出てこない GUI 系は、画面の手直しなどで、工数がかさむ。 C#, dot.net などのWindows 系は、いらない。 Java などの土方系も、いらない。 C/C++ などのポインタ系や、ハードウェアの仕組みなども、いらない。 Elixir, Rust は、普及へのchasm・溝を超えられなかった 言語よりも、Docker, Kubernetes, AWS などの、サーバー構築・新規案件を重視する。 上流工程・新規案件の方が、価格交渉力が強いから。 一方、下流工程・保守案件は低価格しかない
Python スレだから Python 薦めるけど 他には C/C++ や Erlang が勉強用にはお薦め javascript や VBA は雑魚 うby は論外
>>338 10年飯が食えて、将来性のある言語がいいですね。 >>339 VBAができないとプログラマとしては失格ですか。 >>340 やはりPythonが最強なんですね。 >>341 Rubyだけはあかんと聞きましたが最強なんですね。 >>342 やはりPythonが最強ですか。 Pythonをすすめる方が多いのでとりあえずPythonを極めて 人工知能を作ってみます。他の言語は人工知能に翻訳させれば覚えなくてもいけないんですかね? >>343 そうだよ 人工知能が他の言語に訳してくれるからpython以外やらなくていい >>344 やっぱりPython最強なんですね。 ディープラーニングを極めて面倒なことはAIにすべて任せるのが 賢い選択かもしれませんね。 >>345 それがいい ディープラーニングを極めれば簡単な仕事は全部AIがやってくれるようになるよ 現に俺はもう脱サラしてAIに労働させてる ちなみにこの書き込みも機械学習が生成したテキストねw >>345 rubyは特殊な性癖を持つようになるから手を出してはいけない pythonを選択したキミは人生勝ち組の切符を手に入れたも同然 全ジャバパーがキミにひれ伏す時代もすぐそこだよ >>346 すごいですね。 ディープラーニングはどのライブラリ使ってますか? おすすめがあったら教えてください。 >>347 rubyは避けたいと思います。 ありがとう。 プログラミング初心者が独学でPython始めようと思うなら まず最初にチュートリアルを1~2時間以内で3~5ページは読んでみること https://docs.python.org/ja/3/tutorial/ 9割程度理解できるようならPythonを独学で学ぶ適性があるのでそのまま続けるといい それ未満なら独学で学ぶ適性はない可能性が高いので もっと平易なチュートリアルが公式/準公式で整備された言語を選択したほうがいい >>349 ありがとうございます。 勉強してみます。 ジャバパーの響きにウケる それにしても初心者スレきといて言語を極めるとかすげーなw
>>351 やたら最強を気にするところもあわせて、小学生男子のような少年の心の持ち主なんだろう >>.349 公式チュートリアルが難しいと思ったら、簡単な入門書なり何なり書籍でもオンラインでも山のように揃ってるのがPuthon の良い所。 別の言語に行く必要はない。
numpyで二次元配列の要素をシャッフルしたい。 頑張ってみたんですけどちゃんとよそがシャッフルされずに おかしな挙動をします。どなたかお助けください>< import numpy as np a = np.arange(0,9).reshape(3,3) np.random.shuffle(a)
行ごとにシャッフルではなく 行列すべての要素をごちゃまぜにしたいのです。。。 お願いします><
>>358-359 aを一旦1次元9要素にひらたくしてから、シャッフルして、3×3に戻したらどーなのん シャッフルについては「サットロのアルゴリズム」あたりで検索 >>360 ありがとうございます。その方法を使わせていただきます。 二次元配列ってExcelでいうと表だよね 難しい言葉使うなぁ このスレのレベルにはまだついていけないようだ
>>362 プログラミングで表とか言うと逆にわかりづらい。 >>363 >連想配列(れんそうはいれつ、英語: associative array)とは、コンピュータプログラミングにおいて、添え字にスカラー数値以外のデータ型(文字列型等)も使用できる配列である。抽象データ型のひとつ。連想リスト、連想コンテナ、辞書(あるいはカタカナでディクショナリ 英語: dictionary)、ハッシュ(英語: hash)、マップ(英語: map)とも呼ばれる。 言語によって言い方かわるのやめてほしいわぁ なんでなんかなぁ そんなもんだろ 言語が違ったら書き方違って当たり前 10言語ぐらい使ってたら、名前どころか辞書に要素を追加する方法、キーの存在チェックなんかもやり方忘れちゃうから しょっちゅうググることになる。
>>364 なんで連想配列の話になったのか知らんけど、 連想配列と二次元配列は違うぞ。 表=二次元配列までのExcelシートと違って三次元以上の配列も扱えるから二次元配列だけ表と呼ぶのはおかしい
>>365 なんで言語を統一しようとしないのか? 標準化団体とかあるじゃん、IEEEとかISOとか やること同じなのに、やり方が違うとか無駄じゃないの すでにあるシステムを保守しなきゃならないから過去の分は仕方ないにしても未来は統一すればいいのに >>366 単に言語によって言い方が変わるもので俺が知ってるのが、辞書だっただけだよ 二次元配列とは違うのは知ってる >>370 無駄に偉そうだなw 中身を理解していれば呼び方なんてあまり関係無いだろ 373 デフォルトの名無しさん 2020/09/18(金) 13:55:28.32
$ python setup.py sdist $ pip install dist/mypackage-1.0.tar.gz で自作パッケージをインストールしました pip listで確認したところmypackageがリスト上にありました しかしimport mypackageしたところ ModuleNotFoundError: No module named 'mypackage' というエラーがでました pip listには表示されるが一方でno moduleという矛盾に陥ったのですが 考えられる原因は何でしょうか ちなみに他のパッケージは問題なくinstallもimportもできました (mypackageの中身はprintでHelloするだけの内容です)
>>369 そう思うならお前さんがやればいいだけ やってみればなぜそういう方向に行かないかもわかると思う >>369 自然言語がいっぱいあって統一できんのと だいたいが同じ理由じゃろ 377 373 2020/09/18(金) 15:04:46.32
pip show のインストール先のディレクトリを確認したところ mypackage-1.0.dist-infoしか入ってませんでした 他のseleniumとかだと.dist-info以外にseleniumディレクトリも入ってるので これが原因、つまり $ python setup.py sdist 後の処理に原因がありそうです もっかいインストールしなおしてみます
378 373 2020/09/18(金) 15:22:10.98
とりあえず $ python setup.py sdist したあとインストール先のディレクトリに不足分のmypackageを手動でぶっこんだらimportできました・・
380 373 2020/09/18(金) 16:09:12.33
>>369 3次元以上の配列の存在を知らない、または可能性を思い付かないレベルの人間が、言語は統一すべきとか何言ってんのw >>369 言語を具体的な道具に置き換えると主張のおかしさが分かりやすい 世の中にはいろんな種類の刃物があるよね ハサミ、包丁、カッターナイフ、ペーパーナイフ、刀、鋸 「なんで刃物を統一しようとしないの? やること同じなのに、切り方が違うとか無駄じゃないの」 >>380 解決おめ+報告乙+えらい!!! >>376 おう、気が合うなw そして369が大人気すぎて草 >>371 あるに決まってるだろ。 XYZ座標とか習わなかったのか? 時間軸を増やせば4時限 >>386 其処はワープする。 しかしPython の数式関連のツールには圧倒されるな。 こんなのが自分の中学高校生時代に有ったら刺激ありまくりだったと思うけど。 既に棺桶に片足を突っ込んでる。 >>379 CとC++ですら、用途によって使い分ける必要があるのに、 言語の統一なんて無理でしょ。 統一できたとしても、マルチパラダイムでごちゃ混ぜ言語になって凄く使いづらくなると思うよ。 処理系任せで利便性を追求した、書いてないことを色々と実行してほしい言語と、 処理系が薄くて書いたことしかやらない言語の間で、 書き方を統一するなんてできないでしょ。 >>389 都道府県別人口動態の表なんかは、都道府県間を比較し始めたりすると実質的には3次元の表といえるような気もするが。 エンジンの燃料テーブルみたいなのも3次元以上の表になってるだろう。 物理や数学ならテンソルがあるから3次元以上の配列は珍しくないね。 >>389 2次元の表が有れば、3次元の表もあるよ。 Excel でも扱える。 でも複雑でばかばかしいから、配列で扱うんだけどね。 >>391 実質的とか言われてもw > 都道府県別人口動態の表なんかは、都道府県間を比較し始めたりすると それって表を時系列に並べたでかい表になってるだけじゃね? >>392 > ばかばかしい お前のレスかよw 表という抽象概念と、データの次元数と、それらを扱うための具体的なデータ構造が区別できない人は中学校に戻って4時限目の授業を受けましょう
[[1,2,3],[2,3,4],[0,1,2]] こんな感じの配列を配列内の要素の合計が多い順に並び替えたいんですが いい方法はありませんか?
>>393 「表」というと縦横の枠にデータを並べた表現形式のことだと思うが、 統計とかやっていると3次元以上の表もよく見るね。 行ラベルにもう一つの軸(次元)を載せたような。 >>395 です。 配列の中の配列の要素の合計順に並び替えたいということです。 >>398 ありがとうございます。ためさせていただきます。 >>394 表と言う「表現方法」の話 むしろ区別できてないお前が中学校からやり直せw >>396 絵画とかで三次元のモノを二次元で表現してようなもんやね >>395 x = [[1,2,3],[2,3,4],[0,1,2]] print(sorted(x, key = sum)) >>400 で、その絵画は三次元なの? 二次元なの? 3DCGって三次元なの? それとも二次元なの? その区別が出来てなかったから"三次元の表"の意味が理解できなかったんでしょ? >>402 > で、その絵画は三次元なの? 二次元なの? えっ? 日本語の理解力がないの? それとも引っ込みつかなくなった感じ? > 3DCGって三次元なの? それとも二次元なの? 表現方法の意味がわかってないのね 3DCGを3Dプリンタで出力できる時代なんだよ > その区別が出来てなかったから"三次元の表"の意味が理解できなかったんでしょ? 自己紹介乙w >>400 絵画は幅、高さ、色(RGB)だからデータとしては3次元 色はrgb/yuvで表せば3次元だがxyなら2次元だし波長なら1次元
>>401 ありがとうございます!! 勉強になりました。 >>408 違う。波長を考え出すならスペクトル分布を考えないといけないので無限次元。 人間の目には赤と青を混ぜた色は紫に見えるけど、 それは純粋なスペクトルの紫とは違うし、 白なんかはスペクトル上にはない色。 >>407 いずれにせよ、人間の視覚で感じる色を考えるとしたら、LMSの3つの錐体細胞で光の強さを感じ取っている以上、どんな基底変換をしたとしても3次元の値で表現されることになる。 >>406 要素数の話じゃなくて、3次元のテンソルで表現されるということ 言語統一表おじさんのおかげで、また盛り上がってきたね! 悪い方に
>それを表って言うのかい? >実質的とか言われてもw >それって表を時系列に並べたでかい表になってるだけじゃね? からの >絵画とかで三次元のモノを二次元で表現してようなもんやね さすがにこれは恥ずかしい 恥ずかしくて逆ギレしたくなるのも分かる
錐体細胞は入力数が1だと思っていた時期が俺にもありました。
>>414 恥の上塗り乙 引っ込みつかなくなってて可哀想w >>412 要素数? 幅、高さってまじで言ってたのか?w 左位置、上位置とかの座標の話と解釈してたんだが… import random from numba import jit @jit def kansu(x): ____l=[] ____for i in range(x): ________a=list(range(10)) ________b=random.sample(a, len(a)) ________l.append(b) kansu(100000) こんにちは。パイソンを高速化したくてnumbaの勉強をしてるのですが、 全然早くならんのです。また「@jit("void(i8)", nopython=True)」って感じで型を指定すると エラーがでてしまうのです。僕は何が間違ってるのでしょうか? 先輩たち助けてくだしゃあ。
[] に append は遅い numpy の arrray 使わないとだめよ
Python高速化するよりC++やRustで書き直したほうが早いよ
l = [0] * 10 してからl[i]に値をぶち込んでいくほうが早いと思われ もしくは n = 10 a = list(range(n)) [random.sample(a, n) for _ in range(x)]
予め領域確保しておかないと遅くなるのはどの言語でも同じだけどな
>>418 です。 皆さん、ありがとうございます。 コードを書き換えてみます。 numbaの型指定で「@jit("void(i8)", nopython=True)」で エラーがでるのは何故かわかるかたいませんか? >>421 さんの l = [0] * 10 の様なことを>>419 さんのnumpyで実現する方法ってありませんか? お二方の技を合わせることはできまんか? n = 10 lst = np.empty((x, n)) for i in range(x): lst[i] = np.random.choice(n, n) こっちのほうが早かった lst = np.array([np.random.choice(n, n) for _ in range(x)])
>>426 ありがとうございます。 とても参考になります。 >>428 import random n = 10 x = 10000000 lst = list(range(n)) lst = [random.sample(lst, n) for _ in range(x)] ------------------------------------------------------- Wall time: 2min 3s import numpy as np n = 10 x = 10000000 lst = np.array([np.random.choice(n, n) for _ in range(x)]) ------------------------------------------------------ Wall time: 1min 42s >>426 早いけどなぜか乱数が重複するみたいです。。。 なぜだろう。。。 失礼。random.choiceはダメなようだ lst = np.empty((x, n)) for i in range(x): a = np.arange(n) np.random.shuffle(a) lst[i] = a もっと早い書き方がある気がするのでnumpyプロの人よろしく…
import numpy as np x = 1000000 lst = np.random.randint(0,10,size=[x,10]) こんな感じだと早いんだけど重複しちゃうんですよね。。。
あ、すまん numpyの方か 重複無しにしたいなら単純にreplaceをFalseで指定すれば良い import numpy as np n = 10 x = 10000000 lst = np.array([np.random.choice(n, n, replace=False) for _ in range(x)])
>>436 普通に配列についかするより結構早くなりますね ぶっ飛びで遅いと言うか スクリプト言語なんて大抵こんなモンじゃない?
動画サイトをスクレイピングする場合、動画サイトが埋め込みコードを提供していない場合は、自サーバにダウンロードしてから埋め込むという作業が必要なんでしょうか?
他人の著作物には、作者の著作権があるので、 作者以外の人は、配布・公開できません! 基本は、自分が作った著作物しか、配布・公開できない。 ただし、OSS, MIT のような、特別なライセンスがあれば、できます
「make sure you have a working qt qmake on your path」で検索! 常に、エラーメッセージで検索する癖を、つけた方がよい
>>444 スクレイピングするのはもちろんですが、埋め込みコードがない場合どうするのかなと >>443 検索したんですが、どれもqmakeの場所を検索することをおすすめしてきたので検索したところ Edgeのキャッシュに謎の.jpgと.htmが入ってる以外それらしいものがないです qmakeだけダウンロードできないかと思ったんですが配布してるところないみたいです pythonもpyqt4もダウンロードしたばかりのものです ちなみにPython2.7.3+PyQt4じゃないと絶対ダメなん? python2系のサポートが後数年で切れるから python3+PyQt5の方が今後のために良いと思うが…・・・
>>446 Qt4自体やらVC++コンパイラやら先にインストールしとかないとだめなんじゃね 2.7系使うにしてもpipバンドルされてないほど古い2.7.3とかどんな縛りプレイしてるのよ pip使えれば4.11.4だけどここのビルド済みパッケージだけでいけると思うけど https://www.lfd.uci.edu/ ~gohlke/pythonlibs/#pyqt4 2.7用はcp27、pythonが32bitの場合はwin32、64bitはwin_amd64 abc = input("パスワードを入力してください") pw = "abc" if in == pw: print("Hello world") else: print("パスワード違います") パスワードを入力すると「Hello world」と表示されるアプリを作ったのですが、 一つ問題が浮上しました。それは、ソースを見るとパスワードが筒抜けなんです>< アドバイスお願いします。
abc = input("パスワードを入力してください") pw = "abc" if abc == pw: print("Hello world") else: print("パスワード違います") 訂正です。コードが間違ってました。
>>453 ハッシュ化?ですか。 どうすればできますか。 >>455 すません。5ch貼り付けるとインデントが消えるようです>< >>456 入力したさいにパスワードが見えないようになりますが ソースにパスワードを記入すると丸見えですよね。 どうすればパスワードを隠せますか。 >>457 1が読めない池沼は初心者の質問板からでてきちゃだめ GUI を作れて windows で作って、mac でも Linax(UNIX) でもそのまま動作する という事が可能でしょうか?
>>457 Webアプリ開発入門みたいなオンラインの学習コンテンツいくらでもあるから、そういうのから始めたほうがいい そのレベルの質問をいちいちしてたら全く進まんぞ >>460 できないことはないんだが Win同士でもバージョンが違うとちょっとどころじゃなくズレたり文字化けたりとかするじゃろ? ああいうの起きるから結局GUI周りはOSごとに微調整するはめになるんよ >>462 分かりました。ありがとうございます。 MACとLinax結局は必要ですね >>463 もちつけ 綴りまちがっとる あと、それぞれのバージョン・Linuxに至っては種類もいっぱい揃えような! 〇〇ができるって書いてあると色々妄想広げちゃうけど、ほんとにそれ必要?って考えないとね
>>451 です。引き続き回答をお待ちします>< 心無い誹謗中傷はスルーします。 以後アオリもNGに追加させていただきます。 よろしくお願いしますm(_ _)m
>>448 使うソフトウェアの要求で2.7.3使ってます。 私はもちろんpython3用に書き直すことはできませんし、マイナーな趣味なので他人が書き直すことも望めません。 qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに どうしてqt4が必要になるのでしょうか。 また、どのようにqt4をインストールするべきでしょうか。 >>451 Ruby on Rails では、credential という暗号化機能がある credentials.yml.enc というファイルに、例えば、以下のように設定値を生で書いても、 YAML ファイルを、Rails が丸ごと暗号化してしまうので、どういう設定か全く読めなくなる aws: access_key_id: 123 secret_access_key: 345 逆に、値を取得する際も、マスターキーで自動的に、ファイルを解読する。 つまり開発者は、マスターキーだけ持っていればよい Ruby病は重度の精神病で完治しないと言われている
>>472 >qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに >どうしてqt4が必要になるのでしょうか。 誰がそんなこと言ってるねん、あくまであくまでpyqt4はPythonでqtを使えるようにしただけで 書き直したとは一言書いてないぞ とりあえずはQtをインストールしてqmakeのパスを追加するしかないな (Qt自体もアップデートされてるから上手くいくはやってみないと分からん) >>475 ありがとうございます。勉強してみます。 pyqt4がpythonとqtの橋渡し役なのか、それともpython版のqtなのかわからなかったのですが、 橋渡し役ということでいいでしょうか。 また、qtは4.8と5.0がpython2.7.3とリリース日が近かったのですがどれにすべきでしょうか。
http://download.qt.io/archive/qt/4.8/4.8.7/ どれがいいかよくわからないのでVS2010版インストールしてみました 環境はwindows10 64bit visual studioはバージョン1.49.1 mingwは無いと思います C:\Users\(ユーザー名)\Desktop\PyQt4_gpl_win-4.12.3>python configure-ng.py --verbose Querying qmake about your Qt installation... Determining the details of your Qt installation... C:\Qt\4.8.7\qmake\qmake.exe -spec win32-msvc2008 -o qtdetail.mk qtdetail.pro Could not find mkspecs for your QMAKESPEC(win32-msvc2008) after trying: C:\iwmake\build_vs2010_opensource_________________PADDING_________________\mkspecs Error processing project file: qtdetail.pro Error: Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem. pathはqmakeに通しても通さなくても結果は変わりません。 qmakeへのpath無しでCドライブ直下でqmake -vを打ち込んでもなぜかちゃんとバージョンが出ます。 64bitなのに32bitを探していておかしいと思いますがよくわからないです。 QMAKESPECをQT内で検索しても出てこないです。qmake.confならあるんですが。 エラー文章途中のアンダーバーの多いコマンドも試しましたが指定されたパスが見つかりませんと言われます。 検索して似た事例の英語回答があったので試しましたが https://forum.qt.io/topic/18150/qt5-qmake-s-mkspec-path-location/3 C:\Users\(ユーザー名)\Desktop\PyQt4_gpl_win-4.12.3>qmake -spec /path/to/qmakespec Failure to read QMAKESPEC conf file /path/to/qmakespec\qmake.conf. Error processing project file: C:/Users/(ユーザー名)/Desktop/PyQt4_gpl_win-4.12.3/qtdetail.pro となってうまくいきませんでした。 バージョン1.49.1ってVisual StudioじゃなくてVisual Studio Codeでしょ…
Visual Studio CodeのZIP版を使っています Microsoftのチュートリアルに従い 日本語化とPythonエクステンションをインストールして Pylintの警告を出してインストールしたあと ポータブル用の設定になっていないことに気づいてdataフォルダを作成 それから日本語化とPythonエクステンションをインストールしました Pylintの警告を出すためにpyファイルを作ったのですが警告が出ません エクステンションの設定を見るとPylint Enabledとなっていますがポータブルとしてインストールされているのでしょうか?
コードが長くなってきたので書き分けたいのですが 分けなかったときと同じようにimportするにはどうしたらいいのでしょうか 分けない時 【my_module.py】 def hello1(): _print('hello1') def hello2(): _print('hello2') 【main.py】 import my_module my_module.hello1() my_module.hello2() my_moduleからhello1とhello2を分けたとき 【my_module.py】 def hello1(): _print('hello1') 【hello2.py】 def hello2(): _print('hello2') 【main.py】 分けないときと同じように my_module.hello2()で呼び出したい
レスした瞬間ひらめいたというか初心に戻り自己解決しました my_module.py内でfrom .hello2 import hello2すればいいだけでした
えっ別物だったの!? 道理でバージョンがおかしいと思った VS2010 c++ express edition 入れましたが特に変化ないです
スレチだったら申し訳ないのですが、どうしても自分じゃ解決しないので助けて下さい。 今週から勉強して始めたのですが、 Requestsのモジュールをターミナル経由でpipからインストールしてVS codeで入力してもno module named ‘requests’と出てしまいます。 環境Mac OS 10.15.4 Python ver 3.8 どなたか解決法教えていただけないでしょうか、よろしくお願いします。
pip3使わないとPython2の方にライブラリインストールされちゃうよ
490 デフォルトの名無しさん 2020/09/24(木) 01:30:41.80
>>488 pip3 install requestsとかは? そもそもインストールされたモジュールや importするモジュールがどこに入ってるかを確認してしまえばいいのでは 必ずどこかのディレクトリから参照してるわけだし お二方夜分にありがとうございます。 調べたところどうやらpathが繋がっていないのが原因なのかなというところまでは掴めました Terminalでpip3 install requstsとしてもalready satisfiedと出ております。 requestsの方は/opt/anaconda3/lib/python3.8/site-packages(2.24.0) でVScodeでsysを見ると Python.framework/Versions/3.8/lib/python/site-packages になっておりました。 兎にも角にも普通にやってれば躓く所じゃない事が分かっただけでも助かりました!
492 デフォルトの名無しさん 2020/09/24(木) 02:03:08.49
まぁそれならあとはVScodeから実行するならpython3のパスを通してやるか Terminalから直接pyファイルを実行するならpython3で実行してみるか
488ですが無事解決しました。 何も考えずにYouTubeの動画のチュートリアルで言われた通りに入れたanacondaと、VScodeでInstallしたpythonのpathが合っていなかったのが原因でした。 完全にanacondaをアンインストールすれば実行できました。 お騒がせしました、ならびにありがとうございました。
指定した整数の回数だけ、同じカウントをやりたいのです count = 0 life = 5 d = 0 for i in range(100): _if d == life: __d=0 __count+=1 _print(count) _d+=1 # 000001111122223333344444555556666677777... みたいなカウントの仕方です dが野暮ったい気がするのですがもっとシンプルに書けないものでしょうか
for i in range(100): print(i // life)
>>496 できたーーー! ありがとうございます! 500 デフォルトの名無しさん 2020/09/24(木) 22:35:34.15
import itertoolsとnext()なる便利なものを知ったのですが これ、”一周回ってきた”を知るにはどうしたらよいのでしょう リストの長さをカウントするしかないのでしょうか?
意味不明 無限イテレータなら一周なんて概念はないし listみたいなイテレータなら一周以上できないから一周しか存在しないだろ 変な説明するよりコードを提示して質問しろ
ある自然数を適当に分割したいんです。 例えば100という自然数があったばあい10,50,16,24みたいな感じです。 教えてエロい人
ごめん。実際は3分割したいのです。 よろしくしまっす。
>>504 1,1,98でも構いませんが、 分割する場合、それぞれの値の期待値が同じになれば大丈夫っす。 分割する自然数=100 分割数=3 配列=[] 配列2=[] for i in range(分割数): 配列.append(random.random()) for i in range(分割数): 配列2.append(配列[i]/sum(配列)*分割する自然数) print(配列2) ちなみに私が思いつきで書いた公式です。 結果が少数になってしまうので不採用となりました。。。
Python もマルチバイト文字が使えるようになったか。
508 デフォルトの名無しさん 2020/09/25(金) 08:41:44.33
>>501 import itertools import time ary = ['a','b','c'] it_ary = itertools.cycle(ary) for n in it_ary: _print(n) _time.sleep(3) これで一周回る、つまり毎回'c'がprintされたあとに処理をしたいわけです (aryの中身は変わるので値'c'を比較してって意味ではありません) len(ary) == iすればいいだけなのですが気になりまして >>505-506 期待値同じ縛りなのか・・・ 合計がピッタリ分割もとの数になるように ランダムさんを割り当ててくのってむずかしいきがした。 おれかんがえたのは 506の記法に従うと max=分割する自然数-分割数+1 for i in range(分割数): ____tmp=random.randint(1,max) ____配列.append(tmp) ____max=max-tmp-(分割数+1-i) 512 デフォルトの名無しさん 2020/09/25(金) 09:37:55.05
>>509 つまりitertools以外のものであれば it_ary.count(今の位置を整数で取れる)だったり 'c'をprintし終わったあとに実行できるようなit_aryにコールバックを設定できたり そういう慣例があるということでしょうか? 自分でそういうモジュールを作る、という話ではないですよね? ID隠してるやつは土着の?あらしだからスルーな>>all
あらしと思わせたければIDを隠す そう思わせたくなければIDを出す これだけで精神レベルの低い人間を簡単に操作することができます
おれいを言うとチヌ病気にかかってるアフォに目印ついて便利っちゃー便利>うんこ装着してID隠し
>>512 f=True while f: _for n in ['a','b','c']: __print(n) _print('回った') >>510 ありがとう。 配列[0]に大きい数字が入りやすいけど最後に シャッフルすれば期待値は同じになりそうですね。 >>500 StopIterationがraiseされる 519 デフォルトの名無しさん 2020/09/25(金) 10:41:40.02
>>516 そうなんです 使わないのなら2重ループすればいいし 使うなら分岐でitertools自身の関数を使えるし それらの落とし所を探っている感じです >518 cycleはその名の通りstopしないのでしょうがisliceなどはtry:except StopIteration:で処理を分岐できました ただ、もしかしたらという方法を何個か思いついたので試してみたいとおもいます ありがとうございました コードを書く以前に日本語で仕様を書く練習をしたほうがいいやつが多いな
100個の候補から150個ランダムに出力する場合 期待値同じに出来ないだろう
n = ['aaa','bbb'] m = ('ccc','ddd') n = n + m は通らないのに n += m は通るのはなんでだで?
Pathlibで拡張子抜きのファイル名だけリネームしたいんだけど renameの仕様が凄く気持ち悪い なんでrename(’hoge’)でhoge.txtにリネームしてくれないんだ…
>>525 ファイル名だけリネームならバッチで充分やろ そんなリネームする関数がある環境が知りたいわ VBAとかにはあるのかな
Pathlibのrenameはosのrenameを呼んでる osのファイルシステム操作関数はposixインターフェースに習っている 文句はposixに言ってくるべき
>>531 ren foo.txt bar.* もしかしてこういうのを拡張子を指定しないと言ってる? >>483 ダウンロードしようとしたんですが、libclangにpython2.7.3時点のバージョンがないので 2.7.3のときは別のものを必要としたように見えます あとなぜか Make sure you have a working Qt qmake on your PATH.に逆戻りしました 今更ですがpip使ったほうが早いですかね ただpipもslscontext objext not foundとかでインストール失敗するんですよね とあるサイトをrequests.getするとres.status_codeで403が返ってきます ブラウザからだと普通に繋がります で、User-AgentやらRefererをブラウザのリクエストヘッダから写し取り headersに設定したのですがやはり403です 何か他に思いつく要因はありますでしょうか? ちなみに他のサイトだと403だったのがheadersの設定後、200のステータスコードを取得できました
あと同じ403でもheadersを設定した場合と設定しなかった場合とで 微妙にrequests.get後のresponse.textの内容が変わってるので headersやその他に足りないパラメータがあるのかと思うのですが・・
とりあえずブラウザ使ってる時のリクエストを丸コピする copy as cURLしてどのヘッダーが必須なのかを curl使って切り分けしてからコードにすると楽
>>537 あらためてコピペで設定したらすんなり通りました・・ なんらかのコピペミスだったのか (あと、403になったあとに接続するとどうやら一定期間 同じipで全ページで接続できなくなる仕様みたいでした、それが関わっていたのかもしれない) とにかくできました ありがとうございました python2.7.3を使っています python -c "import ssl; print(ssl.OPENSSL_VERSION) OpenSSL 0.9.8l 5 Nov 2009 新しいバージョンのopensslにするにはどうすればいいですか? https://github.com/pypa/pip/issues/4704 このページを見つけたのですが手順四番目の./Configureというコマンド?が認識されないです Windows98を使ってます。 YouTubeを見るにはどうすればいいですか? Meにバージョンアップはできません 理由は >>472 に書いてます 541 デフォルトの名無しさん 2020/09/26(土) 13:11:34.54
class hoge: _def __ini__(self): __pass __# ここ _def tes(self): __pass def __init__とdef tes(self)の間のインデント(#ここ)って無い方がいいよね?
空白文字のみで構成される空行扱いになると思うので、どちらでも良いのでは?
543 デフォルトの名無しさん 2020/09/26(土) 14:30:58.76
やっぱそうか 削除するよりも放置する(気づかない)ほうが簡単なのでとりあえず放置しとくかな・・
行末が空白の連続で終わってるのは勝手にトリミングするエディタ使え
>>546 フォーマッターは色々試したけどBlackが一番楽だったな 細かいオプション弄れないってのは目から鱗だったわ ただデフォルトの1行88文字だけイケてないから、そこだけ変えてるな 99がpep8にも従ってるから理想だと思うけど、個人的には120ぐらいの方が見やすいからそれで設定してる) >>540 Windows98 というOS 自体が古すぎる。 サポート切れ 時間の無駄だから、捨てた方がよい Windows7 でも、もうサポート切れだよ csv.readerで、10数桁の数値を読み込むと 指数表記になっちゃうんだけど、どうすればいい? 誰か教えてください・・・
csv.readerは関係ない。表示するときに勝手に指数表示されてるだけ。 print(f"{v:.15f}") とかして表示方法を指定する
>>551 返信ありがとうございます。 読み込みは問題なかったんですね。 処理した後データフレームを作成し、 df.to_csv('c:\\python\\aaa.csv',encoding='utf_8_sig') で出力すると、情報落ちが発生てしまうのですが これもデータフレームに書き込む際にフォーマット指定すればいいんでしょうか? すみません、上手く行きました。 ありがとうございます!
>>545 失礼しました。バージョンは2004と書いてあります、これでいいでしょうか。 556 デフォルトの名無しさん 2020/09/28(月) 18:23:16.35
a = False b = False のとき、 これと print(True if not a == True and not b == True else False) これって一緒の意味ですよね? print(True if not (a == True and b == True) else False)
if hoge == True: は使うと問題起きるので if hoge: で良い
not a == True and not b == True これは ~A ∩ ~B not (a == True and b == True) これは ~(A ∩ B) であって等価ではない 一番上と等価なのは not (a == True or b == True) これは ~(A ∪ B)
ド・モルガンの法則だと、後ろの条件式はandではなくorなのでは? ベン図を描いてみたら?
>>559 ドモルガンは公理であって法則ではない! >>561 数学的に厳密な話はわからないや、ごめんね。 564 デフォルトの名無しさん 2020/09/28(月) 20:10:58.54
>>557 (実際はif hoge == True:は使ってないのでどうでもいいのですが) 使ったとしてif hoge == True:で問題が起きるようなコードなら if hoge:でも問題がおきるのでは? そうではなくhogeがTrueとFalseしか取らない場合でも == Trueすること自体に問題があるということでしょうか? (つまりhoge=Falseのときでも、hoge==TrueがTrueとなってしまう) >558,559 ありがとうございます なるほどあらためて言葉に書き下ろしたり このような図にするとわかりやすかったです >>556 の後半は、aとbの重なった部分以外(aとbの一部含む) になってしまいますね >>564 そのベン図が有効なのは集合の要素が有限、いやせいぜい可算個までの場合ですね 無限集合に対しては無力だと思います TrueとFalseの二値論理なら等価だし、二値じゃないならTrueとの比較は hoge == True こそが唯一の正しい方法ということになる。
567 デフォルトの名無しさん 2020/09/28(月) 21:12:11.60
>>566 安価がないのでだれに言っているのかがわからないのですが (流れからいってそうなのかな、と迷う書き方をされているので・・) さらに>>556 と>>557 に系譜している返信かどうかもわからないので想像でかきますが そもそも>>557 は566に対しての返信じゃなく 独り言だったということでしょうか・・? そうではなく関連した返信だった場合は話がズレていると思いますのでスルーしますねすみません >>565 たしかに もっと複雑なif文を一行で書こうとすると頭が混乱しそうなので 最初はネストして書いてから整理しようかなとおもいます >>549 >>555 いいけど そのConfigureってやつはLinux系用の命令だから そのままでは動くはずがないぞっと >>568 そうですか。それではwindows用のpythonのopenssl更新法を教えてください。 >>566 2 は True だけど True と等価ではないよね。 >>566 は、排中律が妥当しない三値論理等の場合(その意味で直接的にはPytnonと関係しない場合)を想定した議論かなと思ったが、その場合、if hogeという書き方ができるかどうかは、ifの構文に依存するのでは? 仮に、(Falseの場合に対応する)elseとパラレルなキーワードがifに付け加わるとすれば、三値論理等の場合でもif hogeという書き方はできそうな気もするが……。 >>570 は、TruthとTruthyな値を区別するか否かという==演算子の意味づけの話だよね。 Truthyならif hoge: 普通は使わないが Trueであることを条件にしたければ if hoge is True: if hoge == True: は__eq__の定義次第で変化する
>>539 4月20日、「Python 2.7.18」をリリースした。 「Python 2」シリーズは、本バージョンが最終。すべての開発は終了 Python 2.7.18 を使えないの? もう、2系もサポート切れだけど これに変えても、OpenSSL のバージョンが上がるかどうかは、知らないけど >>569 573がなんか書いてくれてるからそれ嫁 PythonとRubyのバージョン2はもう捨てていいの?
>>565 プログラム板で扱う、しかも条件式の中での集合論理なのだから可算個の論理演算でなんの問題もない。板違い >>575 メンテなら止むを得ず2使う ライブラリやモジュールが2系しかなければ使う それ以外の新規なら3 >>575 1.8はもう捨てていいのではないかと思われ 1.9はR*b*Motion(iOS/macOS環境)があるから、完全には捨てきれない いずれにしても、ライブラリやフレームワークといった移行性に問題が 無ければ、確実に性能向上が図られている2.xへ移行するのがベスト もちろん性能、何それ美味しいの?って人は1.8.7を使い続けてもいい 特に日常的なテキスト処理に標準ライブラリだけで楽しんでいる人であれば、 後方互換性は維持されているから1.8から2.xまでお好きなように味見すればいい >>572 >普通は使わないが Trueであることを条件にしたければ if hoge is True: この辺は動的言語特有の落とし穴があるから、安易に「使わない」とは言わない。 ブラウザからだと普通に繋がるのに それと同じプロキシ、同じヘッダ使っても pythonのrequestsからだとCloudflareのキャプチャに飛ばされる 何かまだ設定しないといけないのだろうか? どちらにせよCloudflareに接続後に取得しているとみられるPHPSESSID周りが怪しいと思ってるんだけど
別の串にしたら普通に繋がったわ… お騒がせしました
皆さんありがとうございます。 結局anaconda使うことにしました。(pipがインストールできなかったので) サイズが大きくまた機械学習はやらないのでほとんどが無駄ですが 容量はありますしやりたい作業が終わったらたぶんさくっとアンスコするので無問題です 質問は二つです ・使いたいソフトがpython2.7.3までのバージョンを指定してくるのですが 2.7.3で動いて2.7.4以降で不具合が出るソフトがありうるでしょうか。 ・Traceback (most recent call last): File "C:\Users\ユーザー名\Anaconda2\lib\site-packages\enchant\_enchant.py", line 143, in <module> raise ImportError(msg) このエラーの直し方を教えてください。windows10バージョン2004です。
Python 2.7.3 と、2.7.18 は、パッチバージョンが異なるだけだから、基本的には同じでしょ。 ちょっとした修正 だから、 >>573 で、最新版にすれば? と言った 5ch の運営は、ダブルクリック対策も知らない馬鹿 ちょっとした連続クリックで、2回書き込まれてしまう
同一内容文のマルチポストチェックはされてるはずなのになんでなんだろうな
この前LinuxコマンドかSQL書いたら規制されたぞ
WebApp & APIになってるからじゃね? 昔ながらのhtmlのsubmitならダブルクリックで2重になるってことはないでしょ。
csvファイルを読み込んでも、中身がnanになってしまいます。解決方法をおしえてください
たぶん、数値として読み込んでいるけど、数値と解釈できないから
まず環境はメモ帳にソースコードを書いてそれをコマンドプロンプトでじっこうしています コードは以下の通りです import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np from numpy import genfromtxt from scipy.signal import argrelmax my_data = genfromtxt('data1.csv') print(my_data)
csvファイルはエクセルで 1 1 2 2 3 3 というものを作りました
これを実行すると [nan][nan][nan] というものが出てきます nanをきちんとした数字にする方法を教えてください
メモ帳で 1 1 2 2 3 3 を作ってください csvじゃないけどなw
>>600 やってみます そのあとはどうすればいいのでしょう? >>600 メモ帳ので実行したらうまくいきました.ありがとうございました。 while True: ____time.sleep(10) ____動かしたいコード として、10秒間隔で動くものを作りたいと思っています。 しかし、実際に動かしてみて、datetime.now()で取得した時間を同時に出力させると、10秒キッチリには動いてくれません。 具体的には、10.2秒ぐらいに1度の頻度になっており、ズレが段々と累積してしまいます。 この誤差を出来る限り少なくするためにはどうすればよいのでしょうか。
>>604 次に動かしたいタイミングを絶対時刻で記憶しておいて、現在時刻との差分だけスリープするようにする >>605 ありがとうございます。 なんとか目的のものが作れそうです。 macでadministrator以外のユーザーに python環境構築するにはどうしたら良いのでしょうか? administratorユーザー環境に入れてあるのを使用できたりしますか?
>macでadministrator以外 kwsk
>>609 1台のMacに複数ユーザーを作った場合に、 administrator権限を持たないユーザーにpython環境構築したいのですが。 試しhomebrewをインストールしようとしましたが、 sudoがどうこう言うのでインストールできません。 バージョンを特に気にしないのなら、システムのをそのまま使えばいいんじゃないの? 普通にやれば(sudoしなければ)、仮想環境は個人の領域に作られるわけで。
>>610 3.7以上を入れたいのです。 自分のところは問題無いんですが、職場の他のユーザは管理者権限ではないので。 マックは何か入れるときって必ずAdminのパスワード求めてくるんでねーのんけ しかも最近のバージョンにはルートレスとかいう機能が入ってるから それ切らないとどうしようもなかった気が
再度調べてもみましたが、管理者権限がないユーザに対しての環境構築は難しそうですね。 ありがとうございました。別の方法を考えます。
pyenvを入れられさえすればなんとかなりそうだけどな。 管理者権限あるMacでpyenvインストールして持ってきて適切にパスとか設定すればなんとかなはなりそうだけど。
>>615 自分以外のMacにも管理者権限アカウントで入ることはできます。 ただ使う人が管理者権限の無いアカウントで使用しているので その環境にpythonやpandasを入れたいのです。 >>616 簡単ではないだろうが出来るとは思うよ。依存関係のあるバイナリやファイルを全部どこか別のところに用意すればいいのだから。 ただ、具体的なhow toはないと思うけど。 brewとかなしでpythonをビルドしなおすために必要なソースを全部用意してビルドするのが簡単かな。 簡単といってもかなり手順は多いだろうけど。 >>617 試してみますが、自分のスキルではできなさそう。かつ面倒くさそうですね。 やるとしたら複数台やらなきゃいけないので。 >>614 管理者権限でどっかに必要なバージョンのPython入れてから各ユーザがvenvで環境作らせるのはできないの? Homebrewのインストール自身にsudo必須だったかは忘れたが 少なくともbrew updateやbrew installにはsudo不要なので特定バージョンのpythonやpandasを 管理者権限のないユーザーがインストールする分には全く問題ない Pythonのインストーラをダウンロードしてinstallerコマンド使うのでも普通にいける ただbrewやinstallerコマンドで特定のバージョンを直接インストールする方法だと 複数バージョン使う事になった時に面倒なのでpyenvみたいの使ったほうが簡単
homebrewを入れなきゃいけないものだと思っていたのですが、 無視してpyenvから始めたら、あっさりできました。 みなさんありがとうございました。
一応手順です。同じことでつまづかれた方がいたら。 git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile pyenv install 3.7.4 echo eval "$(pyenv init -)" >> ~/.bash_profile pip install --upgrade pip Pythonをつかってロボットアームを動かして部屋の片付けをやらせたいのですが やりかたがいまいちわかりません。なにをどうすればいいですか?
>>624 おすすめのロボットアームとライブラリなどありましたらおしえてください。 右も左もわからない初心者です。 部屋破壊するようなサイズのにして 空っぽにしてもらうとすっきりするぞ
>>625 自分の手に電極をぶっ刺してラズパイに接続するか 自分の手を動かして部屋の片付けをやらせた方が早いよ 学生が勉強用に買えるようなロボットアームってあるの? もちろん掃除とかは無理だと思うけど
安いものだと2万円くらいのロボットアームがありますね
>>633 NVIDIA の jetsonで遊んでみたら? jetsonは頭だけじゃん アームが欲しいって言ってるんですよね? てかPython関係なくね? プログラム板じゃなくてロボット技術板じゃね?
せやねぇーARMちがいのCPUアタマでややこいわ せやから工学的にはアクチュエータていえばええのんか つかステッピングモータかラジコン用サーボとホムセンや百均で自作すんのとちゃうか? Arduinoプログラミングのアプリみたいなエディタてあるんかいな?
matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか
>>640 はい、マルチポストってやつですね さよならー PILでshowしたイメージウィンドウを自動で閉じたい(右上のバツボタンを押さずに)のですが どうやってやるんでしょうか .close()や.destroy()してみましたがダメでした img = Imag3e.open(file) img.show()#window出現 time.sleep(3) #windowを閉じる
window出すときに割り当ててるviewer(あぷり)次第
stackoverflow.com/questions/6725099/how-can-i-close-an-image-shown-to-the-user-with-the-python-imaging-library
もし viewer が Microsoft.Photos.exe なら im.show() time.sleep(...) のあとで import psutil for proc in psutil.process_iter(): if proc.name() == 'Microsoft.Photos.exe': proc.kill() で消えることは消える(これが良い方法だとは思わない)
649 デフォルトの名無しさん 2020/10/02(金) 17:39:39.86
>>646-648 なるほど viewer次第なんですね(ちなみに実行環境はlinuxです) ほんとはpysimpleGUI上で画像を表示させようとしたのですが ダウンロード→保存→パスから表示→必要なくなったら削除 という方法以外でやろうとしたらうまく行かなかったので PILで別々に画像だけ表示しようとしたら 今度はビューワを自動で閉じれない問題が発生したのが>645だったのです とりあえずもう一度pysimpleGUI上で表示する方法を模索してみようと思います stringIO とか byteIO でメモリから読ませる方法があるはず
>>650 とりあえず一度ダウンロードして保存してパス指定して云々でpysimpleGUIで表示 はさきほど成功しました byteIOでPILのImage.show()も成功 pysimpleGUIのimage_filenameにbyteIOしたものを入れてみましたがだめでした stringIOでやってみます ボンミスというかpysimpleGUIにImageがあることを見逃していました どこぞのチュートリアルみてボタンとかのパラメータから バックグラウンドでしか画像表示できないものだと思ってました sg.Imageできそうです
解決しました ざっくり書くと response = requests.get('画像のurl') image = response.content これをpysimpleGUIのlayoutで [sg.Image(data=image)]のように読み込む io.BytesIOしなくてもあっさり表示されました
Pythonの自動操作プログラムのサンプルコピペしたら複数のステートメントがどうとかで動かなくてもうだめぽ
tesseract-ocrインストールしてpytesseractで数字認識できたのですが 背景にちょっとでも線入ると急に精度がガタ落ちするのですがそういうもんですかね?
やっぱ前処理して数字だけクッキリみえるようにしないといけないですよね・・
入れたいソフトウェアのもともとの頒布元見つけたんですが 身バレ怖いんでリンクは載せないでりどみのインストール方法だけです windows10とmacmojabeを持ってますが強いて言えばmac使いたいです mac用 Install them Python 2.7 :Not the 64-bit version PyQt4 PyEnchant ←「pythonが32bitなのに64bitだから入らない。32bitについてのpythonのmanを読め。」 のようなエラーが来てmanを読みましたがそんな項目はなかったです。 Java :Must be available on PATH on Windows ←これが理解できない。 使いたいソフトの中に.javaがないのも謎です windows用1 Install Java if you don't have it in your computer. http://www.java.com Must be available on PATH on Windows Start "open.bat".←入れたいソフトの中に入ってない謎のファイル windows用2 Open the "HOW TO INSTALL " folder. Install the file "python-2.7.15.msi". Make sure to enable the option "ADD PYTHON-EXE TO PATH". " Install "PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe" and "pyenchant-1.6.6.win32.exe". ←ググっても32bitは見つからないです 一応この方法だけは試しましたがエラーでした WindowsError: [Error 126] 指定されたモジュールが見つかりません。 どれも理解できず失敗しました。どれでもいいのでうまくいく方法はありませんか。 ソフト作成者に聞こうかと思いましたがほかの人の質問に答えてないあたり無理そうです > "pyenchant-1.6.6.win32.exe". ←ググっても32bitは見つからないです 嘘つき?無能?どっち?
なんでこういう奴ってどいつもこいつもソフト名書かないの? 同一人物?
自分も初心者でROM専門だけど、質問者の質は低いのが多いと思うわ
日付と時刻で並べ替えをしたいのですが、 df_summary = df_summary.sort_values(['recording_date', 'recording_time'], ascending=[True, True]) で並べ替えできません。 どこが間違っているのでしょう?
>Java :Must be available on PATH on Windows ←これが理解できない。 >使いたいソフトの中に、.javaがないのも謎です a.java は、単独のファイルだろ。 Java は、tar, zip などの圧縮アーカイブの一種だろ
それです。すいません特定班舐めてました 散々手間かけてもらって本当に申し訳ないです。どうかどれでもいいのでインストール方法教えてください。お願いします。
ダンガンロンパ2っていうゲームをゴニョゴニョするためのツールか
どうせ中韓語に翻訳して海賊版を流通させるつもりだろ
csvに下記のデータが入ってます。 [[日付,来客数], [2020/9/9,15], [2020/9/10,18], [2020/9/11,12], [2020/9/12,17]] 日付から曜日を取得したいんだけど。。。 教えてください。。。
import io import datetime import pandas as pd csv = ''' 日付,来客数 2020/9/9,15 2020/9/10,18 2020/9/11,12 2020/9/12,17 ''' df = pd.read_csv(io.StringIO(csv), header=0) print(df) wn = ['月', '火', '水', '木', '金', '土', '日'] f = lambda s: wn[datetime.datetime.strptime(s, '%Y/%m/%d').weekday()] df = pd.concat([df, df.iloc[:, 0].apply(f).rename('曜日')], axis=1) print(df)
2020/9/9でググると木曜日って表示されるよ 無理にPython使わんでもよくね?
別に webAPI 使っても構わんが リアルタイムの時刻とか使うときは timezone 考慮しとけよ
>>670 ありがとうございます。 使わせていただきます!! pandas使うならto_datetimeしてstrftimeでも曜日の文字列取れるよ locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8') df['曜日'] = pd.to_datetime(df['日付']).apply(lambda x: x.strftime('%a'))
>>662 自己解決しました。 >>> df['Date'] =pd.to_datetime(df.Date) でdatetimeオブジェクトに変換する必要があったんですね 3.7から3.8にした パッケージをいちから入れ直すのはめんどくさかったけど、 バージョンアップで上書きはしないほうがいいんだよね?
下みたいなインデックスのない数値計算結果(テキストファイル)を読み込み 特定の列を消す書き方がよくわからないです(2列目と3列目だけ消す) ファイルの整形からグラフのプロットまで一つのpythonファイルでやりたいのですが 整形だけがうまくいかない お知恵をください result.txt 1 1 0.00000 0.00000 0.000000E+00 5.569085E+02 5.569085E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.189474 0.000000E+00 5.594460E+02 5.594460E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.378947 0.000000E+00 5.668875E+02 5.668875E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.568421 0.000000E+00 5.787263E+02 5.787263E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.757895 0.000000E+00 5.941398E+02 5.941398E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39
matplotlibがうまく動かなくないからpython 3.6に戻した
import re result = '''\ 1 1 0.00000 0.00000 0.000000E+00 5.569085E+02 5.569085E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.189474 0.000000E+00 5.594460E+02 5.594460E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 1 0.00000 0.378947 0.000000E+00 5.668875E+02 5.668875E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.568421 0.000000E+00 5.787263E+02 5.787263E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39 1 2 0.00000 0.757895 0.000000E+00 5.941398E+02 5.941398E+02 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.60E-06 39''' q = re.compile(r'^(\d+)\s(\d+)\s(\d+)\.(\d+)\s', re.M | re.I) for s in result.split('\n'): m = q.match(s) if m: print(f'{m.group(1)} {s[len(m.group(0)):]}')
>>680 ヒントだけ。 csv.reader(f, delimiter=' ') Ruby なら、これで最初の列を削除できる require 'csv' # 引数は、入力ファイル名。ヘッダー行あり table = CSV.read( ARGV[ 0 ], headers: true ) # 列モードにしてから、最初の列を削除する table.by_col!.delete( 0 ) puts table
Pythonによるデスクトップアプリ開発の質問です。 何十年ぶりかに趣味のプログラムに手を出そうとしています。 触れたことがある言語はCを少しとVBです。 基本、Windowsで動けばいいと考えて調べた結果、 Python、Java、VB.net、electron の4つに絞りました。 また趣味で手軽にやるならPythonがいいかなとおもいました。 そこでですがPythonでは実装が出来ない、 または無理があることを教えて頂けますでしょうか。 スピードとかは気にしません。 Python3を始めるつもりです。 よろしくお願いいたします。
コマンドプロンプトに pip install tensorflow pip install keras と書き込んでkerasをインストールしたいのですが、インストールが終わって import keras をメモ帳に書いて実行してもうまくいきません 以下のようなエラーが出ます Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow`
a = [] に a[3]="aaa"ってやるとエラーがでますが 自動で[None,None,None,3]みたいに入ってくれませんか
>>686 「とか」ってなんだ「とか」って >無理があること なんだったっけかな こっちじゃない方のPythonスレで 仕様上どうしてもかゆいところについて先月あたり話題になってた気がする あと、VBよりCが好き派なら やめとけとしか。 >>689 dictionary使えばいいケースではないの? foo = {} foo[3] = “aaa” どうしてもlistでやりたいなら要素数固定にして先にNoneで埋めるかIndexErrorを拾って自分で拡張するか foo = [None] * 10 foo[3] = “aaa” >>692 >>695 fooを定義するときにNoneで埋める数がわかってると先に埋めちゃいたいのですが 後々わかるパターンなので、その”最初だけ”をifで分岐するか おっしゃる通りtryで拾うことにしていますね 実際は a={"a":[],"b":[]} みたいな感じなので a={"a":{},"b":{}} dictionaryで初期定義してやれば分岐やらエラー処理無しでできそうです (ただ、a["a"][2]とかも参照したい(空なら別の処理)のでそのときにエラーを拾わないといけない?) ありがとうございました 本日Pythonの勉強を始めた者です。 こんにちは。私はパイソンです。と出力するために s="こんにちは。"+"私はパイソンです。" print(s) と入力したところ、2番目のダブルクォーテーションが赤く囲まれ、invalid character in identifierと表示されてしまいました。 どのように修正すればいいでしょうか? Pythonのバージョンは(3.8.6)です。
俺のESP能力を見せてやんよ >>697 1つ目のダブルクォーテーションが全角になってる >>698 ご回答ありがとうございます。 どちらも小文字になるように初めに「"」だけを続けて2つ入力してから文字列を作ってみたのですが、それでも同じエラーが出てしまいました…。 申し訳ありません。こちらの勘違いで、全ての"を全角で入力していたようです。 しかし、半角に修正して入力したところenterを押した瞬間消えてしまい入力が出来ませんでした。
連投になってしまいすみません。 恐らくプログラミング以前の問題だと思うので自分で調べ直してきます。 ありがとうございました。
VSCode で、Microsoft の拡張機能でも入れれば? 構文エラーぐらい、チェックしてくれるだろ
>>686 CLIかWebのアプリならPythonでok GUIアプリを作りたいならC#がいいよ。 >>690 >>704 返信ありがとうございます。 「とか」はまんまです。上2行以外と言う意味で、多分言われやすそうなスピードを例にあげました。 いろいろとサンプルコードを眺めたりしたのですが、 PythonはGUIにはあまり向いてないんですか。 ライブラリはすでに充実していて行けてそうだったんですが、 別のスレッドの記事はまだ見つけられないでいます。 何か情報お持ちの方おりましたら、引き続きよろしくお願いいたします。 >>696 内側のdictを造るときにkeyが無い時のdefault値を設定しておける >>704 C#でGUI造るとき Windowsformsが良いのかWPFが良いのかその他何があるのか >>705 python 使う条件なら wxPython とか PyQt とか tkinter C# を否定はしない >>705 PythonでGUI組むなら、PySimpleGUIが使いやすいぞ >>707 WinFormsが簡単、WPFは必要な知識が多いので初心者が趣味でやるにはハードル高い データ分析系とかPythonのライブラリ使う場合でもGUIはC#で作ってPythonのコードを呼び出すようにしたほうが簡単