X



くだすれPython(超初心者用) その50【まず1嫁】
レス数が1000を超えています。これ以上書き込みはできません。
0001蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「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/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

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

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
0002デフォルトの名無しさん
垢版 |
2020/08/27(木) 20:49:44.08ID:ygBOOYPT
スクレイピングはpythonとphpどちらが適しているのでしょか?
youtubeの動画を取得して、独自にランク付けしたいです
0005デフォルトの名無しさん
垢版 |
2020/08/27(木) 22:47:37.22ID:/TSJ2nks
>>2
Python
やってる事は裏でseleniumブラウザを立ち上げて
を用意されたapi叩くって事で変わらないんだけど、
文字列の操作がPythonの方が優れてから
0010デフォルトの名無しさん
垢版 |
2020/08/28(金) 07:09:53.91ID:7ps1QWM6
rss取得にはpythonとphpどちらがいいのでしょうか?
1つのサイトを構築する場合、どちらか一方に絞ったほうがいいのですか?
0012デフォルトの名無しさん
垢版 |
2020/08/28(金) 09:28:51.64ID:Q0CTYRG1
Web系でPython使ったことないんで何か出来ないかなと探したがWebだと別にPython使う必要ないな
0013デフォルトの名無しさん
垢版 |
2020/08/28(金) 10:12:09.60ID:7ps1QWM6
スクレイピングした結果をサイト上に表示するというものですが、pythonかphpか分からないです。
0015デフォルトの名無しさん
垢版 |
2020/08/28(金) 10:32:29.37ID:LLs1s+XQ
リファレンスじゃなくてチュートリアルのURL貼っといて
リファレンスに描かれてないじゃないか!ってクレーマーω
0016デフォルトの名無しさん
垢版 |
2020/08/28(金) 11:14:22.43ID:CzRmvnjE
スクレイピングは、Ruby で、Nokogiri, Selenium WebDriver。
driver.execute_script で、JavaScript のコード(文字列)も実行できる

データベースに保存するなら、Rails をそのまま使うのが速い。
Capybara で、Headless Chrome を使う
0018デフォルトの名無しさん
垢版 |
2020/08/28(金) 14:39:31.15ID:QbWLWqeS
どんな言語でもweb driverの扱いが違うだけでgoogle driverを操作だかんね
因みにgoogle driverの挙動が安定しいから辛い
0027デフォルトの名無しさん
垢版 |
2020/08/28(金) 21:17:22.95ID:v0Wakv/0
visualstudio vbやc#の直感的で色々プロパティが揃ってxml形式の似たもの無いかと探してた。
tkinkerは画面配置がgridとreplaceが合わさった要素がなくてちょっと大変さを感じた。
flutterはxmlいじいじ出来るけどちょっと大変さを感じた。

>>25
electron調べてみます。

>>24
>>26
それがimportしてフレームワークオブジェクトとし使えるものはありますか?
0031デフォルトの名無しさん
垢版 |
2020/08/28(金) 22:46:25.94ID:kClMeigf
ぶっちゃけおまえにはC#がお似合いだと思うから.Netにどっぷり浸かっとけ
で、さっさとコテつけろや
0033デフォルトの名無しさん
垢版 |
2020/08/28(金) 22:51:59.39ID:U+aOsbk9
>>32
追加。
ググったけど分かりませんでした、ではなく、調べたこと考えたことをもとにもっと具体的な質問に落とし込めよ
0034デフォルトの名無しさん
垢版 |
2020/08/28(金) 23:07:28.50ID:/eDPNzX9
>>29
このクソは
・日に数回質問
・コテハンつけない
・質問の背景を伝えない
・情報を細切れで後出し
・クレクレくんのテイカー

邪魔なのでNGにブチこみたいけどできない
💩🦟
0036デフォルトの名無しさん
垢版 |
2020/08/29(土) 11:39:51.74ID:LGKrWxDk
お前らって一生平社員から上がれなさそうだな。
30〜50の人がそんなコメントしてると思うと哀れみ感じるよ
0043デフォルトの名無しさん
垢版 |
2020/08/30(日) 14:13:45.36ID:GgAZZaQa
他人の痛みが判る人間になってくださいね
0044デフォルトの名無しさん
垢版 |
2020/08/30(日) 17:35:22.13ID:+2JsQ7HK
A:他人の痛みが分かる
  A-1:痛みを攻撃する
  A-2:攻撃しない
B:他人の痛みが分からない
0045デフォルトの名無しさん
垢版 |
2020/08/30(日) 23:19:44.11ID:YboAnHSb
df.loc[df['lr_residue'] > lr.residual_threshold, 'outlier_flag'] = True

この条件式を満たさなかったらFalseを入力したいのですが、どう書けば良いのでしょう?
0047デフォルトの名無しさん
垢版 |
2020/08/31(月) 00:35:32.63ID:qofV3zSx
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

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

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0048デフォルトの名無しさん
垢版 |
2020/08/31(月) 11:35:18.93ID:pX0ZQbZW
>>45
df.loc[df['lr_residue'] <= lr.residual_threshold, 'outlier_flag'] = False
0050デフォルトの名無しさん
垢版 |
2020/08/31(月) 15:04:09.77ID:YTLeuKSy
try exceptで例外に関するメッセージを出すことをしたんだけど、
例外発生時にその後の処理をスキップするにはどうしたらいい?
0052デフォルトの名無しさん
垢版 |
2020/08/31(月) 17:26:43.06ID:PbFnPWGE
握り潰して良いケースってそんなに無いぞ
0055デフォルトの名無しさん
垢版 |
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渡す方法もちょっと今からやってみます
0056デフォルトの名無しさん
垢版 |
2020/08/31(月) 19:44:09.61ID:B/OVLCcu
よくよくみたら遷移後のページは
エラーが発生しました (500)
500ページでした
0057デフォルトの名無しさん
垢版 |
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してやればログインできました
お騒がせしました
0061デフォルトの名無しさん
垢版 |
2020/08/31(月) 22:14:00.03ID:tHgQtCtq
>>52
catchして何もしないというとこんな風に「握りつぶしちゃイカン」という奴が出てくるけど、脊髄反射だよな。
0062デフォルトの名無しさん
垢版 |
2020/08/31(月) 22:33:46.13ID:7gVW3Vi7
pythonスクレイピングで深い階層をたどる場合、ひたすらrequests.getを繰り返していく感じでいいんでしょうか?
0064デフォルトの名無しさん
垢版 |
2020/09/01(火) 00:18:37.31
スクレイピングの話になると
質問者が負荷を考慮しない前提で決めつけて話するタイプが一定数いるよね
もう性癖なんじゃないのかとすら思う
自身が過去に何かやらかしたとかそういう
0066デフォルトの名無しさん
垢版 |
2020/09/01(火) 01:29:52.79ID:usFRsaVF
>>62
>深い階層をたどる
これが何を意味してるのかと、実現したいことによる
ただそれはpythonかどうかに限らずどの言語でもほぼ同じ
0068デフォルトの名無しさん
垢版 |
2020/09/01(火) 04:27:21.73ID:XOAV8SJl
想像だけど、これまではtry exceptしてなかったんでしょう?
元の処理と同じ流れにしたいならexcept内でraiseでないかと
0071デフォルトの名無しさん
垢版 |
2020/09/01(火) 08:24:32.61ID:j9jeQR8Z
>>64
pythonはじめました → スクレイピングやってみよ
質問してくる奴はほぼ負荷なんて気にしてないレヴェル
pythonは他言語より低レヴェルなプログラマー多いよ
0073デフォルトの名無しさん
垢版 |
2020/09/01(火) 08:37:01.74ID:wAKzgXIy
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

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

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0075デフォルトの名無しさん
垢版 |
2020/09/01(火) 09:50:30.98ID:SZww1T26
迷惑行為に他人を巻き込むな
迷惑行為したいなら自己責任の元、自分の力でやれ
0076デフォルトの名無しさん
垢版 |
2020/09/01(火) 10:11:12.00ID:FqTPqd+i
スクレイピングって初心者がよくやりたがる題材だが、初心者こそこういう人に迷惑を掛けうるものに手を出すべきではないな
もっと他のことで基本的な力を身に付けてから手を出した方がいいと思う
0077デフォルトの名無しさん
垢版 |
2020/09/01(火) 10:20:17.45ID:61d8SwkQ
トップ>ショッピング>レディースファッションとたどるだけで過剰負荷ってどんだけ貧弱なサーバーなんだよ。
0078デフォルトの名無しさん
垢版 |
2020/09/01(火) 10:42:15.31ID:x63jWwwu
【PHP】下らねぇ質問はここに書き込みやがれ 11
https://mevius.5ch.net/test/read.cgi/tech/1591334726/428

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

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

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

詳しくは、サイトのrobots.txt に書いてある
0079デフォルトの名無しさん
垢版 |
2020/09/01(火) 11:49:29.14ID:HreNCevR
しかもDOMの基本もわかってない人も多いからかえって言語覚えるのには遠回りっていうね
008078
垢版 |
2020/09/01(火) 12:02:19.87ID:x63jWwwu
5ch など、ほとんどのサイトは一旦、空のHTML を送ってきてから、Ajax でデータを取得するから、
普通にスクレイピングしても、データが存在しないので取得できない

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

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

会社が公開している、API・RSS などを使うべき!
0081デフォルトの名無しさん
垢版 |
2020/09/01(火) 12:22:02.61
>>71
そんなこと言い出せば
今までITやプログラミングに縁のなかったそこらの一般人がpythonはじめましたなんていうことは確率的に低い
0082デフォルトの名無しさん
垢版 |
2020/09/01(火) 12:30:47.28ID:usFRsaVF
>>69
階層だけど、それめちゃ浅くね?
それにトップから辿らなくてもカテゴリのIDはそう変わらないから直接アクセスすればいいんじゃないの?

あとはレディースファッションとかに表示される商品情報はAJAXで取ってきてるから
requestsでやるならXHRのリクエストをWebサイトがやってるのと同じようにやるのと
レスポンスにある各項目の意味を把握しておく必要があるので少し面倒
(そのかわりSeleniumとかのブラウザ操作系に比べれば高速)
008378
垢版 |
2020/09/01(火) 12:44:38.65ID:x63jWwwu
カテゴリのID は変わらないとか、
暗号のようなクラス名は変わる・変わらないのか、分からないとか、
漏れらは、そのサイトの作者じゃないから、仕様が分からない

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

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

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

だから、クラス名に頼らず、div の下のdiv の、みたいに構造で分析していかないといけない。
ものすごく深いネストを解析するのは、面倒くさい
0084デフォルトの名無しさん
垢版 |
2020/09/01(火) 12:55:56.71ID:/NSRorCL
これはひどい
https://www.尼zon.co.jp/dp/4798161918
008678
垢版 |
2020/09/01(火) 15:39:23.88ID:x63jWwwu
こういう動画を見れば?

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

【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
https://www.youtube.com/watch?v=rt_X6n9oWa4

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

時給30万円!
0087デフォルトの名無しさん
垢版 |
2020/09/01(火) 16:24:34.68ID:fuWow3G5
>>57
>>59
find_all ね
0088デフォルトの名無しさん
垢版 |
2020/09/01(火) 16:57:12.56ID:qDG6bTcu
>>81 今は大学で教えてるんじゃないの? 一番教えやすいから。
アメリカだとPython がわかるかどうかが採用条件になってる会社もある。

日本はRuby が普及してたから出遅れてる。
0089デフォルトの名無しさん
垢版 |
2020/09/01(火) 17:20:10.19
そういうことじゃなくてpython知ってるかどうかやり始めたかどうかはどうでもよく
○○を知らないはず(妄想) → ○○やれよ(確信)、と指摘する
みたいなレッテル貼りの認識が抜けてるってのがおかしいでしょってこと
仮に○○が当たってたとしても、妄想でしかない
0090デフォルトの名無しさん
垢版 |
2020/09/01(火) 19:15:53.31ID:ZfPGOnHz
エスパーしかこたえるなといったり
今度はエスパーにレッテル貼りといったり
さすが、尻にう●こついてるだけあって
脳の新陳代謝が活発でいそがしいなw
0093デフォルトの名無しさん
垢版 |
2020/09/02(水) 00:41:15.18ID:9Rt4BaK9
>>92
それな
0094デフォルトの名無しさん
垢版 |
2020/09/02(水) 08:56:59.29ID:cf3sTGi+
朝鮮人にpythonは無理ゲーw
0095デフォルトの名無しさん
垢版 |
2020/09/02(水) 11:28:30.13ID:uEUYmCsp
統計処理

グラフ出力

のアプリを作成したらコードが600行ぐらいになって非常に見にくくなりました。
こういうときって、統計処理とグラフ出力などをクラスとして分けるべきなのでしょうか?
現在は各処理を関数にしているだけなのですが・・・。
0099デフォルトの名無しさん
垢版 |
2020/09/02(水) 14:58:25.48ID:PicHUi2j
VBAで描いたら6000行は下らないから
pythonで600行なら良く出来た方じゃね
0101デフォルトの名無しさん
垢版 |
2020/09/02(水) 15:28:52.69ID:D/RfpMe8
>>99 Python でそんなになるはずないだろ。
統計処理で何をやってるのか知らないけど。matplotlib でグラフを書くだけだろ。
0103デフォルトの名無しさん
垢版 |
2020/09/02(水) 16:59:24.39ID:uEUYmCsp
1 データ成型
2 統計書
3 グラフ出力
4 画像出力

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

モジュール化勉強してみます。
0104デフォルトの名無しさん
垢版 |
2020/09/02(水) 17:03:34.59ID:PicHUi2j
描き捨てならメリット無い
モジュール化して見透しが良くなったりするかも知れないが行数は減らないだろう
0105デフォルトの名無しさん
垢版 |
2020/09/02(水) 17:07:08.13ID:uEUYmCsp
すいません。
もう一つ質問なんですが、
関数で引数がなかったら処理1、引数があれば引数をつかった処理2をさせたいときは以下のようなコードをかけば良いのでしょうか?

def show_start_menu(hoge=None):

if (hoge is None):
処理1

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

def function(**fuga):

def function(*hoge, **fuga):
0110デフォルトの名無しさん
垢版 |
2020/09/02(水) 18:09:21.38ID:oPbAh6sy
>>104
見通しがよくなるのがメリットでしょ
書捨てでも600行もあれば見通しが悪いと変更に時間がかかるようになる
それにコードを構造化することで考え方やパターン認識が強化できるから上達も早くなるよ
0111デフォルトの名無しさん
垢版 |
2020/09/02(水) 18:11:15.00ID:65NJoCJF
> パターン認識が強化できる
ヒソ( ´・д・)ヒソ(´・д・`)ヒソ(・д・` )ヒソ
0112デフォルトの名無しさん
垢版 |
2020/09/02(水) 18:32:57.09ID:oPbAh6sy
>>105
Noneでもいいけどデフォルト値が使えるならそのほうがベター
関数定義時にデフォルト値が定まらず
呼び出し時に動的に評価させたい場合はNoneにする
0114デフォルトの名無しさん
垢版 |
2020/09/02(水) 20:52:48.67ID:oPbAh6sy
>>113
そういうのは一度ハマればいいと思うよ
色んな意味でPythonのレガシーなところを知る取っ掛かりになるから
0117デフォルトの名無しさん
垢版 |
2020/09/03(木) 01:06:00.70ID:9keo2Hbe
c#からpython起動するときにcsvファイルのパスを渡したいのですがこういうときってどうやるのでしょう
どうもc#から起動時に飛ばさpythonのに引数としてパスは渡せないっぽい。テキストファイルに書き込んでやり取りがシンプルなのかな
0120デフォルトの名無しさん
垢版 |
2020/09/03(木) 07:33:38.71ID:1sdfw5t+
>>117
>飛ばさpythonのに引数としてパスは渡せない
おまえがばぐっとるぞw
なおせ
はなしはそれからだ
0121デフォルトの名無しさん
垢版 |
2020/09/03(木) 08:35:20.00ID:QpPhCbCy
チョンは犯罪者!
日本から駆逐すべき!
0122デフォルトの名無しさん
垢版 |
2020/09/03(木) 13:01:05.48ID:DK3Ul6vK
C#のスレにマルチしてた人か
もう解決しただろ
0127デフォルトの名無しさん
垢版 |
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)が実行されてしまいます。
ボタンを押したら引数を渡して関数を実行させるにはどうしたらいいのでしょう?
0130デフォルトの名無しさん
垢版 |
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つを行う方法ってないでしょうか?
0131デフォルトの名無しさん
垢版 |
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から呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。
0132デフォルトの名無しさん
垢版 |
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から呼び出した関数でテキストボックスの値を取得して複数の命令を実行したいのです。
0133デフォルトの名無しさん
垢版 |
2020/09/03(木) 22:53:45.02ID:mT93v89x
自分もまだまだ初心者で分からない所あるけど流れからすると

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

ボタンを押した時の引数値は2の値
もし、2で正しく値が取れてるなら引数にtxt.get()を渡す。
もしくはnameをglobal宣言
0134デフォルトの名無しさん
垢版 |
2020/09/03(木) 23:08:17.66ID:9keo2Hbe
global変数はスコープの関係でのちのちややこしくなるので、定義したくないんですよね。
でもググった例では確かにグローバル変数使ってるんですよね。

GUIのボタンを押したらテキストボックスから値を取得するだけのことなのに、
なんでこんなに難しいんだろう・・・。
0135デフォルトの名無しさん
垢版 |
2020/09/03(木) 23:10:57.19ID:0NFHPd2z
馬鹿には無理
0136デフォルトの名無しさん
垢版 |
2020/09/03(木) 23:37:06.03ID:0U0YdbWY
この連投カスだけはうまくいかないとざまあと思うわ

C#
Windowsのフォルダパス
スクレイピング
イテレータ
0137デフォルトの名無しさん
垢版 |
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=????????
のところでどう記述すればテキストの値を取得できるんでしょう?
0141デフォルトの名無しさん
垢版 |
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 に書き込めないので入れたので、無視して
0144デフォルトの名無しさん
垢版 |
2020/09/04(金) 07:56:26.39ID:xAjvg3mj
goto文でもグローバル変数でも、神の逆鱗に触れて世界が滅ぶわけでもないので、必要性に応じて適切に使用すればいいよ。
何も考えずに全てgotoだけ、全てグローバル変数だけってのが良くないだけ。
0148デフォルトの名無しさん
垢版 |
2020/09/04(金) 14:10:39.73ID:l2EHvy2i
引数
引導
印籠
陰嚢
0149デフォルトの名無しさん
垢版 |
2020/09/04(金) 17:47:58.12ID:RUA5Nqz0
async関数内のawait文(コルーチン?)をWhile True文内で定期実行することは難しいのでしょうか?
非同期処理は学習中なのですがいまいちよくわかりませんでした
0152デフォルトの名無しさん
垢版 |
2020/09/05(土) 13:09:54.66ID:39rD+iX+
>>150
python3用は自分で設定するのですか?
あと文法チェックっはないでしょうか?
vccodeのターミナルみたいなやつです
dbgpというのがありますけど
0153デフォルトの名無しさん
垢版 |
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++に限らず、いろいろなエディタと組み合わせて使えるよ
0156デフォルトの名無しさん
垢版 |
2020/09/05(土) 15:02:06.28ID:39rD+iX+
phpの場合はxdebugというのが必要でしょうか?何にしてもデフォルトで文法チェックはできないみたいですね
軽量なのが魅力なんですがね
0158デフォルトの名無しさん
垢版 |
2020/09/05(土) 16:39:20.68ID:xH7brzyl
>>151
vimは一度でもあの操作体系になれちゃうと、それ無しではコード書きたくなくなる程度に中毒性があるから、手を出さない方がいいですよ
慣れちゃった人は新しいエディタ触るときでも無意識に同じ操作体系使えるようになるvisvimみたいなツール探してしまうっていうし
0159デフォルトの名無しさん
垢版 |
2020/09/05(土) 17:16:03.77ID:VXJBsegh
TEXTエディタでimport したモジュールの補完までできるのってあるのかな?

Python専用IDEなら当然だが。
0160デフォルトの名無しさん
垢版 |
2020/09/05(土) 17:44:16.99ID:HZ8zC1Q4
>>159
vscodeだったら普通に対応してるぞ
というか導入しやすさ考えるとテキストエディタはほぼvscode一択レベル
0161デフォルトの名無しさん
垢版 |
2020/09/05(土) 18:14:45.06ID:oHfHPBnf
>>159
jedi-vimだったらimportというか実行環境に登録されてるpathは追ってくれた気がする
0162デフォルトの名無しさん
垢版 |
2020/09/05(土) 18:43:26.83ID:39rD+iX+
やっぱvscodeが一番ですよね
しばらく放置したあと、アクティブにするともたつくんですが、ssdにするといいんでしょうか?
放置したあとにもたつくというのは、おそらくデータをhddに退避させているということだと思います。
タスクマネージャを見るとhddへのアクセスが集中しますので(´・ω・`)、、、
0163デフォルトの名無しさん
垢版 |
2020/09/05(土) 19:23:27.08ID:FIgbh/lD
ほかのエディタやIDEにVSCodeのRemote Containerと同等の拡張機能が追加されない限り、pythonの開発環境はVSCode一択や

それくらい革命的
0164デフォルトの名無しさん
垢版 |
2020/09/05(土) 20:27:57.89ID:PVFZCM04
辞書型のデータを文字列に変換して出力してるんですけど
キーを囲っているコーテーションがシングルで出力されます
これをダブルコーテーションで出力するにはどうしたら良いんでしょう?
0166デフォルトの名無しさん
垢版 |
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
とし直して計算結果を変えたいのです
よろしくお願いします
0168デフォルトの名無しさん
垢版 |
2020/09/05(土) 22:03:23.14ID:TSad4edo
ターミナルで実行(引数a)するとプロセス1が起動します。
例えばループ処理で常駐化した状態でターミナルで最実行(引数b)するとプロセス2が起動するので難しいです。

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

代替案として以下の感じですかね?
1.ループ処理:
2.入力待機処理:
3.計算処理
0169デフォルトの名無しさん
垢版 |
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}')
0170デフォルトの名無しさん
垢版 |
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で

同一日のデータが複数あるときに時刻が一番後のデータ以外を削除する方法ってないでしょうか
(日付と時刻は一つの列に記載しています)
0171デフォルトの名無しさん
垢版 |
2020/09/05(土) 22:40:06.44ID:TSad4edo
>>170
考え方としては日付とファイルパスの配列があって
日付をシリアル値に変換ソート
最終日以外はforやイテレタで回して削除は?
0172デフォルトの名無しさん
垢版 |
2020/09/05(土) 23:07:29.44ID:l/GIyZ6Q
>>170
新しいdf作って、最大日付のレコードのみコピーじゃダメなの?
どうしても削除しなくちゃダメ?
0174デフォルトの名無しさん
垢版 |
2020/09/06(日) 00:28:06.19ID:+2jMTMUg
>>173
ありがとうございます

duplicate()

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

drpo_duplicate()

なんて便利なものがあったんですね
10行くらいのコードが一行に圧縮されて気持ちいですm(_ _)m
0175デフォルトの名無しさん
垢版 |
2020/09/06(日) 00:30:16.65ID:+2jMTMUg
もう一つ質問なのですが、

>>170

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

日付の列、時刻の列

2つに分ける方法って無いでしょうか?
0178デフォルトの名無しさん
垢版 |
2020/09/06(日) 10:21:17.40ID:y7ovSoOJ
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

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

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0179デフォルトの名無しさん
垢版 |
2020/09/06(日) 11:37:36.42ID:+2jMTMUg
>>176
ああ、昨夜壊れていました・・・
教えていただいた方法で分けられました。
ありがとうございます。
0180デフォルトの名無しさん
垢版 |
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

で時刻と日付を分割したい。
0181デフォルトの名無しさん
垢版 |
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'
というエラーが出ます。どうやって再結合したら良いのでしょう?
0182デフォルトの名無しさん
垢版 |
2020/09/06(日) 12:11:25.64ID:+2jMTMUg
>>181
打ち間違いすいません
訂正します

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


とやると分割まではうまくいったのですが、
結合の箇所で
TypeError: unhashable type: 'list'
というエラーが出ます。どうやってdfにdf_date_and_timeを結合したら良いのでしょう?
0183デフォルトの名無しさん
垢版 |
2020/09/06(日) 12:17:38.96ID:28nY3XQR
>>181-182
.mergeの引数の説明ちゃんと読んでるか?
なんでもおまえのよきにはからってくっつけてくれるまほうのじゅもん ではないぞ。

.joinについても調べれのこと
0184デフォルトの名無しさん
垢版 |
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から切り出してきたものだからインデックスの対応は保持されているはずなのでいいのかな
0186デフォルトの名無しさん
垢版 |
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)みたいにかけたらすっきりするのになと思いました
0190デフォルトの名無しさん
垢版 |
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)手前で定義するって意味ではないですよね?
0191デフォルトの名無しさん
垢版 |
2020/09/06(日) 21:52:33.59ID:g9db9pcO
関数の定義文で引数を渡す変数名が指定されていて、再帰的に呼ぶときにhoge(*arguments)みたいに書きたいんだよね?
0192デフォルトの名無しさん
垢版 |
2020/09/06(日) 21:55:51.64ID:O6bK25fj
JavaScript のargumentsのようなものは、Pythonでは使用されないのでは?
キーワード専用引数にする必要がある引数なら、そうするしかないような気がするが。可変長キーワードじゃダメなんでしょ
0193デフォルトの名無しさん
垢版 |
2020/09/06(日) 22:14:08.79ID:K/7w7+Go
>>191-192
そうです!
>javascriptのargumentsのような

無理っぽいですかね
根本的に別の方法も何か探ってみることにします
ありがとうございました
0194デフォルトの名無しさん
垢版 |
2020/09/06(日) 22:30:14.59ID:iNxLllkp
キーワード引数でデフォルト値を定義しつつ、それらをすべて**kwargsを使うようなイメージでネストした関数に渡したいってことだとおもうけど

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

hoge(1, a=10, z=20)みたいに呼び出した場合のz=20をどうしたいかでも処理が変わる
0197デフォルトの名無しさん
垢版 |
2020/09/07(月) 10:02:44.13ID:DOYVT1Si
見様見真似でtweepyとかを使ってtwitterのDM botを作りました。

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

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

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

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

DMを送ってもらう

というオペレーションに変えるというものくらいなのですが、
他に何か良い方法を知ってる人はいないでしょうか?
0198デフォルトの名無しさん
垢版 |
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)
0200デフォルトの名無しさん
垢版 |
2020/09/07(月) 14:20:57.13ID:s+Ysbo1I
>>198
それだとdef hogeをデバッグするときhoge内で何の引数が使われているか検証し辛くなりません?
0202デフォルトの名無しさん
垢版 |
2020/09/07(月) 14:31:55.20ID:K0kNn/Cs
関数内で key の一覧確認して
禁止するなり None で補うなり
なんなりと
0203デフォルトの名無しさん
垢版 |
2020/09/07(月) 14:39:54.48ID:s+Ysbo1I
>>201-202
ですよね
なぜか他のモジュールとか参考にみてると変数名指定のものが多いんですよね
何か理由があるのか?と思って

引数に使わなかった初期値を設定するロジックを書かないといけない、ってことでしょうかね?
とりあえずは引数に**使う書き方にしましたが今のところ何の問題もないので
この形式でいこうと思います
0204デフォルトの名無しさん
垢版 |
2020/09/07(月) 15:27:39.18ID:Egt+Qwmp
C で描かれるモジュールとかもあるからな
もちろん python 用のモジュールなら
* も ** も C で使える
0205デフォルトの名無しさん
垢版 |
2020/09/08(火) 09:52:28.04ID:5sD3BDN1
プログラミンが楽しくなる方法教えて下さい
結局出来ないのに楽しいということはありえないのかですね

あとVScodeをアクティブにしたときにhddへのアクセスが集中するんですが、これはSSD化とメモリを増やす(メモリスワップ防止)ではどちらが効果的ですか?
0206デフォルトの名無しさん
垢版 |
2020/09/08(火) 10:24:41.23ID:4yk33hmJ
プログラミン自体は楽しくないけどな
目的のものを作るための道具として使ってるだけだし
目標物もないのにプログラミンだけやろうとは思わない
0207デフォルトの名無しさん
垢版 |
2020/09/08(火) 10:48:55.72ID:5sD3BDN1
自分はゲームですね
目的はあるんですけど最近やる気が出ない
孤独によるうつ病かな
孤独だとどうしてモチベーション無くなるんでしょうね
0208デフォルトの名無しさん
垢版 |
2020/09/08(火) 11:05:16.07ID:nmMozHDf
>>205
いきなり壮大な目標をたててもいいが
手前にマイルストーンもちゃんといっぱい置いとけよ。
たとえるなら
人生帰宅部でパスポートすら持ってないおまいらがあるひ
「K2登山目指すんゴ!」って言ってはいるが
そのために何したらいいかあんまわかってない状態だぞいま

メモリふやせよ
Win10だったら8Gは底辺な
0209デフォルトの名無しさん
垢版 |
2020/09/08(火) 11:06:10.42ID:nmMozHDf
>>207
>孤独だとどうしてモチベーション無くなるんでしょうね
おまえの性質なんぞ
しらんがな(´・ω・`)
0212デフォルトの名無しさん
垢版 |
2020/09/08(火) 11:51:42.23ID:5sD3BDN1
>>208
今更ddr3を買うのもなんだかなと思うので
マザボとcpuも変更してddr4にしますかね

>>209
結局生きる意味って家族ですからね、、、
0213デフォルトの名無しさん
垢版 |
2020/09/08(火) 13:03:06.94ID:nmMozHDf
>>212
カネがあるならそうしろ
ただしCPUとメモリのバランスはダイジ
どっちかだけ突出しててもいみない

>結局生きる意味って家族
おまえのかんがえるいきるいみなんぞ
しらんがな(´・ω・`)
0214デフォルトの名無しさん
垢版 |
2020/09/08(火) 13:03:38.81ID:nmMozHDf
>>210
禁煙マラソンを手伝ってくれる会話風AIが
「薬」として承認される見込みだよなそういえば
0218デフォルトの名無しさん
垢版 |
2020/09/08(火) 17:46:19.22ID:pnzQIZM7
スクール的なとこでPHPを学んで、これ市場価値低そうだなって思ったのでpythonを学ぼうと思ってます
pythonとPHPの違いはなんですか?
0219デフォルトの名無しさん
垢版 |
2020/09/08(火) 18:26:35.77ID:n7hqlUV4
機械学習やAI関連のライブラリが豊富なのがpython
web開発に適してるのもpython

上位互換ということです
0220デフォルトの名無しさん
垢版 |
2020/09/08(火) 19:03:32.13ID:nmMozHDf
>>218
中毒性とあいまいさに違いがある

ユルユルガバガバなのでそのユルさに一度ハマってしまったヤツは
二度と使い物にならないというのがPHP

インデントが崩れたらチヌ程度にきっちりしてるのがPython
0221デフォルトの名無しさん
垢版 |
2020/09/08(火) 19:05:18.28ID:WZPosmVg
>>218 PHP は、HTML を簡単に草プログラムの中に取り込むための専用ツール。

Pythonは、汎用プログラミングツール
0222デフォルトの名無しさん
垢版 |
2020/09/08(火) 19:36:10.16ID:AEfmYv5Y
あのーDockerってたとえばまっさらなパソコンにPythonのイメージをもってきてコンテナにいれると自動でPythonの本体とかダウンロードしてつかえるようにしてくれるの?
もしそうならものすごくべんりだよね?
0223デフォルトの名無しさん
垢版 |
2020/09/08(火) 20:33:07.59ID:619fqzmi
親.pyで子.pyをimportしました
子.pyではimportしていないはずのモジュールAが使えました
どうやら親.pyでモジュールAをimportしていたので子.pyでも使えたようです
しかし、子.py内でもモジュールAをimportしておきたいのですが
そういう重複importは避けた方が良いのでしょうか?
0224デフォルトの名無しさん
垢版 |
2020/09/08(火) 21:11:34.98ID:dd3/c9tT
pythonは自動で避けてくれる
C言語のようなインクルードガードは不要

なんでバンバン重複していい
0226デフォルトの名無しさん
垢版 |
2020/09/09(水) 15:07:37.15ID:6rZ+7cN5
>>169
レスありがとうございます。
いえ、違います。

プログラムの実行中に再度引数を渡して実行するということです。
0228デフォルトの名無しさん
垢版 |
2020/09/09(水) 15:36:58.33ID:ZqIXdkAP
ttps://stackoverrun.com/ja/q/11591177
こんなの?途中終了出来るスレッド化のことでは?
0230デフォルトの名無しさん
垢版 |
2020/09/09(水) 16:38:10.54ID:NVTjoST+
>>226
やりたい事が謎過ぎる
イメージ的には
1:コマンドラインに数値を2個入れる
2:計算結果が返ってくる
3:もう一回数値を2個入れる
4:計算結果が再度返ってくる
っていう感じか?(参考書とかでよくある奴)

この場合だったらwhileでループさせて
input関数で入力受取→関数に引数渡す→結果を表示
っていう風に作れるけど
0231デフォルトの名無しさん
垢版 |
2020/09/09(水) 19:16:33.84ID:6rZ+7cN5
>>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ファイルに受け渡すこと


よろしくお願いします。
0232デフォルトの名無しさん
垢版 |
2020/09/10(木) 01:29:25.22ID:nq0Xw6A6
()で囲まれた文字列をタプルにする方法ってないかしら
"('aaa','bbb')"の文字列を tuple にしたい
0234デフォルトの名無しさん
垢版 |
2020/09/10(木) 02:01:57.47ID:2mRTGo4r
>>231
>・ただしPythonのみだと断続的に変わる値を受け渡せないのでタップ座標が固定されてしまう

ここの考え方がおかしいな、別にそんな事はない
以下の順に検証してみて欲しい
1:PythonでWhileループでタップした座標を表示するプログラムを作る
 タップ→表示→タップ→表示……っていうループになるように
2:1で作ったプログラムに、関数を呼び出す形で実装する
 タップ→関数呼出し→タップ→関数呼出し

何か無意味に無茶な事をやろうとしてるように見える
0236デフォルトの名無しさん
垢版 |
2020/09/10(木) 02:53:39.03ID:2kIS9tuu
>>235
それだそれ、前も使ったことあったのに忘れてた
でも手順変えてもう必要なくなっちゃった
0237デフォルトの名無しさん
垢版 |
2020/09/10(木) 06:32:35.17ID:5t4WOT2m
>>234
レスありがとうございます
関数呼び出しをすればいいんですね
試してみます
またお聞きするかもしれません
0241デフォルトの名無しさん
垢版 |
2020/09/10(木) 11:04:56.96ID:5t4WOT2m
冗談はおいといて、その2つならPythonの方がいいよ
Pythonはスクレイピングしやすいから
0245デフォルトの名無しさん
垢版 |
2020/09/10(木) 12:49:40.35ID:/arv21np
youtubeぐらいならどっちでも
スクレイピングするならライブラリが揃ってるPythonが良いというのは定説

で、どっかのレンタルサーバ借りて動かす場合は
スクレイピングするんだったら結局のところ自分でrootもっててコンソールで自由に環境構築できるようなとこレンタルすると思うから
どっちでもかまわないと思う

ユーザー画面をPHPで作りたい場合でも、PythonでスクレイピングしてPHPで結果表示したっていいんだしな

あと、どうしても無料でやりたいって事ならPHPしかない
PHP+MySQLなら無料レンタルあるけど、Pythonは無料レンタルないんじゃないか?

Pythonやろうっていう人はだいたいAWSでしょ
0247デフォルトの名無しさん
垢版 |
2020/09/10(木) 14:11:54.27ID:6BybGWmS
>>238
スクレイピングするならまずはJavaScript
Pythonは旧式のライブラリしかないし言語機能も不足してるから
データ分析と組み合わせたスクレイピング以外では積極的に使う理由はない
0253デフォルトの名無しさん
垢版 |
2020/09/10(木) 17:48:37.34ID:rLZBXCmM
ドコモロ
0255デフォルトの名無しさん
垢版 |
2020/09/10(木) 18:58:28.90ID:ypm5ktrY
【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
https://www.youtube.com/watch?v=rt_X6n9oWa4

エンジニアチャンネル粟島が、Ruby, YouTube API を使って、動画の情報を集める。
1時間で作ったので、時給30万円!

凡才プログラマーKBOY が、これに異を唱えて、情報を集めている

結局、30人ぐらいが応募して、数千円になってしまったらしい
0257デフォルトの名無しさん
垢版 |
2020/09/10(木) 20:02:37.01ID:1NNvH1wy
コーディングが1時間で終わっても検証やら仕様書書きやら
サポートやらで1週間じゃ終わらないよ。
0258デフォルトの名無しさん
垢版 |
2020/09/11(金) 00:33:21.50ID:NgiMWgk5
Pandas をインストールしたいのですが
10.0C++を要求する旨のエラーがでます。

何とかC++をインストールせずに
Pandasをインストールできないでしょうか。
numpyはネットにexeがあったのでできました。
0259デフォルトの名無しさん
垢版 |
2020/09/11(金) 00:46:04.03ID:mO/56zJ0
>>258
>何とかC++をインストールせずに
>Pandasをインストールできないでしょうか
必要な外部ライブラリ無しでどうやって使う気やねん
0263デフォルトの名無しさん
垢版 |
2020/09/11(金) 14:42:27.29ID:cXwFx1fL
ただのアフィカス
0264デフォルトの名無しさん
垢版 |
2020/09/11(金) 18:20:56.53ID:ilkv1Jme
cythonのインストールでvcvarsall.batがないといわれます。
実際にどこにもないのですが
2010年のvcredist_x86.exeを、実行しても
vcvarsall.batが作られません。
vcredist_x86.exeでは作られないのでしょうか
0265デフォルトの名無しさん
垢版 |
2020/09/11(金) 19:16:10.44ID:y+ypdiKB
>>264
いわゆるランタイムじゃだめ
Visual StudioをC++を有効にしてインストールするか
VSのIDEが必要ないならBuild Tools for Visual Studioを入れる
0266デフォルトの名無しさん
垢版 |
2020/09/11(金) 21:36:31.49
pysimpleguiでタブの中にタブ
つまりsg.TabGroupのsg.Tabの中にsg.TabGroupをいれてみましたがエラーがでてしまいました
単にタブの入れ子は対応していないということでしょうか?
0268デフォルトの名無しさん
垢版 |
2020/09/12(土) 12:48:19.27ID:wTmALidH
conda installの後にたまに-q -y -cてついてるけど
それぞれの意味て何ですか??
0270デフォルトの名無しさん
垢版 |
2020/09/12(土) 13:42:51.47ID:MKWS1QnL
install時の-qなら9割方quiet
UNIX作法ではそうなってる
つまりpythonでは無い方面の知識が必要になる
0271デフォルトの名無しさん
垢版 |
2020/09/12(土) 19:20:52.50ID:wTmALidH
検索しても出てこないのでここに来たんですが
ここの人じゃわからないてことですか?
0272デフォルトの名無しさん
垢版 |
2020/09/12(土) 19:33:26.96ID:zYu8A9Yq
単にネット初心者でググレカスを使ってみたかっただけなので気になさらぬよう
0275デフォルトの名無しさん
垢版 |
2020/09/12(土) 20:43:57.78ID:wTmALidH
試してごめんね
お前らはわからないとすぐこれだからな

-c command 内の Python コード実行
-q copyright 、バージョンメッセージ非表示
-y y/nのy実行
0283デフォルトの名無しさん
垢版 |
2020/09/14(月) 07:26:03.00ID:mntufWpo
scikit-learnの勉強をしていて学習速度の遅さに絶望しました><
GPUの購入を検討してるのですがGPUが使えるおすすめのライブラリを教えてください。。。
0284デフォルトの名無しさん
垢版 |
2020/09/14(月) 08:17:16.24ID:4ffME/7P
scikit-learnでdnnやるくらいならpytorchやっとけ
nvidiaのcuda10.1以上使えるgpu買って
cpuがintel avx2以上対応ならgpu買う前にanacondaのscikit-learnがVanillaよりは速い仕様と話題
0285デフォルトの名無しさん
垢版 |
2020/09/14(月) 08:36:59.52ID:mntufWpo
ありがとうございます。
pytorchって古典的な機械学習もできるんでしょうか?
サポートベクターマシンなどの…。

CPUでもGPUより早くなる事もあるんですね。
ディープラーニングじゃない場合はGPUの恩恵があまりないものなんですかね。
0288デフォルトの名無しさん
垢版 |
2020/09/14(月) 11:04:39.65ID:mntufWpo
scikit-learnの学習速度を上げたい場合は
よいCPUを買うしかないのですかね。。。
scikit-learnはGUPに対応してないですもんね。
0289デフォルトの名無しさん
垢版 |
2020/09/14(月) 12:20:27.48ID:B6QwJcpO
超初心者とかウソかよ
x + y をコンソールに表示したいんだけどどう書いたらいいんですか?

ぐらいのレベルじゃないと超初心者とはいわないだろ
0291デフォルトの名無しさん
垢版 |
2020/09/14(月) 13:38:38.44ID:4bu4pE1e
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()内で型エラーを吐くような書き方はないのでしょうか
0292デフォルトの名無しさん
垢版 |
2020/09/14(月) 13:44:53.72ID:2Xeymtp8
CPUでそこそこ学習速度が速いのがいいならlightGBMとか使えば?
今時プレーンなSVMなんて覚えても使うところないよ
0295デフォルトの名無しさん
垢版 |
2020/09/14(月) 14:37:15.79ID:Mar3sHY8
質問です
実行中のPythonを終わらせるコマンドを教えてください
usr/bin/python3.7が動いている前提です
0298デフォルトの名無しさん
垢版 |
2020/09/14(月) 14:50:57.94ID:XzxDslqo
1万行くらい要素を持ってるリストが有って
その中からある数百個だけを等間隔に抜き出したいのですがそういうライブラリとかないですかね?
0304デフォルトの名無しさん
垢版 |
2020/09/14(月) 16:11:11.94
ローカルサーバー限定で使う私的webアプリを作ろうと思うのですが
そういうときはvirtualBOXなりで極端な話、1プロジェクトにつき1仮想環境
みたいにした方が良いのでしょうか?
0306デフォルトの名無しさん
垢版 |
2020/09/14(月) 17:17:46.83
異なるゲートウェイをそれぞれコンテナ1コンテナ2…に振り分ける
みたいなことはできるんでしょうかね 調べてみます
ありがとうございました
0308デフォルトの名無しさん
垢版 |
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)のようにインスタンスのときは明示的にゲッターを使えるため・・?)
0310デフォルトの名無しさん
垢版 |
2020/09/14(月) 19:14:15.49ID:FNQHU4IS
コミュニケーション取ってやるより
自分に合う本を1冊やり通す方がいいと思う
0312デフォルトの名無しさん
垢版 |
2020/09/14(月) 20:50:11.79ID:K/D9SivK
>>308
クラスメソッドをクラスインスタンスから呼び出したときに第1引数に自動的に挿入されるのはクラスオブジェクト(その例ならHoge)なので、クラスメソッドの第1引数は、慣用的には(selfではなく)clsと書く。
__init__で設定されるのはクラスインスタンスの属性x, yであり、その例のクラスメソッドsumは(クラスインスタンスの属性x, yではなく)クラスの属性x, yの合計を返そうとするので、エラーになる……ということかと。
0313デフォルトの名無しさん
垢版 |
2020/09/14(月) 21:19:59.21
>>312
>(その例ならHoge)
なるほど
インスタンス化しようがしまいがHogeを返してたのですね
( selfと書いてしまっていたので何かしらで参照できなくなったのかと勘違いしてました)

メソッドをクラスとは別々に買いてもほぼ同じだがクラスに関連はさせておきたい的なときに使う感じですかね
効果的に使えるかは未だにわかりませんがすっきりはしました ありがとうございます
0314デフォルトの名無しさん
垢版 |
2020/09/14(月) 21:23:57.49ID:Cmuul5nK
key = 'my_var'
value = 1.234

formatted = f'{key!r:<10} ={value:.2f}'

このなかで {key!r:<10}の !r ってどういう意味なんですか?
0317デフォルトの名無しさん
垢版 |
2020/09/15(火) 14:33:13.83ID:i/gZOuAl
>>308
使いどころが判らないってことは君にはまだ要らない機能だから気にすんな

無理に使い方だけ覚えても身に着かない
0320デフォルトの名無しさん
垢版 |
2020/09/15(火) 19:26:48.17ID:j3VxObO1
この初心者スレに良心はいないからな
日頃のストレスを発散してる底辺エンジニアの集まりだから

質問ならブログのコメント欄にした方がましだぞ
ここは雑談スレ
0323デフォルトの名無しさん
垢版 |
2020/09/15(火) 22:11:39.58ID:h2jaRn2Q
南無
0325デフォルトの名無しさん
垢版 |
2020/09/16(水) 10:29:30.30ID:l4YX/vwQ
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
0328デフォルトの名無しさん
垢版 |
2020/09/16(水) 20:11:32.53ID:Bg8Dtws9
その者負の剰余取るべからず
村に伝わる言い伝えです
0330デフォルトの名無しさん
垢版 |
2020/09/17(木) 01:36:10.68ID:xSs3zGae
プログラミング初心者です。
スレの勢いやTwitterのトレンドを見る限り、Python、JavaScript、VBAが最強であることがわかりました。
この3つ言語の中でもっとも最強なのはどれでしょうか?
これからその言語一本でプログラマーを目指したいと思います。
0332デフォルトの名無しさん
垢版 |
2020/09/17(木) 01:45:00.93ID:xSs3zGae
>>331
本気です。まじめなアドバイスをお願いします。
0334デフォルトの名無しさん
垢版 |
2020/09/17(木) 01:56:27.94ID:d/I2pB16
>>332
最強の言語なんてないし、言語ひとつしかできないようじゃプロとしてやっていけない。
入り口としては何でもいいから自分に分かりやすそうなものから手をつけろ。どうせそのうち他の言語もやることになるから最初の言語の選択で失敗したらとか気にするな。
0335デフォルトの名無しさん
垢版 |
2020/09/17(木) 02:01:13.72ID:xSs3zGae
>>333
Rustが最強なんですね。どの辺が最強なのか詳細をいただけると助かります。

>>334
プロになるには何言語も習得しないと飯は食えないもんですか。
大変な道のりですね。
0337デフォルトの名無しさん
垢版 |
2020/09/17(木) 09:59:39.24ID:v24DPghR
日本と世界じゃ最強が違うからなあ
0338デフォルトの名無しさん
垢版 |
2020/09/17(木) 10:28:10.81ID:1zO/WKqm
>>330
> スレの勢いやTwitterのトレンド
これで最強と判断するのがおかしい
そもそもお前の言う最強って何よ?
0340デフォルトの名無しさん
垢版 |
2020/09/17(木) 11:53:23.37ID:FJaokp+J
>>330 その3つの中ではPython が一番言語として体系だってる。
最初に学ぶのは、Python かC/ C++ の2択。 入りやすいのは Python
0341デフォルトの名無しさん
垢版 |
2020/09/17(木) 12:32:02.64ID:NHfa1bvj
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない

GUI 系は、画面の手直しなどで、工数がかさむ。
C#, dot.net などのWindows 系は、いらない。
Java などの土方系も、いらない。
C/C++ などのポインタ系や、ハードウェアの仕組みなども、いらない。
Elixir, Rust は、普及へのchasm・溝を超えられなかった

言語よりも、Docker, Kubernetes, AWS などの、サーバー構築・新規案件を重視する。
上流工程・新規案件の方が、価格交渉力が強いから。
一方、下流工程・保守案件は低価格しかない
0342デフォルトの名無しさん
垢版 |
2020/09/17(木) 13:14:23.67ID:OW2OZx8D
Python スレだから Python 薦めるけど
他には C/C++ や Erlang が勉強用にはお薦め

javascript や VBA は雑魚
うby は論外
0343デフォルトの名無しさん
垢版 |
2020/09/17(木) 13:44:28.98ID:xSs3zGae
>>338
10年飯が食えて、将来性のある言語がいいですね。

>>339
VBAができないとプログラマとしては失格ですか。

>>340
やはりPythonが最強なんですね。

>>341
Rubyだけはあかんと聞きましたが最強なんですね。

>>342
やはりPythonが最強ですか。

Pythonをすすめる方が多いのでとりあえずPythonを極めて
人工知能を作ってみます。他の言語は人工知能に翻訳させれば覚えなくてもいけないんですかね?
0345デフォルトの名無しさん
垢版 |
2020/09/17(木) 13:53:05.18ID:xSs3zGae
>>344
やっぱりPython最強なんですね。
ディープラーニングを極めて面倒なことはAIにすべて任せるのが
賢い選択かもしれませんね。
0346デフォルトの名無しさん
垢版 |
2020/09/17(木) 14:01:27.32ID:RGyLISvM
>>345
それがいい
ディープラーニングを極めれば簡単な仕事は全部AIがやってくれるようになるよ
現に俺はもう脱サラしてAIに労働させてる

ちなみにこの書き込みも機械学習が生成したテキストねw
0347デフォルトの名無しさん
垢版 |
2020/09/17(木) 14:01:53.59ID:4OVOgPOk
>>345
rubyは特殊な性癖を持つようになるから手を出してはいけない
pythonを選択したキミは人生勝ち組の切符を手に入れたも同然
全ジャバパーがキミにひれ伏す時代もすぐそこだよ
0348デフォルトの名無しさん
垢版 |
2020/09/17(木) 14:19:42.04ID:xSs3zGae
>>346
すごいですね。
ディープラーニングはどのライブラリ使ってますか?
おすすめがあったら教えてください。

>>347
rubyは避けたいと思います。
ありがとう。
0349デフォルトの名無しさん
垢版 |
2020/09/17(木) 14:54:45.85ID:Wtt+0SS3
プログラミング初心者が独学でPython始めようと思うなら
まず最初にチュートリアルを1~2時間以内で3~5ページは読んでみること
https://docs.python.org/ja/3/tutorial/

9割程度理解できるようならPythonを独学で学ぶ適性があるのでそのまま続けるといい
それ未満なら独学で学ぶ適性はない可能性が高いので
もっと平易なチュートリアルが公式/準公式で整備された言語を選択したほうがいい
0350デフォルトの名無しさん
垢版 |
2020/09/17(木) 15:09:43.71ID:xSs3zGae
>>349
ありがとうございます。
勉強してみます。
0351デフォルトの名無しさん
垢版 |
2020/09/17(木) 17:07:58.95ID:HUJq9ozr
ジャバパーの響きにウケる

それにしても初心者スレきといて言語を極めるとかすげーなw
0353デフォルトの名無しさん
垢版 |
2020/09/17(木) 17:20:51.25ID:d/I2pB16
>>351
やたら最強を気にするところもあわせて、小学生男子のような少年の心の持ち主なんだろう
0357デフォルトの名無しさん
垢版 |
2020/09/18(金) 02:51:48.33ID:nHiE2bT+
>>.349 公式チュートリアルが難しいと思ったら、簡単な入門書なり何なり書籍でもオンラインでも山のように揃ってるのがPuthon の良い所。
別の言語に行く必要はない。
0358デフォルトの名無しさん
垢版 |
2020/09/18(金) 05:07:44.31ID:xC/yLuHD
numpyで二次元配列の要素をシャッフルしたい。
頑張ってみたんですけどちゃんとよそがシャッフルされずに
おかしな挙動をします。どなたかお助けください><

import numpy as np
a = np.arange(0,9).reshape(3,3)
np.random.shuffle(a)
0359デフォルトの名無しさん
垢版 |
2020/09/18(金) 05:09:25.92ID:xC/yLuHD
行ごとにシャッフルではなく
行列すべての要素をごちゃまぜにしたいのです。。。
お願いします><
0360デフォルトの名無しさん
垢版 |
2020/09/18(金) 05:33:20.00ID:lU2ghFJ/
>>358-359
aを一旦1次元9要素にひらたくしてから、シャッフルして、3×3に戻したらどーなのん

シャッフルについては「サットロのアルゴリズム」あたりで検索
0361デフォルトの名無しさん
垢版 |
2020/09/18(金) 05:36:49.38ID:xC/yLuHD
>>360
ありがとうございます。その方法を使わせていただきます。
0362デフォルトの名無しさん
垢版 |
2020/09/18(金) 08:41:54.66ID:TlC0qXv2
二次元配列ってExcelでいうと表だよね

難しい言葉使うなぁ
このスレのレベルにはまだついていけないようだ
0364デフォルトの名無しさん
垢版 |
2020/09/18(金) 09:18:07.93ID:TlC0qXv2
>>363
>連想配列(れんそうはいれつ、英語: associative array)とは、コンピュータプログラミングにおいて、添え字にスカラー数値以外のデータ型(文字列型等)も使用できる配列である。抽象データ型のひとつ。連想リスト、連想コンテナ、辞書(あるいはカタカナでディクショナリ 英語: dictionary)、ハッシュ(英語: hash)、マップ(英語: map)とも呼ばれる。


言語によって言い方かわるのやめてほしいわぁ
なんでなんかなぁ
0365デフォルトの名無しさん
垢版 |
2020/09/18(金) 09:24:15.07ID:2+zXB2f0
そんなもんだろ
言語が違ったら書き方違って当たり前
10言語ぐらい使ってたら、名前どころか辞書に要素を追加する方法、キーの存在チェックなんかもやり方忘れちゃうから
しょっちゅうググることになる。
0367デフォルトの名無しさん
垢版 |
2020/09/18(金) 12:09:55.16ID:5PuhRBHk
表=二次元配列までのExcelシートと違って三次元以上の配列も扱えるから二次元配列だけ表と呼ぶのはおかしい
0368デフォルトの名無しさん
垢版 |
2020/09/18(金) 12:12:28.25ID:6n8VMUNi
Matrix
0369デフォルトの名無しさん
垢版 |
2020/09/18(金) 13:34:13.02ID:TlC0qXv2
>>365
なんで言語を統一しようとしないのか?
標準化団体とかあるじゃん、IEEEとかISOとか
やること同じなのに、やり方が違うとか無駄じゃないの

すでにあるシステムを保守しなきゃならないから過去の分は仕方ないにしても未来は統一すればいいのに
0370デフォルトの名無しさん
垢版 |
2020/09/18(金) 13:35:49.75ID:TlC0qXv2
>>366
単に言語によって言い方が変わるもので俺が知ってるのが、辞書だっただけだよ

二次元配列とは違うのは知ってる
0373デフォルトの名無しさん
垢版 |
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するだけの内容です)
0374デフォルトの名無しさん
垢版 |
2020/09/18(金) 14:18:40.16ID:n6muJc1p
>>369
そう思うならお前さんがやればいいだけ
やってみればなぜそういう方向に行かないかもわかると思う
0376デフォルトの名無しさん
垢版 |
2020/09/18(金) 14:21:58.48ID:6n8VMUNi
>>369
エスペラントですねω判りますωωω
0377373
垢版 |
2020/09/18(金) 15:04:46.32
pip show
のインストール先のディレクトリを確認したところ
mypackage-1.0.dist-infoしか入ってませんでした
他のseleniumとかだと.dist-info以外にseleniumディレクトリも入ってるので
これが原因、つまり
$ python setup.py sdist
後の処理に原因がありそうです
もっかいインストールしなおしてみます
0378373
垢版 |
2020/09/18(金) 15:22:10.98
とりあえず
$ python setup.py sdist
したあとインストール先のディレクトリに不足分のmypackageを手動でぶっこんだらimportできました・・
0380373
垢版 |
2020/09/18(金) 16:09:12.33
自己解決しました
どうやらsetup.pyのsetup()にパッケージ名を指定してやらないといけなかったようです
(name引数だけでいけるのかと思いました)
packages=['パッケージのディレクトリ名']

もともとここを参考にしていたのですが
https://qiita.com/kobori_akira/items/aa42790354654debb655
setup.pyのカンマが余分なところをみると記述漏れですかね

試してませんがpackagesで指定しなくてもfind_packagesでもいけそうですね
0381デフォルトの名無しさん
垢版 |
2020/09/18(金) 16:12:21.60ID:yGhOCDjv
>>369
3次元以上の配列の存在を知らない、または可能性を思い付かないレベルの人間が、言語は統一すべきとか何言ってんのw
0382デフォルトの名無しさん
垢版 |
2020/09/18(金) 17:13:08.60ID:ACc8oRU8
>>369
言語を具体的な道具に置き換えると主張のおかしさが分かりやすい

世の中にはいろんな種類の刃物があるよね
ハサミ、包丁、カッターナイフ、ペーパーナイフ、刀、鋸

「なんで刃物を統一しようとしないの?
やること同じなのに、切り方が違うとか無駄じゃないの」
0387デフォルトの名無しさん
垢版 |
2020/09/19(土) 01:41:31.73ID:+fDK/DKA
>>386 其処はワープする。

しかしPython の数式関連のツールには圧倒されるな。
こんなのが自分の中学高校生時代に有ったら刺激ありまくりだったと思うけど。 既に棺桶に片足を突っ込んでる。
0390デフォルトの名無しさん
垢版 |
2020/09/19(土) 09:51:42.45ID:O/HiosCs
>>379
CとC++ですら、用途によって使い分ける必要があるのに、
言語の統一なんて無理でしょ。
統一できたとしても、マルチパラダイムでごちゃ混ぜ言語になって凄く使いづらくなると思うよ。
処理系任せで利便性を追求した、書いてないことを色々と実行してほしい言語と、
処理系が薄くて書いたことしかやらない言語の間で、
書き方を統一するなんてできないでしょ。
0391デフォルトの名無しさん
垢版 |
2020/09/19(土) 09:58:07.70ID:O/HiosCs
>>389
都道府県別人口動態の表なんかは、都道府県間を比較し始めたりすると実質的には3次元の表といえるような気もするが。
エンジンの燃料テーブルみたいなのも3次元以上の表になってるだろう。
物理や数学ならテンソルがあるから3次元以上の配列は珍しくないね。
0392デフォルトの名無しさん
垢版 |
2020/09/19(土) 09:58:51.08ID:+fDK/DKA
>>389 2次元の表が有れば、3次元の表もあるよ。
Excel でも扱える。
でも複雑でばかばかしいから、配列で扱うんだけどね。
0393デフォルトの名無しさん
垢版 |
2020/09/19(土) 10:36:01.90ID:cNAZP0Op
>>391
実質的とか言われてもw
> 都道府県別人口動態の表なんかは、都道府県間を比較し始めたりすると
それって表を時系列に並べたでかい表になってるだけじゃね?

>>392
> ばかばかしい
お前のレスかよw
0394デフォルトの名無しさん
垢版 |
2020/09/19(土) 10:59:15.61ID:K5drU9Pq
表という抽象概念と、データの次元数と、それらを扱うための具体的なデータ構造が区別できない人は中学校に戻って4時限目の授業を受けましょう
0395デフォルトの名無しさん
垢版 |
2020/09/19(土) 11:07:32.33ID:ET4jrRB5
[[1,2,3],[2,3,4],[0,1,2]]

こんな感じの配列を配列内の要素の合計が多い順に並び替えたいんですが
いい方法はありませんか?
0396デフォルトの名無しさん
垢版 |
2020/09/19(土) 11:28:48.92ID:k5fZduun
>>393
「表」というと縦横の枠にデータを並べた表現形式のことだと思うが、
統計とかやっていると3次元以上の表もよく見るね。
行ラベルにもう一つの軸(次元)を載せたような。
0397補足
垢版 |
2020/09/19(土) 11:44:20.36ID:ET4jrRB5
>>395です。
配列の中の配列の要素の合計順に並び替えたいということです。
0399デフォルトの名無しさん
垢版 |
2020/09/19(土) 12:34:32.38ID:ET4jrRB5
>>398
ありがとうございます。ためさせていただきます。
0400デフォルトの名無しさん
垢版 |
2020/09/19(土) 14:05:04.94ID:cjyZ7kPH
>>394
表と言う「表現方法」の話
むしろ区別できてないお前が中学校からやり直せw

>>396
絵画とかで三次元のモノを二次元で表現してようなもんやね
0401デフォルトの名無しさん
垢版 |
2020/09/19(土) 14:56:12.25ID:DhGY1Jyy
>>395

x = [[1,2,3],[2,3,4],[0,1,2]]
print(sorted(x, key = sum))
0402デフォルトの名無しさん
垢版 |
2020/09/19(土) 16:12:32.89ID:d0M6Mr1v
>>400
で、その絵画は三次元なの? 二次元なの?

3DCGって三次元なの? それとも二次元なの?

その区別が出来てなかったから"三次元の表"の意味が理解できなかったんでしょ?
0403デフォルトの名無しさん
垢版 |
2020/09/19(土) 18:35:05.52ID:zMnGH6Og
>>402
> で、その絵画は三次元なの? 二次元なの?
えっ?
日本語の理解力がないの?
それとも引っ込みつかなくなった感じ?

> 3DCGって三次元なの? それとも二次元なの?
表現方法の意味がわかってないのね
3DCGを3Dプリンタで出力できる時代なんだよ

> その区別が出来てなかったから"三次元の表"の意味が理解できなかったんでしょ?
自己紹介乙w
0404デフォルトの名無しさん
垢版 |
2020/09/19(土) 18:44:49.59ID:WELyUQg7
>>400
絵画は幅、高さ、色(RGB)だからデータとしては3次元
0409デフォルトの名無しさん
垢版 |
2020/09/19(土) 19:27:53.84ID:ET4jrRB5
>>401
ありがとうございます!!
勉強になりました。
0410デフォルトの名無しさん
垢版 |
2020/09/19(土) 19:31:00.81ID:+/rKapXR
>>408
違う。波長を考え出すならスペクトル分布を考えないといけないので無限次元。
人間の目には赤と青を混ぜた色は紫に見えるけど、
それは純粋なスペクトルの紫とは違うし、
白なんかはスペクトル上にはない色。
0411デフォルトの名無しさん
垢版 |
2020/09/19(土) 19:36:58.15ID:+/rKapXR
>>407
いずれにせよ、人間の視覚で感じる色を考えるとしたら、LMSの3つの錐体細胞で光の強さを感じ取っている以上、どんな基底変換をしたとしても3次元の値で表現されることになる。
0412デフォルトの名無しさん
垢版 |
2020/09/19(土) 21:27:49.70ID:WELyUQg7
>>406
要素数の話じゃなくて、3次元のテンソルで表現されるということ
0414デフォルトの名無しさん
垢版 |
2020/09/19(土) 21:48:24.91ID:+dbb8gC7
>それを表って言うのかい?
>実質的とか言われてもw
>それって表を時系列に並べたでかい表になってるだけじゃね?

からの

>絵画とかで三次元のモノを二次元で表現してようなもんやね

さすがにこれは恥ずかしい
恥ずかしくて逆ギレしたくなるのも分かる
0417デフォルトの名無しさん
垢版 |
2020/09/19(土) 22:08:04.27ID:1jQlO8zF
>>412
要素数?
幅、高さってまじで言ってたのか?w
左位置、上位置とかの座標の話と解釈してたんだが…
0418デフォルトの名無しさん
垢版 |
2020/09/20(日) 12:18:54.03ID:hDePG67w
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)」って感じで型を指定すると
エラーがでてしまうのです。僕は何が間違ってるのでしょうか?
先輩たち助けてくだしゃあ。
0419デフォルトの名無しさん
垢版 |
2020/09/20(日) 15:33:29.71ID:0QrwQpRm
[] に append は遅い
numpy の arrray 使わないとだめよ
0421デフォルトの名無しさん
垢版 |
2020/09/20(日) 16:18:28.14ID:GOdQy7G8
l = [0] * 10
してからl[i]に値をぶち込んでいくほうが早いと思われ

もしくは
n = 10
a = list(range(n))
[random.sample(a, n) for _ in range(x)]
0424デフォルトの名無しさん
垢版 |
2020/09/20(日) 20:11:44.14ID:hDePG67w
>>418です。
皆さん、ありがとうございます。
コードを書き換えてみます。

numbaの型指定で「@jit("void(i8)", nopython=True)」で
エラーがでるのは何故かわかるかたいませんか?
0425デフォルトの名無しさん
垢版 |
2020/09/20(日) 20:15:53.10ID:hDePG67w
>>421さんの

l = [0] * 10

の様なことを>>419さんのnumpyで実現する方法ってありませんか?
お二方の技を合わせることはできまんか?
0426デフォルトの名無しさん
垢版 |
2020/09/20(日) 22:14:47.23ID:GOdQy7G8
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)])
0427デフォルトの名無しさん
垢版 |
2020/09/20(日) 22:17:53.63ID:hDePG67w
>>426
ありがとうございます。
とても参考になります。
0429デフォルトの名無しさん
垢版 |
2020/09/20(日) 23:13:01.14ID:hDePG67w
>>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
早いけどなぜか乱数が重複するみたいです。。。
なぜだろう。。。
0430デフォルトの名無しさん
垢版 |
2020/09/20(日) 23:35:29.96ID:GOdQy7G8
失礼。random.choiceはダメなようだ

lst = np.empty((x, n))
for i in range(x):
a = np.arange(n)
np.random.shuffle(a)
lst[i] = a

もっと早い書き方がある気がするのでnumpyプロの人よろしく…
0431デフォルトの名無しさん
垢版 |
2020/09/20(日) 23:38:19.60ID:hDePG67w
>>430
ありがとうです!!
0432デフォルトの名無しさん
垢版 |
2020/09/21(月) 00:03:28.64ID:jRevX+gM
import numpy as np
x = 1000000
lst = np.random.randint(0,10,size=[x,10])

こんな感じだと早いんだけど重複しちゃうんですよね。。。
0434デフォルトの名無しさん
垢版 |
2020/09/21(月) 00:48:00.51ID:aoVqV8fZ
あ、すまん
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)])
0438デフォルトの名無しさん
垢版 |
2020/09/21(月) 19:36:25.54ID:zhVYtERB
ぶっ飛びで遅いと言うか
スクリプト言語なんて大抵こんなモンじゃない?
0439デフォルトの名無しさん
垢版 |
2020/09/21(月) 21:32:16.28ID:daSRMUal
動画サイトをスクレイピングする場合、動画サイトが埋め込みコードを提供していない場合は、自サーバにダウンロードしてから埋め込むという作業が必要なんでしょうか?
0441デフォルトの名無しさん
垢版 |
2020/09/21(月) 23:13:52.87ID:+seX53Ud
他人の著作物には、作者の著作権があるので、
作者以外の人は、配布・公開できません!

基本は、自分が作った著作物しか、配布・公開できない。
ただし、OSS, MIT のような、特別なライセンスがあれば、できます
0442デフォルトの名無しさん
垢版 |
2020/09/21(月) 23:25:45.47ID:nEiELCSz
windows10のpython2.7.3にPyQt4_gpl_win-4.12.3を入れようとしていますが、
python configure-ng.py
を打ち込むと
Error:Make sure you have a working QT qmake on your PATH.
と言われてしまいます。
https://stackoverflow.com/questions/46570466/pyqt4-error-make-sure-you-have-a-working-qt-qmake-on-your-path に従いPCをqmakeで検索しましたが見つかりません。
どうしたらインストールできますか?
0443デフォルトの名無しさん
垢版 |
2020/09/22(火) 01:49:20.35ID:UXy6Yo2i
「make sure you have a working qt qmake on your path」で検索!

常に、エラーメッセージで検索する癖を、つけた方がよい
0446デフォルトの名無しさん
垢版 |
2020/09/22(火) 08:46:40.20ID:w2FwR3QU
>>443
検索したんですが、どれもqmakeの場所を検索することをおすすめしてきたので検索したところ
Edgeのキャッシュに謎の.jpgと.htmが入ってる以外それらしいものがないです
qmakeだけダウンロードできないかと思ったんですが配布してるところないみたいです
pythonもpyqt4もダウンロードしたばかりのものです
0447デフォルトの名無しさん
垢版 |
2020/09/22(火) 11:20:51.59ID:RSo+6PoR
ちなみにPython2.7.3+PyQt4じゃないと絶対ダメなん?
python2系のサポートが後数年で切れるから
python3+PyQt5の方が今後のために良いと思うが…・・・
0448デフォルトの名無しさん
垢版 |
2020/09/22(火) 13:05:30.61ID:aZ0b5PE0
>>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
0449デフォルトの名無しさん
垢版 |
2020/09/22(火) 15:59:45.35ID:ZpZcyTju
コピペしたプログラムが動かないのどうして?
0450デフォルトの名無しさん
垢版 |
2020/09/22(火) 16:03:39.09ID:iCejn/78
コピペ元のが動いていたという保証はあるのか
0451デフォルトの名無しさん
垢版 |
2020/09/22(火) 16:19:47.57ID:B6bZy9FX
abc = input("パスワードを入力してください")
pw = "abc"

if in == pw:
print("Hello world")
else:
print("パスワード違います")

パスワードを入力すると「Hello world」と表示されるアプリを作ったのですが、
一つ問題が浮上しました。それは、ソースを見るとパスワードが筒抜けなんです><
アドバイスお願いします。
0452デフォルトの名無しさん
垢版 |
2020/09/22(火) 16:22:23.20ID:B6bZy9FX
abc = input("パスワードを入力してください")
pw = "abc"

if abc == pw:
print("Hello world")
else:
print("パスワード違います")


訂正です。コードが間違ってました。
0457デフォルトの名無しさん
垢版 |
2020/09/22(火) 17:29:02.39ID:B6bZy9FX
>>455
すません。5ch貼り付けるとインデントが消えるようです><

>>456
入力したさいにパスワードが見えないようになりますが
ソースにパスワードを記入すると丸見えですよね。
どうすればパスワードを隠せますか。
0460デフォルトの名無しさん
垢版 |
2020/09/22(火) 18:50:03.53ID:N0AAxevm
GUI を作れて
windows で作って、mac でも Linax(UNIX) でもそのまま動作する
という事が可能でしょうか?
0461デフォルトの名無しさん
垢版 |
2020/09/22(火) 18:52:18.05ID:AjGTZxgB
>>457
Webアプリ開発入門みたいなオンラインの学習コンテンツいくらでもあるから、そういうのから始めたほうがいい
そのレベルの質問をいちいちしてたら全く進まんぞ
0462デフォルトの名無しさん
垢版 |
2020/09/22(火) 18:54:14.92ID:SQp6xgxy
>>460
できないことはないんだが
Win同士でもバージョンが違うとちょっとどころじゃなくズレたり文字化けたりとかするじゃろ?
ああいうの起きるから結局GUI周りはOSごとに微調整するはめになるんよ
0466デフォルトの名無しさん
垢版 |
2020/09/22(火) 20:09:37.11ID:SQp6xgxy
>>463
もちつけ
綴りまちがっとる

あと、それぞれのバージョン・Linuxに至っては種類もいっぱい揃えような!
0467デフォルトの名無しさん
垢版 |
2020/09/22(火) 20:16:45.58ID:mExSTQra
〇〇ができるって書いてあると色々妄想広げちゃうけど、ほんとにそれ必要?って考えないとね
0472446
垢版 |
2020/09/22(火) 23:07:36.66ID:w2FwR3QU
>>448
使うソフトウェアの要求で2.7.3使ってます。
私はもちろんpython3用に書き直すことはできませんし、マイナーな趣味なので他人が書き直すことも望めません。

qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに
どうしてqt4が必要になるのでしょうか。
また、どのようにqt4をインストールするべきでしょうか。
0473デフォルトの名無しさん
垢版 |
2020/09/23(水) 00:58:20.55ID:vUEpR4nB
>>451
Ruby on Rails では、credential という暗号化機能がある

credentials.yml.enc というファイルに、例えば、以下のように設定値を生で書いても、
YAML ファイルを、Rails が丸ごと暗号化してしまうので、どういう設定か全く読めなくなる

aws:
access_key_id: 123
secret_access_key: 345

逆に、値を取得する際も、マスターキーで自動的に、ファイルを解読する。
つまり開発者は、マスターキーだけ持っていればよい
0476デフォルトの名無しさん
垢版 |
2020/09/23(水) 03:36:16.81ID:DNpwK2+H
>>472
>qt4自体、ということですが、pyqt4はC++だったqt4をpython用に書き直したものなのに
>どうしてqt4が必要になるのでしょうか。
誰がそんなこと言ってるねん、あくまであくまでpyqt4はPythonでqtを使えるようにしただけで
書き直したとは一言書いてないぞ

とりあえずはQtをインストールしてqmakeのパスを追加するしかないな
(Qt自体もアップデートされてるから上手くいくはやってみないと分からん)
0478446
垢版 |
2020/09/23(水) 08:32:12.18ID:kBT7S+1U
pyqt4がpythonとqtの橋渡し役なのか、それともpython版のqtなのかわからなかったのですが、
橋渡し役ということでいいでしょうか。
また、qtは4.8と5.0がpython2.7.3とリリース日が近かったのですがどれにすべきでしょうか。
0480デフォルトの名無しさん
垢版 |
2020/09/23(水) 10:09:25.96ID:hJkRvCZv
ttp://see-ku.com/wiki/wiki.cgi?page=Qt%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A5%E1%A5%E2
ttp://quitout.blog136.fc2.com/blog-entry-28.html
0481446
垢版 |
2020/09/23(水) 16:38:03.53ID:kBT7S+1U
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
となってうまくいきませんでした。
0484デフォルトの名無しさん
垢版 |
2020/09/23(水) 20:20:00.79ID:a6nOJJ7I
Visual Studio CodeのZIP版を使っています
Microsoftのチュートリアルに従い
日本語化とPythonエクステンションをインストールして
Pylintの警告を出してインストールしたあと
ポータブル用の設定になっていないことに気づいてdataフォルダを作成
それから日本語化とPythonエクステンションをインストールしました
Pylintの警告を出すためにpyファイルを作ったのですが警告が出ません
エクステンションの設定を見るとPylint Enabledとなっていますがポータブルとしてインストールされているのでしょうか?
0485デフォルトの名無しさん
垢版 |
2020/09/23(水) 21:29:29.31ID:pVAt0M+k
コードが長くなってきたので書き分けたいのですが
分けなかったときと同じように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()で呼び出したい
0486デフォルトの名無しさん
垢版 |
2020/09/23(水) 21:39:00.87ID:pVAt0M+k
レスした瞬間ひらめいたというか初心に戻り自己解決しました
my_module.py内でfrom .hello2 import hello2すればいいだけでした
0487446
垢版 |
2020/09/23(水) 23:50:04.33ID:kBT7S+1U
えっ別物だったの!?
道理でバージョンがおかしいと思った

VS2010 c++ express edition 入れましたが特に変化ないです
0488デフォルトの名無しさん
垢版 |
2020/09/24(木) 01:05:51.76ID:6tjmZbDW
スレチだったら申し訳ないのですが、どうしても自分じゃ解決しないので助けて下さい。
今週から勉強して始めたのですが、
Requestsのモジュールをターミナル経由でpipからインストールしてVS codeで入力してもno module named ‘requests’と出てしまいます。
環境Mac OS 10.15.4
Python ver 3.8
どなたか解決法教えていただけないでしょうか、よろしくお願いします。
0490デフォルトの名無しさん
垢版 |
2020/09/24(木) 01:30:41.80
>>488
pip3 install requestsとかは?
そもそもインストールされたモジュールや
importするモジュールがどこに入ってるかを確認してしまえばいいのでは
必ずどこかのディレクトリから参照してるわけだし
0491デフォルトの名無しさん
垢版 |
2020/09/24(木) 01:39:33.00ID:6tjmZbDW
お二方夜分にありがとうございます。

調べたところどうやら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
になっておりました。
兎にも角にも普通にやってれば躓く所じゃない事が分かっただけでも助かりました!
0492デフォルトの名無しさん
垢版 |
2020/09/24(木) 02:03:08.49
まぁそれならあとはVScodeから実行するならpython3のパスを通してやるか
Terminalから直接pyファイルを実行するならpython3で実行してみるか
0493デフォルトの名無しさん
垢版 |
2020/09/24(木) 02:32:02.40ID:6tjmZbDW
488ですが無事解決しました。
何も考えずにYouTubeの動画のチュートリアルで言われた通りに入れたanacondaと、VScodeでInstallしたpythonのpathが合っていなかったのが原因でした。
完全にanacondaをアンインストールすれば実行できました。
お騒がせしました、ならびにありがとうございました。
0495デフォルトの名無しさん
垢版 |
2020/09/24(木) 12:21:54.54ID:CHq4JQRq
指定した整数の回数だけ、同じカウントをやりたいのです

count = 0
life = 5
d = 0

for i in range(100):
_if d == life:
__d=0
__count+=1
_print(count)
_d+=1

# 000001111122223333344444555556666677777...

みたいなカウントの仕方です
dが野暮ったい気がするのですがもっとシンプルに書けないものでしょうか
0496デフォルトの名無しさん
垢版 |
2020/09/24(木) 12:43:47.90ID:z+BbFKst
for i in range(100): print(i // life)
0500デフォルトの名無しさん
垢版 |
2020/09/24(木) 22:35:34.15
import itertoolsとnext()なる便利なものを知ったのですが
これ、”一周回ってきた”を知るにはどうしたらよいのでしょう
リストの長さをカウントするしかないのでしょうか?
0501デフォルトの名無しさん
垢版 |
2020/09/25(金) 04:46:29.14ID:ivzUOZ7m
意味不明
無限イテレータなら一周なんて概念はないし
listみたいなイテレータなら一周以上できないから一周しか存在しないだろ
変な説明するよりコードを提示して質問しろ
0502デフォルトの名無しさん
垢版 |
2020/09/25(金) 06:27:16.79ID:7HeHw0Rd
ある自然数を適当に分割したいんです。
例えば100という自然数があったばあい10,50,16,24みたいな感じです。
教えてエロい人
0505デフォルトの名無しさん
垢版 |
2020/09/25(金) 07:05:44.12ID:7HeHw0Rd
>>504
1,1,98でも構いませんが、

分割する場合、それぞれの値の期待値が同じになれば大丈夫っす。
0506デフォルトの名無しさん
垢版 |
2020/09/25(金) 07:12:46.95ID:7HeHw0Rd
分割する自然数=100
分割数=3
配列=[]
配列2=[]
for i in range(分割数):
  配列.append(random.random())
for i in range(分割数):
  配列2.append(配列[i]/sum(配列)*分割する自然数)
print(配列2)

ちなみに私が思いつきで書いた公式です。
結果が少数になってしまうので不採用となりました。。。
0508デフォルトの名無しさん
垢版 |
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すればいいだけなのですが気になりまして
0510デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:31:56.69ID:UVM8czPJ
>>505-506
期待値同じ縛りなのか・・・

合計がピッタリ分割もとの数になるように
ランダムさんを割り当ててくのってむずかしいきがした。

おれかんがえたのは
506の記法に従うと

max=分割する自然数-分割数+1
for i in range(分割数):
____tmp=random.randint(1,max)
____配列.append(tmp)
____max=max-tmp-(分割数+1-i)
0512デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:37:55.05
>>509
つまりitertools以外のものであれば
it_ary.count(今の位置を整数で取れる)だったり
'c'をprintし終わったあとに実行できるようなit_aryにコールバックを設定できたり
そういう慣例があるということでしょうか?
自分でそういうモジュールを作る、という話ではないですよね?
0514デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:42:19.52ID:ur/x7yKF
あらしと思わせたければIDを隠す
そう思わせたくなければIDを出す
これだけで精神レベルの低い人間を簡単に操作することができます
0515デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:44:15.01ID:UVM8czPJ
おれいを言うとチヌ病気にかかってるアフォに目印ついて便利っちゃー便利>うんこ装着してID隠し
0517デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:48:57.77ID:7HeHw0Rd
>>510
ありがとう。
配列[0]に大きい数字が入りやすいけど最後に
シャッフルすれば期待値は同じになりそうですね。
0518デフォルトの名無しさん
垢版 |
2020/09/25(金) 09:54:23.25ID:ADlgR+X9
>>500
StopIterationがraiseされる
0519デフォルトの名無しさん
垢版 |
2020/09/25(金) 10:41:40.02
>>516
そうなんです
使わないのなら2重ループすればいいし
使うなら分岐でitertools自身の関数を使えるし
それらの落とし所を探っている感じです

>518
cycleはその名の通りstopしないのでしょうがisliceなどはtry:except StopIteration:で処理を分岐できました

ただ、もしかしたらという方法を何個か思いついたので試してみたいとおもいます
ありがとうございました
0522デフォルトの名無しさん
垢版 |
2020/09/25(金) 12:19:53.43ID:4ovx1Tzj
100個の候補から150個ランダムに出力する場合
期待値同じに出来ないだろう
0523デフォルトの名無しさん
垢版 |
2020/09/25(金) 14:40:18.87ID:0Ox6cB/k
n = ['aaa','bbb']
m = ('ccc','ddd')

n = n + m
は通らないのに
n += m
は通るのはなんでだで?
0525デフォルトの名無しさん
垢版 |
2020/09/25(金) 19:57:07.41ID:2UfubMhi
Pathlibで拡張子抜きのファイル名だけリネームしたいんだけど
renameの仕様が凄く気持ち悪い
なんでrename(’hoge’)でhoge.txtにリネームしてくれないんだ…
0528デフォルトの名無しさん
垢版 |
2020/09/25(金) 20:07:16.09ID:ev0lGGxz
Pathlibのrenameはosのrenameを呼んでる
osのファイルシステム操作関数はposixインターフェースに習っている
文句はposixに言ってくるべき
0534446
垢版 |
2020/09/25(金) 23:28:21.84ID:+b1tEVaH
>>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とかでインストール失敗するんですよね
0535デフォルトの名無しさん
垢版 |
2020/09/26(土) 00:09:25.31ID:evkbhpg+
とあるサイトをrequests.getするとres.status_codeで403が返ってきます
ブラウザからだと普通に繋がります
で、User-AgentやらRefererをブラウザのリクエストヘッダから写し取り
headersに設定したのですがやはり403です
何か他に思いつく要因はありますでしょうか?
ちなみに他のサイトだと403だったのがheadersの設定後、200のステータスコードを取得できました
0536デフォルトの名無しさん
垢版 |
2020/09/26(土) 00:15:21.58ID:evkbhpg+
あと同じ403でもheadersを設定した場合と設定しなかった場合とで
微妙にrequests.get後のresponse.textの内容が変わってるので
headersやその他に足りないパラメータがあるのかと思うのですが・・
0537デフォルトの名無しさん
垢版 |
2020/09/26(土) 01:36:07.54ID:en54jqZM
とりあえずブラウザ使ってる時のリクエストを丸コピする

copy as cURLしてどのヘッダーが必須なのかを
curl使って切り分けしてからコードにすると楽
0538デフォルトの名無しさん
垢版 |
2020/09/26(土) 02:17:29.76ID:evkbhpg+
>>537
あらためてコピペで設定したらすんなり通りました・・

なんらかのコピペミスだったのか
(あと、403になったあとに接続するとどうやら一定期間
同じipで全ページで接続できなくなる仕様みたいでした、それが関わっていたのかもしれない)
とにかくできました
ありがとうございました
0539デフォルトの名無しさん
垢版 |
2020/09/26(土) 11:01:07.02ID:j0h+lLOK
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というコマンド?が認識されないです
0540デフォルトの名無しさん
垢版 |
2020/09/26(土) 11:46:36.51ID:9azqN3P6
Windows98を使ってます。
YouTubeを見るにはどうすればいいですか?
Meにバージョンアップはできません
理由は
>>472
に書いてます
0541デフォルトの名無しさん
垢版 |
2020/09/26(土) 13:11:34.54
class hoge:
_def __ini__(self):
__pass
__# ここ
_def tes(self):
__pass

def __init__とdef tes(self)の間のインデント(#ここ)って無い方がいいよね?
0542デフォルトの名無しさん
垢版 |
2020/09/26(土) 14:00:10.58ID:0j6Y03dC
空白文字のみで構成される空行扱いになると思うので、どちらでも良いのでは?
0543デフォルトの名無しさん
垢版 |
2020/09/26(土) 14:30:58.76
やっぱそうか
削除するよりも放置する(気づかない)ほうが簡単なのでとりあえず放置しとくかな・・
0544デフォルトの名無しさん
垢版 |
2020/09/26(土) 14:32:01.89ID:ER2LZL5Z
行末が空白の連続で終わってるのは勝手にトリミングするエディタ使え
0547デフォルトの名無しさん
垢版 |
2020/09/26(土) 17:30:22.20ID:gRR2jm5z
>>546
フォーマッターは色々試したけどBlackが一番楽だったな
細かいオプション弄れないってのは目から鱗だったわ

ただデフォルトの1行88文字だけイケてないから、そこだけ変えてるな
99がpep8にも従ってるから理想だと思うけど、個人的には120ぐらいの方が見やすいからそれで設定してる)
0548デフォルトの名無しさん
垢版 |
2020/09/26(土) 21:25:34.34ID:GBugeZhr
>>540
Windows98 というOS 自体が古すぎる。
サポート切れ

時間の無駄だから、捨てた方がよい

Windows7 でも、もうサポート切れだよ
0549539
垢版 |
2020/09/27(日) 20:47:58.24ID:2JLD83qY
>>545

windows10です 
0550デフォルトの名無しさん
垢版 |
2020/09/28(月) 01:01:50.23ID:eTNt7YMM
csv.readerで、10数桁の数値を読み込むと
指数表記になっちゃうんだけど、どうすればいい?
誰か教えてください・・・
0551デフォルトの名無しさん
垢版 |
2020/09/28(月) 06:34:33.43ID:JgS2isID
csv.readerは関係ない。表示するときに勝手に指数表示されてるだけ。
print(f"{v:.15f}")
とかして表示方法を指定する
0552デフォルトの名無しさん
垢版 |
2020/09/28(月) 08:37:01.65ID:nRbCQgPa
>>551
返信ありがとうございます。
読み込みは問題なかったんですね。
処理した後データフレームを作成し、
df.to_csv('c:\\python\\aaa.csv',encoding='utf_8_sig')
で出力すると、情報落ちが発生てしまうのですが
これもデータフレームに書き込む際にフォーマット指定すればいいんでしょうか?
0553デフォルトの名無しさん
垢版 |
2020/09/28(月) 12:01:38.28ID:PXJ7xAyj
全部文字列で処理しろ
0555539
垢版 |
2020/09/28(月) 15:35:18.48ID:CHxZqZBW
>>545
失礼しました。バージョンは2004と書いてあります、これでいいでしょうか。
0556デフォルトの名無しさん
垢版 |
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)
0557デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:31:41.70ID:zjrobJ8x
if hoge == True: は使うと問題起きるので
if hoge:
で良い
0558デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:36:32.27ID:5gUs019O
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)
0559デフォルトの名無しさん
垢版 |
2020/09/28(月) 18:37:46.83ID:fmmBl4Wo
ド・モルガンの法則だと、後ろの条件式はandではなくorなのでは? ベン図を描いてみたら?
0561◆QZaw55cn4c
垢版 |
2020/09/28(月) 18:54:17.64ID:ZZCh9OIz
>>559
ドモルガンは公理であって法則ではない!
0563◆QZaw55cn4c
垢版 |
2020/09/28(月) 20:03:35.77ID:iFBbxDDj
>>562
そんなに簡単に妥協してはいけない!
0564デフォルトの名無しさん
垢版 |
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
ありがとうございます
なるほどあらためて言葉に書き下ろしたり
このような図にするとわかりやすかったです
https://i.imgur.com/Io2rS55.png
>>556の後半は、aとbの重なった部分以外(aとbの一部含む)
になってしまいますね
0565◆QZaw55cn4c
垢版 |
2020/09/28(月) 20:14:56.86ID:iFBbxDDj
>>564
そのベン図が有効なのは集合の要素が有限、いやせいぜい可算個までの場合ですね
無限集合に対しては無力だと思います
0566デフォルトの名無しさん
垢版 |
2020/09/28(月) 20:53:04.92ID:ejW4RwcM
TrueとFalseの二値論理なら等価だし、二値じゃないならTrueとの比較は
hoge == True こそが唯一の正しい方法ということになる。
0567デフォルトの名無しさん
垢版 |
2020/09/28(月) 21:12:11.60
>>566
安価がないのでだれに言っているのかがわからないのですが
(流れからいってそうなのかな、と迷う書き方をされているので・・)
さらに>>556>>557に系譜している返信かどうかもわからないので想像でかきますが
そもそも>>557は566に対しての返信じゃなく
独り言だったということでしょうか・・?
そうではなく関連した返信だった場合は話がズレていると思いますのでスルーしますねすみません

>>565
たしかに
もっと複雑なif文を一行で書こうとすると頭が混乱しそうなので
最初はネストして書いてから整理しようかなとおもいます
0569539
垢版 |
2020/09/28(月) 22:25:15.47ID:CHxZqZBW
>>568
そうですか。それではwindows用のpythonのopenssl更新法を教えてください。
0571デフォルトの名無しさん
垢版 |
2020/09/28(月) 23:54:27.84ID:KQK2imSo
>>566は、排中律が妥当しない三値論理等の場合(その意味で直接的にはPytnonと関係しない場合)を想定した議論かなと思ったが、その場合、if hogeという書き方ができるかどうかは、ifの構文に依存するのでは?
仮に、(Falseの場合に対応する)elseとパラレルなキーワードがifに付け加わるとすれば、三値論理等の場合でもif hogeという書き方はできそうな気もするが……。

>>570は、TruthとTruthyな値を区別するか否かという==演算子の意味づけの話だよね。
0572デフォルトの名無しさん
垢版 |
2020/09/29(火) 00:10:19.89ID:MtZ1Pd/Y
Truthyならif hoge:
普通は使わないが Trueであることを条件にしたければ if hoge is True:
if hoge == True: は__eq__の定義次第で変化する
0573デフォルトの名無しさん
垢版 |
2020/09/29(火) 00:42:41.01ID:Iz7+ZlTk
>>539
4月20日、「Python 2.7.18」をリリースした。
「Python 2」シリーズは、本バージョンが最終。すべての開発は終了

Python 2.7.18 を使えないの?
もう、2系もサポート切れだけど

これに変えても、OpenSSL のバージョンが上がるかどうかは、知らないけど
0576デフォルトの名無しさん
垢版 |
2020/09/29(火) 12:37:01.77ID:nGoip8g3
>>565
プログラム板で扱う、しかも条件式の中での集合論理なのだから可算個の論理演算でなんの問題もない。板違い
0577デフォルトの名無しさん
垢版 |
2020/09/29(火) 13:10:07.67ID:pVIW4ypp
>>575
メンテなら止むを得ず2使う
ライブラリやモジュールが2系しかなければ使う
それ以外の新規なら3
0578デフォルトの名無しさん
垢版 |
2020/09/29(火) 16:31:45.51ID:JH9UPQiv
>>575
1.8はもう捨てていいのではないかと思われ
1.9はR*b*Motion(iOS/macOS環境)があるから、完全には捨てきれない
いずれにしても、ライブラリやフレームワークといった移行性に問題が
無ければ、確実に性能向上が図られている2.xへ移行するのがベスト

もちろん性能、何それ美味しいの?って人は1.8.7を使い続けてもいい
特に日常的なテキスト処理に標準ライブラリだけで楽しんでいる人であれば、
後方互換性は維持されているから1.8から2.xまでお好きなように味見すればいい
0579デフォルトの名無しさん
垢版 |
2020/09/29(火) 18:55:37.73ID:85pY7Xlb
>>572
>普通は使わないが Trueであることを条件にしたければ if hoge is True:
この辺は動的言語特有の落とし穴があるから、安易に「使わない」とは言わない。
0580デフォルトの名無しさん
垢版 |
2020/09/29(火) 19:56:29.07ID:XIO1sidm
ブラウザからだと普通に繋がるのに
それと同じプロキシ、同じヘッダ使っても
pythonのrequestsからだとCloudflareのキャプチャに飛ばされる
何かまだ設定しないといけないのだろうか?
どちらにせよCloudflareに接続後に取得しているとみられるPHPSESSID周りが怪しいと思ってるんだけど
0582539
垢版 |
2020/09/29(火) 23:44:43.44ID:5dIuqAsn
皆さんありがとうございます。
結局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です。
0583573
垢版 |
2020/09/30(水) 00:02:00.02ID:/dbaz1tV
Python 2.7.3 と、2.7.18 は、パッチバージョンが異なるだけだから、基本的には同じでしょ。
ちょっとした修正

だから、
>>573
で、最新版にすれば? と言った
0587デフォルトの名無しさん
垢版 |
2020/09/30(水) 02:48:12.17ID:/dbaz1tV
5ch の運営は、ダブルクリック対策も知らない馬鹿

ちょっとした連続クリックで、2回書き込まれてしまう
0588デフォルトの名無しさん
垢版 |
2020/09/30(水) 08:49:24.91ID:6w0L7884
同一内容文のマルチポストチェックはされてるはずなのになんでなんだろうな
0591デフォルトの名無しさん
垢版 |
2020/09/30(水) 12:57:00.51ID:M5cvcI7i
WebApp & APIになってるからじゃね?
昔ながらのhtmlのsubmitならダブルクリックで2重になるってことはないでしょ。
0592デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:04:30.38ID:hGfyWrju
csvファイルを読み込んでも、中身がnanになってしまいます。解決方法をおしえてください
0594デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:32:41.28ID:sYKFg//m
そもそもマルチ

>>590-591
最近可笑しいよね
0597デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:05:31.41ID:TOyie83v
まず環境はメモ帳にソースコードを書いてそれをコマンドプロンプトでじっこうしています
コードは以下の通りです
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)
0598デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:06:42.34ID:TOyie83v
csvファイルはエクセルで
1 1
2 2
3 3

というものを作りました
0599デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:08:09.43ID:TOyie83v
これを実行すると
[nan][nan][nan]
というものが出てきます
nanをきちんとした数字にする方法を教えてください
0600デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:22:47.25ID:AwRjzN5n
メモ帳で
1 1
2 2
3 3

を作ってください
csvじゃないけどなw
0601デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:28:31.68ID:Mr1TlNE6
>>600
やってみます
そのあとはどうすればいいのでしょう?
0602デフォルトの名無しさん
垢版 |
2020/09/30(水) 14:43:23.77ID:TOyie83v
>>600
メモ帳ので実行したらうまくいきました.ありがとうございました。
0604デフォルトの名無しさん
垢版 |
2020/09/30(水) 15:04:23.70ID:bIuho2ju
while True:
____time.sleep(10)
____動かしたいコード

として、10秒間隔で動くものを作りたいと思っています。
しかし、実際に動かしてみて、datetime.now()で取得した時間を同時に出力させると、10秒キッチリには動いてくれません。

具体的には、10.2秒ぐらいに1度の頻度になっており、ズレが段々と累積してしまいます。
この誤差を出来る限り少なくするためにはどうすればよいのでしょうか。
0605デフォルトの名無しさん
垢版 |
2020/09/30(水) 15:11:04.66ID:/J4p2JyL
>>604
次に動かしたいタイミングを絶対時刻で記憶しておいて、現在時刻との差分だけスリープするようにする
0608デフォルトの名無しさん
垢版 |
2020/09/30(水) 16:56:19.17ID:gnuIUjLl
macでadministrator以外のユーザーに
python環境構築するにはどうしたら良いのでしょうか?
administratorユーザー環境に入れてあるのを使用できたりしますか?
0609デフォルトの名無しさん
垢版 |
2020/09/30(水) 16:59:13.71ID:sYKFg//m
>macでadministrator以外

kwsk
0610デフォルトの名無しさん
垢版 |
2020/09/30(水) 17:04:34.68ID:gnuIUjLl
>>609
1台のMacに複数ユーザーを作った場合に、
administrator権限を持たないユーザーにpython環境構築したいのですが。
試しhomebrewをインストールしようとしましたが、
sudoがどうこう言うのでインストールできません。
0611デフォルトの名無しさん
垢版 |
2020/09/30(水) 18:01:06.03ID:1rfXhMNG
バージョンを特に気にしないのなら、システムのをそのまま使えばいいんじゃないの?
普通にやれば(sudoしなければ)、仮想環境は個人の領域に作られるわけで。
0612デフォルトの名無しさん
垢版 |
2020/09/30(水) 18:04:52.57ID:gnuIUjLl
>>610
3.7以上を入れたいのです。
自分のところは問題無いんですが、職場の他のユーザは管理者権限ではないので。
0613デフォルトの名無しさん
垢版 |
2020/09/30(水) 19:34:22.10ID:I6nj6qPz
マックは何か入れるときって必ずAdminのパスワード求めてくるんでねーのんけ
しかも最近のバージョンにはルートレスとかいう機能が入ってるから
それ切らないとどうしようもなかった気が
0614デフォルトの名無しさん
垢版 |
2020/10/01(木) 08:51:51.41ID:cWevk/0w
再度調べてもみましたが、管理者権限がないユーザに対しての環境構築は難しそうですね。
ありがとうございました。別の方法を考えます。
0615デフォルトの名無しさん
垢版 |
2020/10/01(木) 09:31:45.39ID:yRpeE/dM
pyenvを入れられさえすればなんとかなりそうだけどな。
管理者権限あるMacでpyenvインストールして持ってきて適切にパスとか設定すればなんとかなはなりそうだけど。
0616デフォルトの名無しさん
垢版 |
2020/10/01(木) 09:44:44.32ID:cWevk/0w
>>615
自分以外のMacにも管理者権限アカウントで入ることはできます。
ただ使う人が管理者権限の無いアカウントで使用しているので
その環境にpythonやpandasを入れたいのです。
0617デフォルトの名無しさん
垢版 |
2020/10/01(木) 10:15:29.26ID:yRpeE/dM
>>616
簡単ではないだろうが出来るとは思うよ。依存関係のあるバイナリやファイルを全部どこか別のところに用意すればいいのだから。
ただ、具体的なhow toはないと思うけど。
brewとかなしでpythonをビルドしなおすために必要なソースを全部用意してビルドするのが簡単かな。
簡単といってもかなり手順は多いだろうけど。
0618デフォルトの名無しさん
垢版 |
2020/10/01(木) 10:31:12.59ID:cWevk/0w
>>617
試してみますが、自分のスキルではできなさそう。かつ面倒くさそうですね。
やるとしたら複数台やらなきゃいけないので。
0619デフォルトの名無しさん
垢版 |
2020/10/01(木) 12:01:28.22ID:XeHbctO8
>>614
管理者権限でどっかに必要なバージョンのPython入れてから各ユーザがvenvで環境作らせるのはできないの?
0620デフォルトの名無しさん
垢版 |
2020/10/01(木) 12:52:08.75ID:w51Lc0nW
Homebrewのインストール自身にsudo必須だったかは忘れたが
少なくともbrew updateやbrew installにはsudo不要なので特定バージョンのpythonやpandasを
管理者権限のないユーザーがインストールする分には全く問題ない

Pythonのインストーラをダウンロードしてinstallerコマンド使うのでも普通にいける

ただbrewやinstallerコマンドで特定のバージョンを直接インストールする方法だと
複数バージョン使う事になった時に面倒なのでpyenvみたいの使ったほうが簡単
0621デフォルトの名無しさん
垢版 |
2020/10/01(木) 13:11:20.57ID:cWevk/0w
homebrewを入れなきゃいけないものだと思っていたのですが、
無視してpyenvから始めたら、あっさりできました。
みなさんありがとうございました。
0622デフォルトの名無しさん
垢版 |
2020/10/01(木) 13:12:46.66ID:cWevk/0w
一応手順です。同じことでつまづかれた方がいたら。
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
0623デフォルトの名無しさん
垢版 |
2020/10/01(木) 15:47:09.45ID:WNh83t5/
Pythonをつかってロボットアームを動かして部屋の片付けをやらせたいのですが
やりかたがいまいちわかりません。なにをどうすればいいですか?
0625デフォルトの名無しさん
垢版 |
2020/10/01(木) 15:58:24.17ID:WNh83t5/
>>624
おすすめのロボットアームとライブラリなどありましたらおしえてください。
右も左もわからない初心者です。
0626デフォルトの名無しさん
垢版 |
2020/10/01(木) 16:27:41.14ID:15Icpaxe
部屋破壊するようなサイズのにして
空っぽにしてもらうとすっきりするぞ
0628デフォルトの名無しさん
垢版 |
2020/10/01(木) 17:07:09.24ID:4VZICDsP
カメラ付きラズパイで良いんじゃね
0630デフォルトの名無しさん
垢版 |
2020/10/01(木) 17:10:54.40ID:W6bAQtLI
>>625
自分の手に電極をぶっ刺してラズパイに接続するか
自分の手を動かして部屋の片付けをやらせた方が早いよ
0633デフォルトの名無しさん
垢版 |
2020/10/01(木) 21:30:06.11ID:RAmiCUGp
学生が勉強用に買えるようなロボットアームってあるの?
もちろん掃除とかは無理だと思うけど
0637デフォルトの名無しさん
垢版 |
2020/10/02(金) 00:33:11.83ID:5fPg27UF
jetsonは頭だけじゃん
アームが欲しいって言ってるんですよね?
てかPython関係なくね?
プログラム板じゃなくてロボット技術板じゃね?
0639デフォルトの名無しさん
垢版 |
2020/10/02(金) 02:20:18.25ID:QXJ/gI+6
せやねぇーARMちがいのCPUアタマでややこいわ
せやから工学的にはアクチュエータていえばええのんか
つかステッピングモータかラジコン用サーボとホムセンや百均で自作すんのとちゃうか?
Arduinoプログラミングのアプリみたいなエディタてあるんかいな?
0640デフォルトの名無しさん
垢版 |
2020/10/02(金) 09:06:40.71ID:ugOoTtJu
matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか
0643デフォルトの名無しさん
垢版 |
2020/10/02(金) 11:28:45.72ID:36KHjBX6
>>641
すみませんでした
0645デフォルトの名無しさん
垢版 |
2020/10/02(金) 16:48:15.55ID:GZmDSkSw
PILでshowしたイメージウィンドウを自動で閉じたい(右上のバツボタンを押さずに)のですが
どうやってやるんでしょうか
.close()や.destroy()してみましたがダメでした
img = Imag3e.open(file)
img.show()#window出現
time.sleep(3)
#windowを閉じる
0646デフォルトの名無しさん
垢版 |
2020/10/02(金) 17:01:26.32ID:WC+nGixi
window出すときに割り当ててるviewer(あぷり)次第
0647デフォルトの名無しさん
垢版 |
2020/10/02(金) 17:17:01.31ID:+YGDFlHE
stackoverflow.com/questions/6725099/how-can-i-close-an-image-shown-to-the-user-with-the-python-imaging-library
0648デフォルトの名無しさん
垢版 |
2020/10/02(金) 17:29:05.62ID:vEIDHK0R
もし viewer が Microsoft.Photos.exe なら
im.show()
time.sleep(...) のあとで

import psutil
for proc in psutil.process_iter():
if proc.name() == 'Microsoft.Photos.exe':
proc.kill()
で消えることは消える(これが良い方法だとは思わない)
0649デフォルトの名無しさん
垢版 |
2020/10/02(金) 17:39:39.86
>>646-648
なるほど
viewer次第なんですね(ちなみに実行環境はlinuxです)

ほんとはpysimpleGUI上で画像を表示させようとしたのですが
ダウンロード→保存→パスから表示→必要なくなったら削除
という方法以外でやろうとしたらうまく行かなかったので
PILで別々に画像だけ表示しようとしたら
今度はビューワを自動で閉じれない問題が発生したのが>645だったのです
とりあえずもう一度pysimpleGUI上で表示する方法を模索してみようと思います
0650デフォルトの名無しさん
垢版 |
2020/10/02(金) 17:51:28.90ID:vEIDHK0R
stringIO とか byteIO でメモリから読ませる方法があるはず
0651デフォルトの名無しさん
垢版 |
2020/10/02(金) 18:04:27.32ID:GZmDSkSw
>>650
とりあえず一度ダウンロードして保存してパス指定して云々でpysimpleGUIで表示
はさきほど成功しました
byteIOでPILのImage.show()も成功
pysimpleGUIのimage_filenameにbyteIOしたものを入れてみましたがだめでした
stringIOでやってみます
0652デフォルトの名無しさん
垢版 |
2020/10/02(金) 18:11:54.38ID:GZmDSkSw
ボンミスというかpysimpleGUIにImageがあることを見逃していました
どこぞのチュートリアルみてボタンとかのパラメータから
バックグラウンドでしか画像表示できないものだと思ってました
sg.Imageできそうです
0653デフォルトの名無しさん
垢版 |
2020/10/02(金) 18:19:38.14ID:GZmDSkSw
解決しました
ざっくり書くと
response = requests.get('画像のurl')
image = response.content
これをpysimpleGUIのlayoutで
[sg.Image(data=image)]のように読み込む
io.BytesIOしなくてもあっさり表示されました
0654デフォルトの名無しさん
垢版 |
2020/10/02(金) 21:03:33.70ID:EIS+/KyU
Pythonの自動操作プログラムのサンプルコピペしたら複数のステートメントがどうとかで動かなくてもうだめぽ
0655デフォルトの名無しさん
垢版 |
2020/10/03(土) 13:46:25.13ID:eGqVjzUw
tesseract-ocrインストールしてpytesseractで数字認識できたのですが
背景にちょっとでも線入ると急に精度がガタ落ちするのですがそういうもんですかね?
0656デフォルトの名無しさん
垢版 |
2020/10/03(土) 13:56:04.69ID:y5FkQ2yd
前処理
0657デフォルトの名無しさん
垢版 |
2020/10/03(土) 13:58:16.20ID:eGqVjzUw
やっぱ前処理して数字だけクッキリみえるようにしないといけないですよね・・
0658デフォルトの名無しさん
垢版 |
2020/10/03(土) 16:40:06.48ID:CUO5EFLQ
入れたいソフトウェアのもともとの頒布元見つけたんですが
身バレ怖いんでリンクは載せないでりどみのインストール方法だけです
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] 指定されたモジュールが見つかりません。

どれも理解できず失敗しました。どれでもいいのでうまくいく方法はありませんか。
ソフト作成者に聞こうかと思いましたがほかの人の質問に答えてないあたり無理そうです
0659デフォルトの名無しさん
垢版 |
2020/10/03(土) 17:06:28.08ID:rxFdctEV
> "pyenchant-1.6.6.win32.exe". ←ググっても32bitは見つからないです
嘘つき?無能?どっち?
0662デフォルトの名無しさん
垢版 |
2020/10/03(土) 20:56:36.80ID:xkenKXiX
日付と時刻で並べ替えをしたいのですが、

df_summary = df_summary.sort_values(['recording_date', 'recording_time'], ascending=[True, True])

で並べ替えできません。
どこが間違っているのでしょう?
0663デフォルトの名無しさん
垢版 |
2020/10/03(土) 22:34:51.22ID:/wA+nWqo
>Java :Must be available on PATH on Windows ←これが理解できない。
>使いたいソフトの中に、.javaがないのも謎です

a.java は、単独のファイルだろ。
Java は、tar, zip などの圧縮アーカイブの一種だろ
0665658
垢版 |
2020/10/04(日) 07:09:29.97ID:WjMigwA9
それです。すいません特定班舐めてました

散々手間かけてもらって本当に申し訳ないです。どうかどれでもいいのでインストール方法教えてください。お願いします。
0668デフォルトの名無しさん
垢版 |
2020/10/04(日) 09:52:24.24ID:tBjisLO9
csvに下記のデータが入ってます。

[[日付,来客数],
[2020/9/9,15],
[2020/9/10,18],
[2020/9/11,12],
[2020/9/12,17]]

日付から曜日を取得したいんだけど。。。
教えてください。。。
0669デフォルトの名無しさん
垢版 |
2020/10/04(日) 10:10:57.50ID:xHwGZDXv
python 日付 曜日 🔍
0670デフォルトの名無しさん
垢版 |
2020/10/04(日) 10:51:24.57ID:WrglaOe5
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)
0672デフォルトの名無しさん
垢版 |
2020/10/04(日) 11:03:59.39ID:WrglaOe5
別に webAPI 使っても構わんが
リアルタイムの時刻とか使うときは
timezone 考慮しとけよ
0674デフォルトの名無しさん
垢版 |
2020/10/04(日) 12:09:35.43ID:t+5MH57F
pandas使うならto_datetimeしてstrftimeでも曜日の文字列取れるよ

locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
df['曜日'] = pd.to_datetime(df['日付']).apply(lambda x: x.strftime('%a'))
0676デフォルトの名無しさん
垢版 |
2020/10/04(日) 20:47:38.84ID:DtVm9v0c
>>662
自己解決しました。

>>> df['Date'] =pd.to_datetime(df.Date)

でdatetimeオブジェクトに変換する必要があったんですね
0679デフォルトの名無しさん
垢版 |
2020/10/04(日) 22:42:46.53ID:bSPUX6Ni
3.7から3.8にした
パッケージをいちから入れ直すのはめんどくさかったけど、
バージョンアップで上書きはしないほうがいいんだよね?
0680デフォルトの名無しさん
垢版 |
2020/10/04(日) 23:04:00.91ID:jdUAgnsK
下みたいなインデックスのない数値計算結果(テキストファイル)を読み込み
特定の列を消す書き方がよくわからないです(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
0682デフォルトの名無しさん
垢版 |
2020/10/05(月) 10:31:44.99ID:H6rSrLtq
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)):]}')
0683デフォルトの名無しさん
垢版 |
2020/10/05(月) 12:19:45.85ID:5r4dmiXL
>>680
ヒントだけ。
csv.reader(f, delimiter=' ')
0684デフォルトの名無しさん
垢版 |
2020/10/05(月) 13:22:17.56ID:z7kgQPv3
Ruby なら、これで最初の列を削除できる

require 'csv'

# 引数は、入力ファイル名。ヘッダー行あり
table = CSV.read( ARGV[ 0 ], headers: true )

# 列モードにしてから、最初の列を削除する
table.by_col!.delete( 0 )
puts table
0686デフォルトの名無しさん
垢版 |
2020/10/05(月) 15:20:07.05ID:Eus3dpPi
Pythonによるデスクトップアプリ開発の質問です。
何十年ぶりかに趣味のプログラムに手を出そうとしています。
触れたことがある言語はCを少しとVBです。

基本、Windowsで動けばいいと考えて調べた結果、
Python、Java、VB.net、electron
の4つに絞りました。
また趣味で手軽にやるならPythonがいいかなとおもいました。

そこでですがPythonでは実装が出来ない、
または無理があることを教えて頂けますでしょうか。
スピードとかは気にしません。

Python3を始めるつもりです。

よろしくお願いいたします。
0688デフォルトの名無しさん
垢版 |
2020/10/05(月) 16:10:39.98ID:HmCvMg2v
コマンドプロンプトに
pip install tensorflow
pip install keras

と書き込んでkerasをインストールしたいのですが、インストールが終わって
import keras
をメモ帳に書いて実行してもうまくいきません
以下のようなエラーが出ます
Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow`
0689デフォルトの名無しさん
垢版 |
2020/10/05(月) 18:24:54.80ID:r96rJxRD
a = []

a[3]="aaa"ってやるとエラーがでますが
自動で[None,None,None,3]みたいに入ってくれませんか
0690デフォルトの名無しさん
垢版 |
2020/10/05(月) 18:55:41.56ID:oiZVlclw
>>686
「とか」ってなんだ「とか」って

>無理があること
なんだったっけかな
こっちじゃない方のPythonスレで
仕様上どうしてもかゆいところについて先月あたり話題になってた気がする

あと、VBよりCが好き派なら
やめとけとしか。
0693デフォルトの名無しさん
垢版 |
2020/10/05(月) 20:36:49.31ID:deOPjAdK
>>688
ありがとうございました
解決しました
0695デフォルトの名無しさん
垢版 |
2020/10/05(月) 21:22:08.50ID:260iGAL2
>>689
dictionary使えばいいケースではないの?
foo = {}
foo[3] = “aaa”

どうしてもlistでやりたいなら要素数固定にして先にNoneで埋めるかIndexErrorを拾って自分で拡張するか
foo = [None] * 10
foo[3] = “aaa”
0696デフォルトの名無しさん
垢版 |
2020/10/05(月) 22:30:54.08ID:r96rJxRD
>>692
>>695
fooを定義するときにNoneで埋める数がわかってると先に埋めちゃいたいのですが
後々わかるパターンなので、その”最初だけ”をifで分岐するか
おっしゃる通りtryで拾うことにしていますね

実際は
a={"a":[],"b":[]}
みたいな感じなので
a={"a":{},"b":{}}
dictionaryで初期定義してやれば分岐やらエラー処理無しでできそうです
(ただ、a["a"][2]とかも参照したい(空なら別の処理)のでそのときにエラーを拾わないといけない?)

ありがとうございました
0697デフォルトの名無しさん
垢版 |
2020/10/05(月) 22:54:44.04ID:5CUE27i/
本日Pythonの勉強を始めた者です。
こんにちは。私はパイソンです。と出力するために

s="こんにちは。"+"私はパイソンです。"
print(s)

と入力したところ、2番目のダブルクォーテーションが赤く囲まれ、invalid character in identifierと表示されてしまいました。
どのように修正すればいいでしょうか?
Pythonのバージョンは(3.8.6)です。
0699デフォルトの名無しさん
垢版 |
2020/10/05(月) 23:20:47.19ID:5CUE27i/
>>698
ご回答ありがとうございます。
どちらも小文字になるように初めに「"」だけを続けて2つ入力してから文字列を作ってみたのですが、それでも同じエラーが出てしまいました…。
0700デフォルトの名無しさん
垢版 |
2020/10/05(月) 23:29:31.02ID:5CUE27i/
申し訳ありません。こちらの勘違いで、全ての"を全角で入力していたようです。
しかし、半角に修正して入力したところenterを押した瞬間消えてしまい入力が出来ませんでした。
0701デフォルトの名無しさん
垢版 |
2020/10/05(月) 23:51:08.72ID:5CUE27i/
連投になってしまいすみません。
恐らくプログラミング以前の問題だと思うので自分で調べ直してきます。
ありがとうございました。
0702デフォルトの名無しさん
垢版 |
2020/10/06(火) 03:31:31.99ID:PeElnWrx
VSCode で、Microsoft の拡張機能でも入れれば?

構文エラーぐらい、チェックしてくれるだろ
0705デフォルトの名無しさん
垢版 |
2020/10/06(火) 10:57:09.80ID:WvNF4GT4
>>690
>>704
返信ありがとうございます。

「とか」はまんまです。上2行以外と言う意味で、多分言われやすそうなスピードを例にあげました。

いろいろとサンプルコードを眺めたりしたのですが、
PythonはGUIにはあまり向いてないんですか。
ライブラリはすでに充実していて行けてそうだったんですが、
別のスレッドの記事はまだ見つけられないでいます。

何か情報お持ちの方おりましたら、引き続きよろしくお願いいたします。
0706デフォルトの名無しさん
垢版 |
2020/10/06(火) 10:58:09.18ID:WjG83btQ
>>696
内側のdictを造るときにkeyが無い時のdefault値を設定しておける
0707デフォルトの名無しさん
垢版 |
2020/10/06(火) 11:01:32.27ID:WjG83btQ
>>704
C#でGUI造るとき
Windowsformsが良いのかWPFが良いのかその他何があるのか
0708デフォルトの名無しさん
垢版 |
2020/10/06(火) 11:03:28.12ID:WjG83btQ
>>705
python 使う条件なら wxPython とか PyQt とか tkinter

C# を否定はしない
0710デフォルトの名無しさん
垢版 |
2020/10/06(火) 11:42:49.01ID:NZHVkPKE
>>707
WinFormsが簡単、WPFは必要な知識が多いので初心者が趣味でやるにはハードル高い

データ分析系とかPythonのライブラリ使う場合でもGUIはC#で作ってPythonのコードを呼び出すようにしたほうが簡単
0713デフォルトの名無しさん
垢版 |
2020/10/06(火) 14:02:04.49ID:t5HrXPx1
C♯からPythonコード呼び出すって、そんな事できるの?
APIとか使うんか?それこそ初心者にはハードル高すぎやしない?
0716デフォルトの名無しさん
垢版 |
2020/10/06(火) 14:08:48.87ID:/kiBHcQr
外部コマンド呼び出す程度のハードルを越えられないようならGUIアプリ作るのは厳しいかと
0717デフォルトの名無しさん
垢版 |
2020/10/06(火) 15:33:34.03ID:PeElnWrx
漏れは、Ruby スクリプト中でも、python を実行したりしてるけど

puts `python3 -c "print( 'a' )"`
0719デフォルトの名無しさん
垢版 |
2020/10/06(火) 16:23:50.59ID:JSNr4BMY
プロセス間通信してjsonとかでデータをやり取りするのがよくあるパターンかな。プロセス間通信を覚えると1つの言語に縛られなくなって、適材適所で特定の部分を書くのに得意な言語で書けばよくなるから開発が楽になるよね。
0721デフォルトの名無しさん
垢版 |
2020/10/06(火) 16:27:43.92ID:V+mkz8Jx
>>706
ありがとうございます
これは使えそうですね(配列にもあればいいのに。配列版defaultdictを作ればいいだけだとは思いますが)
d = {}
d[3] = 11
print(d[3]) # 11
print(d.get(3,None)) # 11
print(d.get("3",None)) # None
print(d.get(1,None)) # None

from collections import defaultdict
dd = defaultdict(lambda:None, d)
print(dd[3]) # 11
print(dd[1]) # None
0722デフォルトの名無しさん
垢版 |
2020/10/06(火) 17:50:20.92ID:khPgdw7M
配列版defaultdictはNone埋めの配列確保しとけばいいんじゃ
0724デフォルトの名無しさん
垢版 |
2020/10/06(火) 21:03:51.30ID:WdRdi4Vr
価格データ集めて価格.comみたいな安値表示するサイト作ろうと思ったけど
やること多すぎて無理だ
とにかく手動の手間がないほっといたら勝手に収益化できるようなお手軽サイトないかなあ
0726◆QZaw55cn4c
垢版 |
2020/10/06(火) 21:28:10.35ID:44oBE2pA
>>724
それ、とても使えるとおもいますよ
株価でそれをやってみてください
この株とこの株は、株価に相関がある、とかが使えそうです
0728デフォルトの名無しさん
垢版 |
2020/10/06(火) 22:00:33.84ID:1E+Iu7Xf
エンジニアの考えるサイトってほんとセンスねえよな
偏差値40の馬鹿が頭空っぽにして使えるサイトじゃないと安定した集客も利益も出ねえよ
0730デフォルトの名無しさん
垢版 |
2020/10/06(火) 22:19:40.98ID:3gNx1ZB7
[2|5]ちゃんぬるのことですねわかります
0732デフォルトの名無しさん
垢版 |
2020/10/07(水) 00:00:10.20
GUIアプリつくったと思ってもCUI画面出てくるのがウザすぎるんだが
せめてGUIに埋め込めたらいいのに
0733デフォルトの名無しさん
垢版 |
2020/10/07(水) 00:17:07.39ID:J8lPlcho
.pyw
0734デフォルトの名無しさん
垢版 |
2020/10/07(水) 04:33:54.01ID:qlNjOdYh
エンジニアチャンネル
https://www.youtube.com/channel/UCMMjv61LfBy5J3AT8Ua0NGQ

【検証】プログラミングでビットコインを自動売買すると一週間でいくら稼げるのか?
粟島が、アービトラージをRuby でやってる

【検証】プログラミングで株価予測すると1週間でいくら稼げるか?
粟島が、Python でやってる

【悪用厳禁】Amazonの価格を監視するシステムを作ってみた
小川が、Ruby でやってる

Amazon API を使って、LINE へ通知する
0740デフォルトの名無しさん
垢版 |
2020/10/07(水) 12:40:18.33ID:kNCymnZF
ぐぐったらjupyterとipywidgetsの組み合わせが最強っぽい
簡単なGUIはこれでよさそう

それ以上高みを望むなら多言語と連携かな?
0743デフォルトの名無しさん
垢版 |
2020/10/07(水) 14:12:20.87ID:kNCymnZF
なぜこれだけ最強の言語なのにGUIだけ糞なのだ
誰かこのスレの奴、GUIライブラリ作ってよ
マイクロソフトのみたいなデザイナーも実装してくれ

まともなのできたら1万円までなら出してもええわ
0744デフォルトの名無しさん
垢版 |
2020/10/07(水) 14:14:06.53ID:aZrfGhEg
マイクロソフトが良質な開発ツールを作ったら反対する奴がいるんだよ
そういうやつらのせいで生産性があがらない
0745デフォルトの名無しさん
垢版 |
2020/10/07(水) 14:21:01.39ID:S/JjpxTb
>>743
wxPython + XRCed
これで充分
0748デフォルトの名無しさん
垢版 |
2020/10/07(水) 22:01:53.46ID:FseZYJ0n
Firefoxのお気に入りのurlを一括取得したいのですがいいライブラリとかないですかね?
0749デフォルトの名無しさん
垢版 |
2020/10/07(水) 22:05:12.76ID:pcVeDiUw
>>743
本格的なGUI開発をするならPythonの言語特性が足かせになるから皆簡単なGUIまでしかPythonでは作らないんだよ。
非同期処理をちゃんとコントロールしなければならないので、その辺のサポートが手薄い言語を使うのは辛いよ。OS依存のAPIを呼ぶこともかなり多いし。
なので、GUIやりたいならマジで使ってるOSで定番となってる言語で作るべき。WindowsならC#だし、macOSならSwift
とりあえず文字を打ちこめてボタンが押せればいいんだ、ぐらいの話だったらwxPythonでもPyQtでもなんでもいいと思うし、GUIを作るのに向いてないという発言は気にしなくていいよ。
0751デフォルトの名無しさん
垢版 |
2020/10/07(水) 22:07:34.20ID:roCOfPnx
グイって必要なん?
自分用なら動作してることが確認できればじゅうぶんだけど
0752デフォルトの名無しさん
垢版 |
2020/10/07(水) 22:33:23.26ID:kNCymnZF
>>749
C#はUnityにも使えるし良さげだけど、将来性はどうなんやろうな。
PythonとJavaScriptは20年後も現役な気がするけど。。。
C#は消えてそうで怖いなw
0753デフォルトの名無しさん
垢版 |
2020/10/07(水) 23:15:17.56ID:pcVeDiUw
>>752
Windowsが使われなくなるか、MSがC#以外の言語を数年以内に発表してそっちが主流になればあるかもしれないけど、
C#はWindowsでは盤石の地位を築いてるのでなかなかないと思うよ
ちょっと冗長なくらいでコンパイル言語の中ではかなりの優等生だし
そもそも、5年後の話ならともかく20年後の状況なんて考えても仕方ないだろう
言語とは関係のない破壊的イノベーションが起きてても全くおかしくない
0755デフォルトの名無しさん
垢版 |
2020/10/07(水) 23:49:40.37ID:qlNjOdYh
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない

GUI 系は、画面の手直しなどで、工数がかさむので非効率。
C#, dot.net などのWindows 系は、いらない。
Java などの土方系も、いらない。
C/C++ などのポインタ系や、ハードウェアの仕組みなども、いらない。
Elixir, Rust は、普及へのchasm・溝を超えられなかった

ただし、Unity は、AWS でも採用しているように、スマホアプリで使う。
今後、iOS, Android のネイティブ開発と、Unity のシェアがどうなるか?

ウェブアプリは、Rails の1強。
単機能なら、サーバーレスのAWS Lambda が流行る
0756デフォルトの名無しさん
垢版 |
2020/10/08(木) 00:24:05.59ID:ZoPMBwjN
>>747
そこまでするぐらいなら他の言語使うべきかも
0757デフォルトの名無しさん
垢版 |
2020/10/08(木) 01:22:27.90ID:1g9i4qXr
beautifulsoupでaタグかつurlがhoge.comのものを抜き出したいです
find_all('a', href='hoge.com')
みたいに指定することってできませんかね?
0759デフォルトの名無しさん
垢版 |
2020/10/08(木) 02:06:20.71ID:HhpSErmL
Ruby, Nokogiri で、
CSS セレクター、a[href="abc.com"] で検索すると、

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<html><body>
<a href="abc.com">abc</a>
<a href="xyz.com">xyz</a>
</body></html>
EOT

elems = doc.css( 'a[href="abc.com"]' )
puts elems[ 0 ].text #=> abc
0760デフォルトの名無しさん
垢版 |
2020/10/08(木) 09:28:58.45ID:VGrMCloP
>>755
ケンタは古いタイプのエンジニアでGUIやフロントはまったくできないから参考にならんよ

ユーザーが使う側の開発できない奴はそっちはデザイナーがどうのこうのとか見向きもしないからな
デザイナーがReactとかやるのかよ
0761デフォルトの名無しさん
垢版 |
2020/10/08(木) 10:24:27.09ID:Riy1MZEi
>>748
エクスポートしてxml読めば済む
0765デフォルトの名無しさん
垢版 |
2020/10/08(木) 15:39:47.21ID:2MDBS5OX
beautifulsoupの質問する人のCSSセレクター使わなさ加減はもはや異常だね

ドキュメントがクソ過ぎるのかな
0769デフォルトの名無しさん
垢版 |
2020/10/08(木) 21:55:56.17ID:mAtyzW7J
スクレイピングしたいなんかの目的だけ先にあって、
そのための最短の勉強しかしてないからCSSセレクタの利便性、確実性がわからん、ってなってるんじゃないの?

Webのコーディングしたことある人なら結局人間の見た目に関わることはほとんどCSSセレクタで実現してると
経験してるからCSSセレクタが確実と理解できるのだろうけど。
自分もbeautifulsoupやってから仕事でデザインデータからHTML/CSS書くようになったから、
所詮CSSなんて飾りでしょみたいに軽く考えてた人の気持ちはよくわかる。
0770デフォルトの名無しさん
垢版 |
2020/10/08(木) 22:08:49.59ID:dKN9eI5x
自分の目的に必要ないものって興味わかないんだよな
Pythonはじめる前は本買って全部マスターしてやろうと思ってたけど、結局必要な知識以外覚える気なくなった
何かコードがあっても自分の目的のものに使えるかどうかでしか見ない。それ以外はただの豆知識としてスルー
0771デフォルトの名無しさん
垢版 |
2020/10/08(木) 22:30:03.79ID:1g9i4qXr
>>763
ありがとうございます
無事できました
CSSセレクタは普段はFirefoxの開発者ツールで算出したものをそのまま使っているのですが,今回はHTMLの仕様が特殊?なのか分かりませんが
うまくtextを抽出することができなかった(return が None)ので,findで無理やり抽出しました

こういった場合はどうすれば上手くいくんですかね?

Python
pastebin.com/7D70dGUk

対象のHTML
pastebin.com/M7k2wffz
0772デフォルトの名無しさん
垢版 |
2020/10/08(木) 22:33:44.13ID:P2KBMrMO
HTMLのスクレイピングにCSSセレクターの基礎知識は必須でしょ

だけどbeautifulsoupの質問してくる人の大半がCSSセレクターの存在すら把握してなさそうな印象を受ける

他の言語では見られないパターンだからbeautifulsoup固有の問題だと思う
0773デフォルトの名無しさん
垢版 |
2020/10/08(木) 23:06:03.88ID:mAtyzW7J
>>772
猫も杓子もPythonと言ってて、プログラミング始めた人たちがまず始めに触るのが
Pythonだという状況もあるんじゃないか
スクレイピングならbeautifulsoupを使いましょうとだけ言ってめちゃくちゃ簡単な例だけ示してる適当な本が多いとかもなんとなくありそうな気がする
CSSセレクタの知識は必須だというのには同意なんだけど、初心者は「なんで余計なことが色々書いてあるんだろう、この本はわかりにくい」とか判断して買わずにそういう適当な本を買いそうだし
0774デフォルトの名無しさん
垢版 |
2020/10/08(木) 23:17:32.12ID:/IDYCNHK
いくつか質問があります
教えていただければ幸いです

機械学習のためにAnacondaをインストールして使っています
IDE環境は何がおすすめでしょうか?

Pyhon3ではprintに()が必要とのことですが省略する方法は無いものでしょうか?
()を毎回打つのが思いの外苦痛ですがみんな気になりませんか?

エディタについてスペースが多いようですがタブではダメですか?
タブだとカーソル移動、例えば→1回でネスト後の文に移動できますが、
スペースだと4回も押す必要があり
更にネストがあると移動するだけで8回も押す必要があり使いづらく思っています
更に7スペース目で文を書くとエラーが出るなどタブと異なりスペースは使いづらく思うのです
エディタは一応昔からなので秀丸ですが設定次第でしょうか?

ヒア文?について、"文字" よりも '文字' をよく見かけますが'って打ちにくくないですか?
0775デフォルトの名無しさん
垢版 |
2020/10/08(木) 23:25:28.57ID:/IDYCNHK
>>769
CSSセレクター?DOM?
よくわからないけど、HTMLをタグで解析する方法じゃダメなの?
HTMLに問題があっても取得できることが多いし(エラーを吐いて止まらない)
何よりHPの更新があっても一度書けば意外と動き続けるイメージがある
例えば現在値XXX円</tag>
こんな感じだと現在値 と 円</で挟めばHTMLが変わっても使い続けられるイメージ
0776759
垢版 |
2020/10/08(木) 23:30:02.40ID:HhpSErmL
構造がある文書に、正規表現を使うのは、おかしい

普通、パーサー・CSS セレクターを使う。
例外的に、XPath もある

Python の香具師は、jQuery, Ruby のNokogiri をやっていない香具師が多すぎる
0777デフォルトの名無しさん
垢版 |
2020/10/09(金) 04:14:55.95ID:3Rw7cRMY
NokogiriってQiitaに「インストールする方法」が大量に書かれてるアレ?
ゴミクズはまずまともなパッケージングできるようになってから一丁前の口を利くべきだね
0778デフォルトの名無しさん
垢版 |
2020/10/09(金) 04:49:59.25ID:wwV2YpFc
ノコギリはlibxml2ベースと書いてある。
これは結構ハックが多そうだけどな。
0779デフォルトの名無しさん
垢版 |
2020/10/09(金) 04:55:48.98ID:wwV2YpFc
ハックとかハッカーとか、いまどきの若者はカッコいいとか高度とか良いイメージ持つようだけど、正規ではない方法で小手先の継ぎ接ぎを行うことで、イマイチな方法論だからな。

たとえば、ノコギリが○○タグを認識してくれないというとき、規格に沿うようlibxml2を修正するのが正規の方法。
※とはいえ、libxml2を規格に沿うよう修正するのは無理です。

libxml2に渡す前に文字列を正規表現で加工し、libxml2の出力を再加工して○○タグを認識したように見せかけるのがハック。
0780デフォルトの名無しさん
垢版 |
2020/10/09(金) 04:58:27.37ID:wwV2YpFc
Hack ← わかる。
Hacker ← わかる。
Hackest ← わからない。
0781デフォルトの名無しさん
垢版 |
2020/10/09(金) 07:50:13.40ID:760t1BpC
libxml2 は、Linux で、どの言語でも使っているのでは?

Ruby on Rails をインストールすると、build-essential が入っていれば、
自動的に、Nokogiri もコンパイルされる

build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っています
0782デフォルトの名無しさん
垢版 |
2020/10/09(金) 08:30:53.92ID:zR503Bgm
>>774
()省略したいと思うけどprintのintは省略したいとは思わないのかな
タブの件はエディタの使い方をググりなさいな
0783デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:23:24.11ID:bPQTuE9F
dominatn_arm side
右 右

というdfがあって右だけを変数に切り出したいのですが、
side=df['side]
prind(side)
とすると
0 右
と出力されseriesになっているようです。
side列、2行目を指定して''右’という文字だけを切り出すにはどうすればいいのでしょう?
0784デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:24:02.53ID:vl+UDRkB
>>771
from bs4 import BeautifulSoup
import urllib.request
r = urllib.request.urlopen('https://pastebin.com/raw/M7k2wffz')
b = r.read()
soup = BeautifulSoup(b)
for _ in soup.find_all('a'): print(f'{_.string} {_.attrs["href"]}')
0785デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:28:46.15ID:vl+UDRkB
>>783
df.loc[0,'side']
0787デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:00:20.59ID:PNPQYtuM
>>777
1.11.0からキッズ向けにプリコンパイル配布されるようになるよ!
これで「Nokogiriのインストール方法」みたいなバカみたいな新規記事が減るね
ただしWindowsはハブられた
まあ、Windowsでプログラミングとか、ぴゅう太で商用アプリを作ろうとするようなもんだから、その辺はWSLで我慢しとくべきだ
0788デフォルトの名無しさん
垢版 |
2020/10/09(金) 20:19:27.76ID:V/MvAZpp
>>782
レスありがとうございますm(_ _)m
print のintは考えても見なかったです
意味がわからなくなるのでそのままでも良いかも
でも省略になれるとそっちのほうが良さそうですね
0790デフォルトの名無しさん
垢版 |
2020/10/09(金) 21:21:27.22ID:Jne8tQRQ
>>774
カッコ入力するのが面倒ならプログラミングなんかやめたほうがいいよいろんな記号入力するんだから
カッコ書かなくていい利便性なんか、 Python2でUnicodeテキストを処理するときの面倒臭さを考えると消し飛んでしまう。

まともなエディタ使ってたらタブを勝手にスペースにしてくれる。
てかVSCodeとか使ったほうがいい。

' は、US配列とかDvorak配列ならshift押さなくても打てるから楽なんで ' で打ってる人が多いのではないかな。
Pythonに限っては、打ちやすい方でいい、単なる好み。
キーボードの配列も好み。
0791デフォルトの名無しさん
垢版 |
2020/10/09(金) 22:07:58.46ID:Jne8tQRQ
>>775
HTMLのパースに正規表現を使うのは、ガチでアンチパターン
どうしようもないときに仕方なくそれを選ぶぐらいのもの
"円</div>"が突然、
"<span class="currency">円</span></div>"とかにマイナーチェンジするかもしれないし、
必要な部分を親子関係考慮して適切に抜き出すのも正規表現ではとても難しいので、
書くのに時間がかかるくせに柔軟性がないから避けるべき
0792デフォルトの名無しさん
垢版 |
2020/10/09(金) 22:13:31.48ID:V/MvAZpp
>>790
Python3から入ったんだけどなんだかカッコに慣れなくて・・・shift毎回押すのが嫌なのかも ()なくても分かるし
エディタは秀丸を昔から使ってる
VSCodeっIDE?Anacondaに適してる?
IDEは大昔Java使ってたときにEclipse使ってたカッコなど補完してくれて助かってたからまた使いたくなってる
ただ言語との相性が結構あった気がするからどんなのが適してるか気になってる
自動でスペースにしてくれても何かでカーソルが移動したときに何度も矢印キータイプするの面倒じゃない?タブよりもやたらとスペースが普及してるけど・・・
’はUS配列で楽だからなのか・・・Unicodeもそうだけど日本語ってだけでハンデあるな
0794デフォルトの名無しさん
垢版 |
2020/10/09(金) 22:50:52.07ID:Jne8tQRQ
>>792
そんな書き込みするよりカッコ1000回入力するほうが楽、慣れるが一番
カッコなんて他のところで一杯出てくるんだから気にするだけ無駄
そんなに記号打ちたくないなら本当にプログラミングやめたほうが良いと思う

VSCodeはAnacondaに適してるよ

キータイプなんか別に面倒ではない、押し続ければカーソルは動くのだから。
好みもあると思うが、個人的にはタブのところだけ加速するほうが気を遣うから面倒臭い
カーソルが思ったところにやってくるまでの時間なんか、次にどんなコードを書けばいいか考えているうちにすぐ過ぎ去ってしまう
これも好みだけど、タブとスペースが混在していてそれを気にしなきゃいけない状態のほうが面倒

日本語入力だってUS配列やDvorak配列で出来るんだから、ハンデだと思うなら
キーボードの配列変更ツールとか使って変更すればいいだけの話、'を簡単に入力できる前に、
配列の違いに慣れるのにそれなりに苦労するのを我慢できればの話だが
自分はDvorak派だけど、仕事ではJISもUSも打つことがあるので全部打てる、要は慣れ

面倒とかハンデとかいって秀丸使ったりダラダラ5chに書き込んだりしてる前に、
もっと調べて、さっさと色んなツールを試せばいいんだよ

プログラミングなんて、ベテランになったって結局、延々と調べる、試すの繰り返しだから、
いちいち面倒くさがる奴は本当に適性ないと思うよ。
一回試すのに1ヶ月かかるなら面倒だと思うのもわかるが、10分とかで試せるんだから。

printが面倒くさいならJupyter Notebookを使ってプログラミングするという手もあるけどね。
1 + 2とInセルに入力して実行したら、
Outに3と出てくる。いちいちprintしなくていい。
0796781
垢版 |
2020/10/09(金) 23:11:12.08ID:760t1BpC
VSCode の拡張機能、Code Runner がおすすめ。
ファイル全体か、選択したコード片を、右クリックメニューから実行できる

これで、REPL もいらない

>>787
Windows のRuby Installer では確か、Nokogiri もプリコンパイルされていた。
ただ、Web Socket がプリコンパイルされていないので、

MSYS2 みたいなコンパイル環境が必要で面倒だから、
漏れは、Windows 10, WSL, Ubuntu 18.04 へ移った
0797デフォルトの名無しさん
垢版 |
2020/10/09(金) 23:59:37.21ID:gbXinOEZ
classの中で自分自身のclassを実行できないの・・?

class hoge:
_def __init__(self,f=None):
__print('hoge.__init__')
__self.f=f
__if f==None:
___return hoge("hoge")
__return self

h = hoge(None)
print(h.f)
0798デフォルトの名無しさん
垢版 |
2020/10/10(土) 00:05:29.20ID:RnJgUMSd
>>792
真面目にタイピングの練習でもした方がいいんでないの?
頭の中で考えたコードを手で入力する際に、思考を遮らない程度には素早く滑らかに、息をするかのように入力できるようになっておいた方がストレスがたまらなくていいぞ。
0800デフォルトの名無しさん
垢版 |
2020/10/10(土) 02:32:53.35ID:QUQzHt+d
>>792
なんでPythonで秀丸っていう縛りプレイしてるねん
VSCode使ってアドイン入れたら自動補完が出るからそれやっとけ
(IDEならPyCharmもあるけど、無料版だと機能制限的に途中で詰まる所が出てくるから機械学習目的ならVSCodeの方が楽)

ちなみにPythonはPEP8の規約でスペース4つって規定されてるから、スペースで統一されてる
というかエディタの機能でCtrl+左右キーで区切りの所に一気に飛ぶから
そんな事気にした事無かった
0804デフォルトの名無しさん
垢版 |
2020/10/10(土) 10:51:13.07ID:bCg5dd4F
機械学習でVScodeとかwww
0806デフォルトの名無しさん
垢版 |
2020/10/10(土) 17:11:28.58ID:3Ps2ysUj
%ってどんなときに使うんですか?
0807デフォルトの名無しさん
垢版 |
2020/10/10(土) 17:30:01.41ID:i5KfYhU+
>>> 5 % 2
1
>>> '123%d567' % 4
'1234567'
0808デフォルトの名無しさん
垢版 |
2020/10/10(土) 18:17:00.26ID:TAKk2otJ
横から
pyautogui使ってスクショを連続して保存したいんだけど、
画像の形式って選べないの?
pngで保存したんだがjpgと画質変わらん
0809デフォルトの名無しさん
垢版 |
2020/10/10(土) 18:33:03.78ID:LNtLtU7B
>>794
適正がなくても面倒くさがりでもプログラムってのは面倒を自動でやってくれるから可能な限り楽に使いたいと思ってる
というか面倒くさがりな人だからプログラムに頼るんじゃないの?
主に証券の自動売買とデータ解析、Arduinoの操作に使ってるけどやってることは人力でもできる
でも1分に1回価格を調べるとか手作業じゃ面倒すぎる。結局めんどくさがりなんだよ。
秀丸ディスられてるけど一度覚えたら癖みたいなものも分かるから面倒がないと思ってね
良いエディタ見つけたら最低でも10年は使い続けたい
少し前に友達が秀丸以外のエディタで編集してプログラムがバグった
調べたら自動で文字コード変わってたりBOMつけたり一つ環境変えるだけで想定外のエラーが出てその間プログラムが正常に動かないとか困った
もっと言えばWindows10を使ってるけどUIはWin98に近づけて使ってる
慣れるのが大変だから環境の方を親しんだものに変えてる
とはいえ限界はあるからどこかの時点でリープフロッグするようにしてる
あと、気軽にインストール言ってくれるけど今のPC環境壊れると困るから結構怖い
他のプログラムのDLLが関連ファイルとして変更されたりソケット通信やCAがおかしくなってエラーが出たりPythonのインストールだけで何度かすでにトラブってる
0810デフォルトの名無しさん
垢版 |
2020/10/10(土) 18:39:56.08ID:LNtLtU7B
VScode,Jupyter Notebookについては人気みたいなので使ってみようと思う
アドバイス助かる

>>798
タイプそのものはかなり早い方
Realforceの全30g使ってる
ただ腱鞘炎になってから少しでも文字数少なくしたいと思ってる
音声入力も試したけど文章はいいけどプログラムでは全く使えないわ
printについては本当に頻繁に使うし以前使ってた言語で不要だったからイライラするというのが大きい 慣れるわ・・・
0811デフォルトの名無しさん
垢版 |
2020/10/10(土) 18:42:39.94ID:GJWPALcX
>>809
60代とかなのか?
めんどくさがりでも、新しいもの好きじゃない人はとマジで適性ないよ。
瞬間的な集中力はあって、新しいものは試せるけど、ずっと同じことやるのは無理って人が向いてる。
あなたは未だに22年前のUIを使ってることに疑問を抱かないことからして、
面倒くさがりというよりは何事もやる意欲が湧かないタイプなだけで、なにかとやらない理由を探してるだけ。

環境壊れて困るならVMとかに開発環境作る方法もあるわけだし。
やらないことには知識も身につかないんだから意識変えなきゃずっとそのままだよ。
0813デフォルトの名無しさん
垢版 |
2020/10/10(土) 19:15:17.89ID:LNtLtU7B
>>812
そうしたいのは山々だけどバックグラウンドで自動でArduinoの制御や株式の自動売買とWebとの連携(実際にはVPSで動かしてる)ができないと思う
ExcelのVBAは使ったこと無いから知らないけどできなさそうなイメージが有る
0818デフォルトの名無しさん
垢版 |
2020/10/10(土) 22:53:14.63ID:bjtm+bd1
ストレートに言ってやるけど
面倒くせえ奴っぽいから理由つけて追い払いたいだけ
0819デフォルトの名無しさん
垢版 |
2020/10/10(土) 23:44:29.10ID:CKTMfle8
>>794
>>809
禿同
つか長文でここまで書いてあげるって性格良すぎだろ

グダグダ言い訳ばかりで変わろうとしない老人の相手より自分のメンターになってほしいわ
0820デフォルトの名無しさん
垢版 |
2020/10/10(土) 23:58:43.18ID:LNtLtU7B
>>811
OS変わる度に1週間位は試しているけど、どうにも慣れないんだわ
特にWin10とか例えば使いたいプログラムがすぐに見つからないとかでイライラしてしまった
よくみんな気にせず使えるなと思ってしまう
VMは試したことあるけど重たくなるから断念した
前に使ってた言語はPerl(32bit)シリアル通信に解決できない問題が生じてPythonを始めた
あと、TensorFlow使うにはPythonが良いらしく始めたところ
0821デフォルトの名無しさん
垢版 |
2020/10/11(日) 00:38:46.23ID:yFMbOCUi
スコープの問題で変数を前もって制限しなきゃいけないときってNoneでやればいいのですか?

hoge = None
if fuga==1:
hoge='maguro'
if fuga==2
hoge='neko'

print(hoge)

みたいな場合です。None以外で〇〇で初期化して宣言するのがお約束みたいのがあったら教えて下さい。
0823デフォルトの名無しさん
垢版 |
2020/10/11(日) 00:48:53.79ID:+mSbojph
別に初期化する必要ない
fugaが1or2以外のケースを定義する必要があるかどうかでしょ
if fuga == 1: hoge = 'maguro'
elif fuga ==2: hoge = 'neko'
else: hoge = None
0825デフォルトの名無しさん
垢版 |
2020/10/11(日) 01:07:43.76ID:B+MSoWxK
>>820
Windows 10, WSL, Linux もある

ベンチャー企業は、AWS, CircleCI, Ruby on Rails ばかり採用する。
唯一の例外が、TensorFlow で、GCP を使う場合

Azure は、採用する理由がない
0826デフォルトの名無しさん
垢版 |
2020/10/11(日) 01:33:29.76ID:PWIkpq4I
>>820
ubuntuを使ってるんなら
同じようにWindowsでも使いたいアプリって
Winキー押して検索窓で打って使いませんか?
0827デフォルトの名無しさん
垢版 |
2020/10/11(日) 02:21:55.55ID:/8O7QJaQ
>>820
いずれは古いOSは使えなくなるんだし、皆移行していくんだから、
昔のほうがつかいやすかったとか愚痴言ってないで
1年ぐらい経って落ち着いた、仕事に影響が出てもクリティカルじゃないタイミングで最新OSにすべき

新しいOSへの移行は既定事項だから、自分は使えるからと先延ばしするのは、未来の自分の首をどんどん絞めてるのと一緒だよ

みんな(とくに職業プログラマー)は仕方のないことだから無理やりなれてるだけなんだよ
0829デフォルトの名無しさん
垢版 |
2020/10/11(日) 10:58:15.61ID:BIq+BgYw
webkit2gtk+python3で簡単なepubビューアを作っていて、
ブックマーク機能を実装しようと思っているのですが、
現在表示されている画面左上の文字列を取得するにはどのようにすればいいのでしょうか?
おそらくjavascriptを使うのかもしれないかもしれませんが、検索してもなかなか引っかりません。
ぜひお教えください。
0830829
垢版 |
2020/10/11(日) 11:01:58.24ID:BIq+BgYw
ちょっと言葉足らずでした。
左上の文字列を取得して、ブックマークを「xhtmlファイル何枚目の文字列〜」で登録後、
ブックマークに飛ぶ時はバックグラウンドで検索してブックマークの文字列に飛ぶようなのを考えています。
これならウィンドウサイズが変わってもブックマークは同じ位置なので有用だと思うのですが、
肝心の最初の文字列〜を取得する方法がわかりません。
0831デフォルトの名無しさん
垢版 |
2020/10/11(日) 13:31:40.26ID:XtjCAXRh
guiに関してはpythonで全てやることは諦めてflask+javascriptでもやった方がいいんでないの。
0833デフォルトの名無しさん
垢版 |
2020/10/11(日) 14:46:10.58ID:lzwWotm9
>>832
pythonはクラス・関数単位のスコープで、ifやforではスコープ変わらないよ
明示的に初期化しておきたいならNoneがいい場合もあれば空文字列の方が向いてる場合もあるしケースバイケース
0834829
垢版 |
2020/10/11(日) 15:04:52.13ID:BIq+BgYw
calibreのソースコード見ていたらepubcfiなる索引規格があるようです。
これを使ったほうが早そうです。どうもお騒がせしました。
0835デフォルトの名無しさん
垢版 |
2020/10/11(日) 20:00:24.86
import re
s = 'aiue o ka ki'
m = re.search('*', s)
print(m)

'*'で、sがなんであってもマッチすると思ったのですがエラーでました
'.?'だといけたっぽいですがこれは”なんでもマッチ”と同等でしょうか?
0836デフォルトの名無しさん
垢版 |
2020/10/11(日) 20:10:04.24ID:VC0TQ97C
*は「直前の文字が0文字以上続く」であって
それ単体だと何ともマッチしない
0837デフォルトの名無しさん
垢版 |
2020/10/11(日) 20:26:31.36
>>836
そもそも''に正規表現が使える?みたいなので*単体でもいけるのかと思っていました
とりあえず''は何もない文字として、'.*'としたところうまく?いきました
ありがとうございます
0838デフォルトの名無しさん
垢版 |
2020/10/11(日) 22:14:23.35ID:yFMbOCUi
下記のようなバーチャートで1つ目の項目だけ赤色にするにはどうすればいいのでしょう?

# Write bar chart
left = [1, 2, 3, 4]
height = [object_dependent_uns_index,
selective_attention_disorder_index, late_response_index, persistence_index]
labels = ['object_uns', 'selective', 'late', 'persistence']

plt.bar(left, height, color='blue', width=width,
tick_label=labels, align='center')
0839デフォルトの名無しさん
垢版 |
2020/10/11(日) 22:18:43.15ID:yFMbOCUi
>>838
ぐぐり足りませんでした。

colorlist=['red','blue','blue','blue']
plt.bar(left, height, color=colorlist, width=width,
tick_label=labels, align='center')

で自己解決しました。
スレ汚し申し訳有りません。
0844デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:00:09.47ID:941JO02h
>>841>>843 が同一人物かどうかは知らんが
知名度と選択基準は分けて考えた方が良いぞ
特に初心者なら猶更
0845デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:02:55.30ID:rzm6EDrC
>>842
通りすがりのものですが
PHPをやった事あったら挑戦しやすいかな?
0847デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:09:47.42ID:941JO02h
>>845
「PHP で何をやったか」だ

>>846
どっちでもいいよ
0848デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:15:57.96ID:rzm6EDrC
>>847
7年ほど前にPHPで在庫管理のwebアプリをXAMPPで構築してみた事がある程度の初心者です
Pythonに興味あるんですがwebアプリとの連携
(妄想ですが、MySQLのデータで機械学習等)
が出来るかどうか気になりふらっと
このスレをのぞいてみました
0851841
垢版 |
2020/10/12(月) 10:33:19.79ID:n7CzEGW5
>>844
本でDjangoを扱っているので、
自分でも出来るのか気になりました
0852デフォルトの名無しさん
垢版 |
2020/10/12(月) 10:41:23.35ID:JH4Ie8JE
Djangoの書籍なら図書館に何冊か置いてるだろうから、とりあえず借りてくれば
0853デフォルトの名無しさん
垢版 |
2020/10/12(月) 11:55:43.96ID:uVyXHzWE
FastAPI の人気が高まってるね。 flask に似てるがドキュメントを作ってくれる。
パフォーマンスが高い。

performanceは「japronto >>> FastAPI > responder >>> Flask ~ Django」だと言えそう
FastAPIとresponderはsingle workerだと秒間100~1000程度のrequestであればpython界で圧倒的なperformanceを誇るjaprontoとほとんど同水準

2020年08月21日に更新
[FastAPI] Python製のASGI Web フレームワーク FastAPIに入門する
https://qiita.com/bee2/items/75d9c0d7ba20e7a4a0e9
0854デフォルトの名無しさん
垢版 |
2020/10/12(月) 12:46:08.79ID:CsRHImZw
たいていのベンチャー企業では、Rails, AWS, CircleCI を使う。
その唯一の例外が、GCP で、Tensorflow

Azure を使う理由はない
0855デフォルトの名無しさん
垢版 |
2020/10/12(月) 13:00:23.80ID:ur9A+2Tl
>>851
チュートリアルだってWebに日本語で転がってるのだから、やってみたらいいのよ。
もしくは読むだけでも使えそうかどうかはわかるんじゃない?
0857デフォルトの名無しさん
垢版 |
2020/10/12(月) 13:48:27.48ID:PgbimoqJ
アメリカ政府はAzure採用しちゃったからね
これからのAWSはオワコンになるかもしれない
(ちなみに日本政府が採用したのはAWS)
0858デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:15:17.84
ifでA and Bを使った時、もしAがfalseならBを処理する必要はないので
Aのみ処理でifを抜けるだろう、というのを確かめるために
def a(f):
_print(f'a = {f}')
_return f
def b(f):
_print(f'b = {f}')
_return f

if a(False) and b(True):
_print(True)
else:
_print(False)

としました
たしかにa()のみの実行となりましたが
それはどんな環境でも常にそうなるものなのでしょうか?
ifの入れ子にする必要なければandのまま行きたいです
0859デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:19:06.37ID:941JO02h
優先順位を考えることと
if 中に複数の関数を直接書くときは関数の副作用に注意
(特に内部状態変更されるクラスとか使ってるとき)
副作用嫌うなら事前に実行した値を if に入れるんだろうけど
質問の趣旨からすればそれはしたくないようだし
0860デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:24:25.36ID:Vee2Scwk
>>858
>それはどんな環境でも常にそうなるものなのでしょうか?
はい

"式 x and y は、まず x を評価します; x が偽なら x の値を返します; それ以外の場合には、 y の値を評価し、その結果を返します。"
https://docs.python.org/ja/3/reference/expressions.html#boolean-operations
0861デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:28:14.65ID:8ONZQv63
>>858
>それはどんな環境でも常にそうなるものなのでしょうか?
―> Yes

and/or は(他の +/- といった算術演算子とは異なり)短絡評価されると
Pythonの公式ドキュメントで明記されている
短絡評価という概念に関しては「Python 短絡評価」でググッてください
0862デフォルトの名無しさん
垢版 |
2020/10/12(月) 14:43:54.99
>>859
つまり>>858の例だと_a=a(False),_b=b(True)とおいてif _a and _b:
みたいにするってことですかね(あえて_a判定後に_bを置かずに)。
b()がファイルやウェブ検索の結果だった場合に
そもそもb()したくない的な問題があるので悩みどころではあります。
>>860,861
なるほど
コードのぱっとみで短絡評価かどうか個人的にわかりにくかったのですが
それは文法というかそういう概念だからと考えるべきなのでしょうね

ありがとうございました
0863デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:45:50.35ID:941JO02h
>>862
X というオブジェクトがあるとして
if X.a() and X.b():
みたいな操作をするとき
a() も b() も独立なら良いけど
a() や b() が X の内部状態を変更してて
特に b() の判定前に a() の結果が b() の結果に影響を及ぼすとかそんな時の話
本人にしか判らんだろうから気を付けてってだけの話
0864デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:18:17.67ID:BGYOINpP
for分、またはそれに類似するもので
listの先頭数個分を一気に取り出すことってできませんか?

for i1, i2, i3 in range(10)
みたいな感じで使いたいです
0865デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:26:54.56ID:uSTKc0a3
for i, j, k in np.array(range(9)).reshape((3, 3)):
print(i, j, k)
0 1 2
3 4 5
6 7 8
0866841
垢版 |
2020/10/12(月) 17:30:44.39ID:n7CzEGW5
>>852
ありがとうございます
まずPythonの文法を勉強したいと思います

>>855
ありがとうございます
おいおい見てみます
0867デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:32:09.25ID:ROPvsg3x
参考書1冊勉強したけどコード書ける気がしません…
これからどういうふうに勉強していけばいいかアドバイスくれると嬉しいです
0870デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:41:11.87ID:uSTKc0a3
要素数が異なるとき
np.resize() は要素を先頭からループ
for i, j, k in np.resize(np.array(range(10)), (4, 3)):
print(i, j, k)
0 1 2
3 4 5
6 7 8
9 0 1
0871デフォルトの名無しさん
垢版 |
2020/10/12(月) 17:42:40.12ID:uSTKc0a3
要素数が異なるとき
ndarray.resize() は 0 を代入
a = np.array(range(10))
a.resize((4, 3), refcheck=False)
for i, j, k in a:
print(i, j, k)
0 1 2
3 4 5
6 7 8
9 0 0
0873デフォルトの名無しさん
垢版 |
2020/10/12(月) 18:03:40.03ID:ROPvsg3x
>>869
その辺は済ませました
参考書に載ってるコード打ち込んだりwebに転がってるソースコードコピペしてどんな感じに動いてるのか試したりしました
0875デフォルトの名無しさん
垢版 |
2020/10/12(月) 18:46:41.41ID:Vee2Scwk
オンラインでコード書きながら学習できるサービスあるからそういうのやってみるといいと思います
paizaとかそういうの
0876デフォルトの名無しさん
垢版 |
2020/10/12(月) 18:53:23.49ID:pKhIQZhz
定期的にchunkingの質問出るけどどのやり方も微妙だよね

標準で用意してくれてもいいのに
0878デフォルトの名無しさん
垢版 |
2020/10/12(月) 19:19:17.17ID:O3dT02h1
import tkinter as tk

root = tk.Tk()
tk.iconbitmap(default='icon.ico')

root.mainloop()

みたいにタスクバーの左上にアイコン入れようとすると
起動時なんかワンテンポ遅れるような挙動あるけどこれ仕様??

対策知ってたら誰かおすえて
0880デフォルトの名無しさん
垢版 |
2020/10/12(月) 19:52:19.15ID:I6cIE2s+
練習問題でmatplotlibというのが出てきたのですがこれはjupyterでしか使えないのでしょうか IDLEだとどう宣言して使えばよいのでしょうか
0881デフォルトの名無しさん
垢版 |
2020/10/12(月) 19:54:18.78ID:EQae3Peh
>>880
その問題の解説やヒントにのってないのか?
宿題なら、宿題丸投げスレへいどうしる
むしろjupyterで使うのはちょっと変化球なんじゃ…
0882デフォルトの名無しさん
垢版 |
2020/10/12(月) 19:56:23.03ID:EQae3Peh
>>878
そもそもアイコンのサイズはちゃんとタスクバーの左上とやらのサイズになってんの?
リサイズ必要なクソ品質のアイコン食わせてたら
そら重いぞ
0883デフォルトの名無しさん
垢版 |
2020/10/12(月) 20:04:41.16ID:I6cIE2s+
>>881
載ってないです
ソフトを入れてやってくださいと書いてます
宿題ではなくフリーのサイトを見ながら勉強しております
0884デフォルトの名無しさん
垢版 |
2020/10/12(月) 20:36:17.21ID:O3dT02h1
>>879
エンコードの方がいいのか
ありがとう

一応アイコンサイズは削ってやってる

ところでBase64エンコードだとファイル容量33%くらい増えるけど
容量より単純にローカルから読み込むよりも挙動の改善が見込めるて
考えでおk?
0885デフォルトの名無しさん
垢版 |
2020/10/12(月) 22:44:41.22ID:hIlfwZlS
>>873
1冊勉強したというが、そんなのは勉強したとは言わんよ。ただ書かれてるのを打ち込んだり、コピペしただけで、自分の頭では何も考えていないだろう。
本で出てきたサンプルコードを自分なりに変更してどう挙動が変わるのか、どんなエラーが起こるか、どうやって解決するか、こんなことが出来るのではないか、なぜ思った通りにならないか、色々と試行錯誤したり調べたりして、習った個々の要素を理解して自分で使えるようになるまでやってみなよ。
0889デフォルトの名無しさん
垢版 |
2020/10/12(月) 23:55:01.24ID:PgbimoqJ
業務前提のプログラミング学習で最初に乗り越えなければならない事はデータベースへのアクセスだ
0891デフォルトの名無しさん
垢版 |
2020/10/13(火) 00:42:56.06ID:y5Oy6HcC
>>884
Base64 は、ファイル内に埋め込んでいるから、ファイル読み込みしなくてもよい

ただし、サイズは大きくなるから、サイズの小さいアイコンなどに限定した方がよい
0892デフォルトの名無しさん
垢版 |
2020/10/13(火) 06:46:06.98ID:DkU59Me6
>>864
p (1..8).each_slice(3).to_a
0895デフォルトの名無しさん
垢版 |
2020/10/13(火) 10:02:34.18ID:/SOtGVmx
https://www.sejuku.net/blog/63816
ここに書かれているos.walkの使い方なんですが、文字列とリストは結合できません、というエラーが出ます。流用するときにはprint文は使わないので実害はないのですが、どうすれば動作させられるのでしょうか?

もう一つ
txtファイルがフォルダ内に有ればそれを開いて処理、無ければ次のサブフォルダに移るという動作をさせたいのですが、うまくいきません。
for curDir, subDirs, files in os.walk(pDir):
if os.path.exists(glob(curDir + '\\*.txt')):
処理

よろしくお願いします
0897デフォルトの名無しさん
垢版 |
2020/10/13(火) 10:27:58.24ID:kTHZDcXw
>>895
1つ目の質問はエラーになるコードをどこかに上げるか
エラーになってる行番号みて文字列とリストを結合してるところを修正して

2つ目のはos.walkでもできるけどpath.globやglob.globで.txtまで指定したほうが簡単

from pathlib import Path
for x in Path('.').glob('**/*.txt'):
__with open(x) as f:
____print(f.read())
0898デフォルトの名無しさん
垢版 |
2020/10/13(火) 10:28:27.54ID:y5Oy6HcC
>>880
よく知らないけど、IDLE は、CUI・コンソール端末じゃないの?
画面がない。テキスト表示するだけでしょ?

普通は、VSCode を使う

よく知らないけど、
matplotlib, jupyter などは、HTML, CSS, JavaScript じゃないの?
WebGL で描画してるのでは?
0899デフォルトの名無しさん
垢版 |
2020/10/13(火) 11:26:37.92ID:ZpxetCrW
>>898
よく知らないなら推測で初心者の質問に答えるな。
初心者が混乱するだろうが。
WebGLなんかで描画してない。
0902デフォルトの名無しさん
垢版 |
2020/10/13(火) 12:07:57.49ID:/SOtGVmx
>>897
1 コードは挙がっているものをそのままコピペして親フォルダのパスだけ変更しました。エラーはサブディレクトリを列挙するところで出ます(リストなので)。サイトの実行結果を見ると、文字列(種別)のあとにリストの内容が列挙されていますが、自分の環境では文字列とリストは結合できないと蹴られます。現在のディレクトリはリストではないので問題ありません
2 ワガママを言って申し訳ありませんがos.walkを使って一例を書いてもらえないでしょうか
0904デフォルトの名無しさん
垢版 |
2020/10/13(火) 13:07:53.35ID:FpFGKRx+
>>876
質問自体も要求仕様が曖昧過ぎる
0905デフォルトの名無しさん
垢版 |
2020/10/13(火) 13:09:12.72ID:FpFGKRx+
>>878
タスクバーとは?
0906デフォルトの名無しさん
垢版 |
2020/10/13(火) 13:13:15.53ID:FpFGKRx+
>>895
sejuku は糞サイト
ブロックして良いレベル
google で検索するなら -sejuku
0907デフォルトの名無しさん
垢版 |
2020/10/13(火) 13:20:48.24ID:vNM1W/1I
>>902
for curDir, subDirs, files in os.walk(pDir):
for filename in files:
if filename.endswith('.txt'):
print(open(os.path.join(curDir, filename), 'r').read())
0910898
垢版 |
2020/10/13(火) 13:53:37.71ID:y5Oy6HcC
WebGL 以外の3D 描画なんてあるか?
0911デフォルトの名無しさん
垢版 |
2020/10/13(火) 14:09:22.90ID:ZpxetCrW
>>910
思い込みでなく、実際に試してどういう実装になってるか把握してから発言しろ。
試さずに思い込みで嘘を言うのはエンジニア失格だ。
0912デフォルトの名無しさん
垢版 |
2020/10/13(火) 15:26:02.81ID:4zQxL38/
PythonをPyInstallerでビルドしてexeファイルにした後、そのexeを起動してる時に
外部のプログラムからビルドしたexeファイル内のPythonの関数を操作する...みたいなことをやりたいんですが
そういうのってどうやったら出来ますか?APIをユーザーに提供するようなことがしたいのですが...
0913デフォルトの名無しさん
垢版 |
2020/10/13(火) 17:16:08.12ID:FpFGKRx+
ctypes
PyObject
0914デフォルトの名無しさん
垢版 |
2020/10/13(火) 18:16:46.03ID:nUut8aYI
>>912
関数呼び出しを基礎としたプロセス間通信(IPC, Inter-Process Communication)の
手法は大きく2種類、RPC と RMIがある

RPC(Remote Procedure call:遠隔手続き呼び出し)は、
古典的な手法で汎用性があり言語非依存だが実装は面倒になる
「RPC Python」でググればいくつか解説記事が見つかるので
(xmlrpc/json-rpc/Mproc/gRPCなど)、そちらを参照

RMI(Remote Method Invocation)は「分散オブジェクト」と呼ばれる
オブジェクト指向言語の分散化から発展した手法で、
言語依存(原則、記述言語間での通信に限定)だが実装は簡単になる
Java RMI(Java)、dRuby(Ruby)などが有名で日本語情報も豊富にある
Pythonで該当するのは PYRO(Python Remote Object) になるが、
英語情報しかないから、気に入れば挑戦してみればいい

ぶっちゃけ今時の手軽の実装手法は、サービス提供側アプリでHTTPサーバ機能を実装し、
利用側アプリからはHTTPでアクセスするというWebサービス化だろう
この場合、提要するAPIは(Python関数ではなく)URLになるけれどね
0916デフォルトの名無しさん
垢版 |
2020/10/13(火) 20:36:26.84ID:/SOtGVmx
>>907
フォルダにサブフォルダしかなくてファイルが存在しない場合もあるんですがその場合はどうすれば?
0917デフォルトの名無しさん
垢版 |
2020/10/13(火) 20:36:45.17ID:OwHbJTWD
py2exeでexe化したんだけども
例えばwith open('list.txt')みたいな感じで使ってるファイルはどうやって認識させるの?
dist内にファイルはあるんだけど読み込まれてないんだよね
0918デフォルトの名無しさん
垢版 |
2020/10/13(火) 21:33:42.36ID:/SOtGVmx
>>907
何度もすみません
フあィルが存在しなくてもエラーは出ませんでした
ありがとうございました
0920デフォルトの名無しさん
垢版 |
2020/10/14(水) 10:14:13.56ID:GsUUoEHv
>>917
テスト(開発)環境では list.txt がカレントディレクトリ ./list.txt にあって
本番環境では list.txt が dist/list.txt にあるんだろ?
0921デフォルトの名無しさん
垢版 |
2020/10/14(水) 20:29:25.53ID:nZLFuktP
諸先輩方質問させて下さい

csvをdfに読み込んでから 当該csvに
追記し csvに反映させる方法を探しています

具体的には

山田,25
鈴木,35
のdfに

佐藤,45 を追記して

山田,25
鈴木,35
佐藤,45
のdfにしたいです ちなみに列方向

山田,25,A
鈴木,35,AB
佐藤,45,O
には出来るのですが行の追加が上手くいきません... 環境はpandasです

よろしくお願します
0923デフォルトの名無しさん
垢版 |
2020/10/14(水) 21:25:11.27ID:BzOdiAY7
>>920
間違った情報を堂々と掲載すんのやめて欲しいわ…
とあるモジュールを除外してOKって書いてるブログ信用したせいだった
0924デフォルトの名無しさん
垢版 |
2020/10/14(水) 21:33:03.99ID:Kw9TOZ7q
>>923
おれの経験からエスパーすると
ブログ掲載当時はなくても動いたが
py2exeのバージョンなんぼかからは、除外しちゃうとexeが動かなくなるモジュールがひとつふたつある
0925デフォルトの名無しさん
垢版 |
2020/10/14(水) 21:43:25.29ID:TYn/brNg
csvにエクセルかなんかで書き足してもう一回dfとして読み直せばいいんじゃないかな

マジレスするとdf.loc("名前") = 数値
で渡瀬
0926デフォルトの名無しさん
垢版 |
2020/10/14(水) 23:54:36.82ID:OZSwULfG
nun = 1〜100の自然数
numが8以下の時はそのままの数だけforを回す
numが8以上の時は8回ごとに
for i in range(8)
を分割して合計numまでforを回したいです
どうすれば出来ますね?
0927デフォルトの名無しさん
垢版 |
2020/10/15(木) 00:01:48.16ID:muu0d6rn
>>926
residual = num
while residual > 0:
count = min(residual, 8)
for i in range(count):
pass
residual -= count
さっきちょうど同じコードをCで書いた。
定石的なコードだね。
0930デフォルトの名無しさん
垢版 |
2020/10/15(木) 00:32:15.48ID:EkqAsG4W
お二人ともありがとうございます
ただ、このコードだと恐らくi>7のときにiが0に戻ってしまうと思うのですが
i=8以降は回した回数も考慮する(8,9,10と継続していく)ことって出来ますかね?
別変数に回した回数持たせれば良い気もしますがそれだとちょっと不格好だなと
0933デフォルトの名無しさん
垢版 |
2020/10/15(木) 01:50:03.65ID:SDasIp1r
pythonやperl使いは見た目や短く書く事に固執してかえって効率悪いことする人結構いるよね
0934デフォルトの名無しさん
垢版 |
2020/10/15(木) 10:03:42.40ID:2FxjmwjN
Pythonは他人が作り上げた見た目の良さに縛られる
ユニクロで人形を指さして「あれと同じものください」と言ってるようなものだ

初心者でも間違う事はないし、基礎を叩きこむにはちょうどよい

しかし、さらに何かを目指すのであれば、いつまでもPythonをやるわけにはいかないのだ
0935デフォルトの名無しさん
垢版 |
2020/10/15(木) 10:28:30.45ID:kT759D1L
薄っぺらいポエムで草
何かって何だよw
0937デフォルトの名無しさん
垢版 |
2020/10/15(木) 11:58:57.57ID:Y3TTO3m8
>>933
効率が多少悪くなってもコードの意図が明確になるならそれでいい

上の例で言えば頭の中では8以下かどうかで場合分けして考えてるんだからまずそれをコードで表現すべき

意図が不明確になる最適化を施す必要があるならやればいいけどそれは自分の意図を表現できてから
0938デフォルトの名無しさん
垢版 |
2020/10/15(木) 12:09:17.92ID:3Edtkzo/
>>921
df = pd.DataFrame([['山田', 25],['鈴木', 35]], columns=['a', 'b'])
print(df)
df = pd.concat([df, pd.DataFrame([['佐藤', 45]], columns=df.columns)], axis=0)
print(df)
0939デフォルトの名無しさん
垢版 |
2020/10/15(木) 12:16:40.45ID:5I33QTSd
>>926
それって結局[1..100]を[[1..8],[9..16]..[..100]]ってリストのリストにしたいって事?
だったらそう書いた方が、forだけでコツコツする以外にも簡単な方法とか出るかも。

例えばスライス使うとか

a = list(range(1,101))
print(a[:8])

>[1,2,3,4,5,6,7,8]
0940デフォルトの名無しさん
垢版 |
2020/10/15(木) 12:25:57.64ID:3Edtkzo/
8以下と8以上でダブリが出るから元の仕様が間違ってると思うけど
[1]
[1,2]
[1,2,3]
[1,2,3,4]
[1,2,3,4,5]
[1,2,3,4,5,6]
[1,2,3,4,5,6,7]
[1,2,3,4,5,6,7,8]
[0,1,2,3,4,5,6,7]
[0,1,2,3,4,5,6,7]
...
[0,1,2,3,4,5,6,7]
って出力が欲しいのか?
0941デフォルトの名無しさん
垢版 |
2020/10/15(木) 12:47:32.06ID:Q2CG9qyT
最近、pythonを学び始めたのですが、どうもうまく行かないので
ご教授ください。

pandasでやや大きいdataframeがあり、そこの任意の位置にデータを書き込みたい
のですが、ilocのスライス指定で変数の計算がうまくいきません。

例)
g += 1
retu1 = i*6
retu2 = i+5
df.iloc[g,retu1:retu2] = [ 1,2,3,4,5 ]
~~~~~~~~~~~~~~~~~~~~~~
この行でValueErrorが出て止まる。
イメージとしてはforループの中で5個を横に次々に並べて行く感じです。
※1〜5は実際は変数です。

下記のように実数だとうまくいきます。
output_df.iloc[g,0:5] = [ 1,2,3,4,5 ]

なにか対処法あるでしょうか。

どうぞアドバイスをよろしくおねがいします。
0942デフォルトの名無しさん
垢版 |
2020/10/15(木) 13:04:28.07ID:3Edtkzo/
retu2 = retu1+5
0943デフォルトの名無しさん
垢版 |
2020/10/15(木) 13:19:29.92ID:V/i+KFJB
>>941
別にそこが変数だからエラーが起きてるわけじゃないだろ。
retu1とretu2の値をチェックしてみたら?
0944デフォルトの名無しさん
垢版 |
2020/10/15(木) 14:18:29.15ID:+lHmSCSK
ユニクロ人形構文

〈言語X〉は他人が作り上げた見た目の良さに縛られる
〈店舗〉で〈見本〉を指さして「あれと同じものください」と言ってるようなものだ

〈行為者〉でも間違う事はないし、〈行為〉を叩きこむにはちょうどよい

しかし、さらに〈曖昧な目標〉を目指すのであれば、いつまでも〈言語X〉をやるわけにはいかないのだ
0945デフォルトの名無しさん
垢版 |
2020/10/15(木) 16:54:45.14ID:Q2CG9qyT
>>942
>>943
ありがとうございます。
そうでした。retu1よりもretu2は5 大きくなければならないので
i+5ではだめですね。

なにか思い込んでいたようです。

無事前に進めました。ありがとうございました。
0952デフォルトの名無しさん
垢版 |
2020/10/15(木) 21:35:41.26ID:t5zJ0PK5
ブレークポイントは初心者には難しい(覚えた方がいいのはたしか)からprint()とdir()を駆使したほうがいい
0953デフォルトの名無しさん
垢版 |
2020/10/15(木) 21:39:14.53ID:hDJu8kS3
WindowsでtkinterのGUI作ってMacで動かしてみたら
レイアウトがグチャグチャになってるんだが
この原因てなに??
0954デフォルトの名無しさん
垢版 |
2020/10/15(木) 22:20:05.21ID:ovmpl9Ov
>>953
だいたいのところ、GUI表示に使うフォントが違うから
+Macはなんでもカドを丸めようとする
+最大化とか最小化とかのデフォ配置・縦横比が違う
0956デフォルトの名無しさん
垢版 |
2020/10/16(金) 00:56:01.47ID:CyAVt67w
Python環境のデバッグで何でdir なのかさっぱりわからない。
何を言いたいの? どんなふうに使ったらデバッグできるというの?
0957デフォルトの名無しさん
垢版 |
2020/10/16(金) 06:10:36.62ID:gZ39DCJs
>>956
初めにdirと書いたものじゃないし、デバッグとはちょっと違うとは思うけど、
ライブラリの使い方を調べるのに、
リファレンス読んでどんなメソッドがあるか解読するより、
戻ってきたオブジェクトをdirしてみた方が速いケースはよくある。
自分も書き始めのころはpythonのreplでdirしまくってた。
0958デフォルトの名無しさん
垢版 |
2020/10/16(金) 08:59:36.20ID:2i9War4e
親に言われてプログラミングスクールに入ったら平方根?とか覚えさせられるんだけど大丈夫?
やたら数学っぽい授業やるんだけど必要なくね?
0959デフォルトの名無しさん
垢版 |
2020/10/16(金) 09:33:41.17ID:iAmNdsxg
ぽいじゃなくて数学
コンピューター = 計算機
プログラムってのは計算機にどういう計算をするか書いたもの
文字列やファイル操作とかなら直接数字を弄ることは少ないけれど
プログラミングを学ぶなら数学は付いて回ると思っていい
0960デフォルトの名無しさん
垢版 |
2020/10/16(金) 09:52:37.35ID:hiR4Fq2K
>>958
平方根に?つけるということは、小学生か中学生くらい?
プログラミングをしたいなら学校の数学と英語はちゃんとやっておいた方がいいぞ。
0961デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:20:03.38ID:hP8hKOry
>>954
なるほど
ありがとう
0962デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:26:09.79ID:zJteNWK0
>>958
math.sqrt()的な話なら必要ない
数学的思考は必要だが数学そのものはプログラミングを学ぶには不要

O(log n)的な話なら必要
基礎として理解しておくとよい
0963デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:32:21.86ID:zJteNWK0
>>952
デバッガやREPLの使い方は
リファレンスの調べ方、エラーの見方と合わせて最初に身につけるべき三大重要スキル

printと違ってステップ実行することでプログラムの動きを視覚的につかみやすくなる
0964デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:38:40.59ID:P8/Oeovq
俺みたいに数学できないと、数学的知識や発想を使ったプログラムになると皆目わからない。
プログラミングが得意な人は基本数学も得意でしょ。
0966デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:53:14.06ID:3SfKc/fX
プログラミングスクールでやる数学なんて大したことやらないだろうし、そこまで身構える必要ないでしょ
0967デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:16:01.90ID:jRO02CLT
>>958
>>962
ニュートン法とかルンゲクッタやる流れだろ
知らんけど
0968デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:36:43.09ID:gZ39DCJs
math.sqrtと三角関数ぐらいは必要だろう
地図データとか使ってて距離や角度を計算するってよくあるし
数学に苦手意識持ってると出来る仕事の範囲が狭まるってのはほんとそうだと思うよ。
数学要らない仕事がほとんどだと思うけど、
誰でも出来る、代わりが効く仕事だからSESとかで1束いくらで値段つけられちゃうし。
0969デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:53:04.63ID:/poWTTfA
最近の高校生は
数学で行列を習わないな
0970デフォルトの名無しさん
垢版 |
2020/10/16(金) 12:16:08.77ID:4wnzZpYn
習う=覚えるとは違うので
世の中の半分は同じ授業を受けて1ミリも覚えてない理解できてないまま卒業してるよ
0971デフォルトの名無しさん
垢版 |
2020/10/16(金) 13:40:25.82ID:RKtFr9bS
三角関数の計算問題とか苦痛でしかないけど
テスト前のJKとか普通にこなしてるしな
後で忘れるんだろうけど
0972デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:07:40.62ID:2i9War4e
いや数学ならエクセルとかあるだろ
アプリを作りたいのに数学を覚えてる暇ない
0973デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:09:16.95ID:soxKUD38
プログラミングそのものを学ぶために必要な知識と
プログラムを使って解決したい問題領域の理解に必要な知識は別

汎用的に関数化されてるような数学知識よりもこの2つを区別できる基本的思考力のほうが遥かに重要
0975デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:58:48.06ID:hiR4Fq2K
>>974
pythonに限らずどんな言語だろうがプログラミングする上では意識すべきことだろ。
常識的な設計をすれば瞬間的に終わるようなものを、非効率なバカなロジックで書いて10秒待たされるようなことになれば、結果は間違っていなくても糞プログラムだよ。
0976デフォルトの名無しさん
垢版 |
2020/10/16(金) 15:02:42.43ID:hiR4Fq2K
補足。希にしか使わなくてその10秒が許容されるというのならそれでもいい。
ただ、高度な高速化なんてせずに普通にやれば速く動くはずのものを遅く動くようにしか書けなかったら、ダメプログラマだろう。
0977デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:22:52.11ID:xKOaU25R
forを行列計算に置き換えて高速化したとしても可読性下がったら意味なくない?
競プロならどんなに読み辛くても早ければ正義だけどさ
0978デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:35:36.42ID:gzagFIoh
機械学習、グラフィック、ゲーム、ロボット…
pythonがよく使われるユースケースに絞っても行列使わないとかありえないんだが
0979デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:44:15.12ID:hiR4Fq2K
>>977
for文でも速度的に問題なくてわざわざ可読性を下げるメリットがないケースは好きにfor文を使えばいい。
計算量の考慮が重要だと言うのは、何でもかんでも最速がベストという意味ではなく、速度要求と可読性その他の要件とをバランスよく考慮して適切な手法を選択するということだぞ。
0981デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:55:45.74ID:RKtFr9bS
ベクトルの内積求めるときに
わざわざ対角行列使ってると(たとえ0掛けてても)計算量増えないか?
dot積使った方が速くね?って思う
0982デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:56:52.34ID:gzagFIoh
>>980
     ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |
0984デフォルトの名無しさん
垢版 |
2020/10/16(金) 18:23:43.58ID:n8fCSc9i
>>977
数理的な素養のある人が見ればむしろ行列計算の方が可読性上がることもあるんじゃない
0985デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:00:19.85ID:iAmNdsxg
可読性()言う奴の半数はゴミコード書くドカタ
可読性ガー言っとけば読解力やら諸々能力低い自分が許されると思ってる
0987デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:44:29.70ID:dDrh0EkP
>>985
ドヤ顔で誰もメンテナンスできないゴミコード量産して自分だけはスマートなコードを書いていると思ってそう
0988デフォルトの名無しさん
垢版 |
2020/10/16(金) 21:55:17.39ID:gZ39DCJs
可読性と速さ、どっちを重要視したほうがいいかなんてのはどう考えてもケースバイケースで、正解なんか存在しない。
理系の研究者に弄ってもらうためのコードだったらforとかifの羅列よりも行列計算にまとめておいたほうがいいし、
かなりの疎行列を扱ってて行列計算だと全然速度出なくて困る場合は、速度アップを狙ってforループとかで書いたほうが良かったりもするし。

「アプリ側で速度向上なんてたかが知れてる」も明らかにケースに依る。

ベクトルの内積を計算するのに対角行列使う方法ってどんな方法なのか、興味あるので教えて欲しい。
たいてい行列計算って線形代数ライブラリを使って実装するし、線形代数ライブラリに
行列そのもの以外にベクトルもあって、ベクトルの内積、外積、ノルムぐらいは付いてるのが普通だし、
行列しかないライブラリでも、縦ベクトルをn行1列行列として作って、a.transpose() * bで計算するのがよくあるやり方じゃない?
0990デフォルトの名無しさん
垢版 |
2020/10/16(金) 23:23:38.38ID:gZ39DCJs
>>989
いや、それはそうなんだけどさ。
解析的に解くために行列にしたようなものだったら、
実際の数値計算では行列で扱う必要もない場合もあるわけで、
計算方法、実装方法を選ぶのは目的依存だから必ずしも一つの正解はないんじゃない、ということを言いたい。
RDBのテーブル設計で、テーブルを必ずしも正規化しきった形が実装の正解ではないのと同じで。
0991デフォルトの名無しさん
垢版 |
2020/10/17(土) 00:18:06.54ID:DkSylr6A
ていうかITの世界でも今や文系が牛耳ってるわけだし理系が土方なのは不変の真理なんじゃないか?
0992デフォルトの名無しさん
垢版 |
2020/10/17(土) 01:02:22.12ID:KQ9ROz6p
>>991
それはITという言葉を狭く捉えすぎか、理系という言葉を広く捉えすぎ。
別に理系信奉ではないんだけど、理系的アプローチでしか出来ないことってそれなりにあって、そのアプローチを出来る人材が不足しているのは恐らく間違いがない。
0993デフォルトの名無しさん
垢版 |
2020/10/17(土) 07:45:47.24ID:dPJ220D1
理系な学科を卒業したってだけで
いわゆる文系脳なヤツも相当数混ざってるからな・・・



可読性と速度でモメてるおまいら
ちょっとでも他人がわかりづらいかも?と感じたら
とりまコメントかけ
できればユニバーサル英語でかけ
おk!
0995デフォルトの名無しさん
垢版 |
2020/10/17(土) 11:50:33.93ID:0qFIP5N2
>>985
「可読性」に限らず
言い訳する人は行動パターンや結果が共通してるのが面白い
0996デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:01:15.96ID:Pewarzgb
df.loc[df['a'] == df['b'], 'flag'] = True

みたいな感じで

df['a'] == df['b']
df['c'] == df['d']

の2条件が成立したらflag=Trueとしたいです
なにかうまい方法ないでしょうか?
0997デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:18:40.58ID:Pewarzgb
>>996
すいません
単に&で条件つなぐだけですよね

andと&間違えてた・・・
複数言語でアプリ同時に作成するとこうなるアホ頭脳です
0998デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:19:57.11ID:/Ip3Dsod
and & && * 色々ある
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 50日 17時間 3分 40秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況