- 1 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 07:48:11.11 ID:vp8lzav70.net]
- !extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024 ↑スレ立てる毎に減るので、減ってたら3つに補充すること。 ・当スレにRubyのソースコード類を書くことを禁ず ・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止 ・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨 ・エラーを解決したいときは、かならず エラー文(勝手に省略orスクショうp等の横着禁止)と おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。 ★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、 ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止) ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Pythonオフィシャルサイト www.python.org/ ◇まとめwiki ttp://python.rdy.jp/ ●関連スレ● 自称初心者は↓へ 【まず1嫁】くだすれPython(超初心者用) その55 https://mevius.5ch.net/test/read.cgi/tech/1633070807/ 〇前スレ〇 Pythonのお勉強 Part65 https://mevius.5ch.net/test/read.cgi/tech/1621749112/ 次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった) VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
- 136 名前:デフォルトの名無しさん mailto:sage [2021/11/22(月) 23:21:46.71 ID:7Z6oy9Mm0.net]
- perlの // みたいなのは無いのかな
a // b はaがNoneでなければaを、Noneならばbを返す
- 137 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 00:17:52.93 ID:Ln8GWMq+0.net]
- >>120
Ruby では、and/or の遅延初期化をよく使う p a = a || 1 #=> aが未定義のnil で偽なので、右辺が評価されて1 a = 2 p a = a || 1 #=> aが真なので、短絡評価で2。右辺は評価されない p b = b && 1 #=> bが未定義のnilで偽なので、短絡評価でnil。右辺は評価されない b = 2 p b = b && 1 #=> bが真なので、右辺が評価されて1
- 138 名前:デフォルトの名無しさん [2021/11/23(火) 00:44:36.44 ID:xEN2JBOU0.net]
- >>136
それ x = a if a else b じゃね? なんか避けたいって言ってるやつ
- 139 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 01:00:51.66 ID:h5ckzt1c0.net]
- Noneかどうかで判定したいってこと
if a だと0でも空文字列でも偽だから曖昧になりがち if a is not None でぜんぜん困らんけどね
- 140 名前:デフォルトの名無しさん [2021/11/23(火) 02:02:18.19 ID:4MVUDnE90.net]
- ヌル合体とか欲しいよねPythonにも、
- 141 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 02:33:06.96 ID:bb25eqH30.net]
- PEP505は全く進展ないね
3.10には入ると思ってたけど
- 142 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 10:09:13.49 ID:OzyPSNUz0.net]
- 値が入っていることを想定しているけれど、想定外にNoneだった時の為のガード
みたいな使い方をしたいんだろうけど、 そういうのは明示的にifとかtryで書いた方がいいよな
- 143 名前:デフォルトの名無しさん [2021/11/23(火) 10:41:32.64 ID:iYWDXWdAM.net]
- むしろ気をつけないといけないのは、想定外にTrueになってしまうケースだ。
たとえば、昔のDjangoのUserモデルのis_authenticatedは、プロパティじゃなくてメソッドだった。
- 144 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 13:28:59.61 ID:Cd+od5Ii0.net]
- Noneも曖昧だからね
単なる未定義なのか空集合なのかエラーなのかNoneそのものなのか ディクショナリー検索等でNoneが帰って来る仕様だがどう扱うか
- 145 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 13:32:03.52 ID:KM4P0q2w0.net]
- 結局は>>143の言うとおりなんよ…
我々はすでに知ってるんよ、中身がNullかどうかに注目した結果 普通にコード書くだけでトライキャッチスパムになってしまうJavaとかいう言語を…
- 146 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 13:40:48.37 ID:OzyPSNUz0.net]
- エラーの情報をちゃんと持ってて、ずっと上流の呼び元までそれが伝わる言語あったな
なんだっけ 関数は引数に従って値を返します という前提で普通の言語は設計されているけど、 関数は引数に従って値を返します。返さないこともあります でないといけなかった
- 147 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 13:43:00.09 ID:x4PI0/Sq.net]
- fastAPIのルーティングでデコレータ使わずに
app.add_api_route("/hoge", hoge, methods=["GET","POST"]) な感じで分離してやってみたけど、各リクエストメソッドでバリデーションが異なる時に躓いた このまま共通のhogeだと互いのバリデーションclassが422 Unprocessable Entityを引き起こしてしまうので app.add_api_route("/hoge", hoge, methods=["GET"]) app.add_api_route("/hoge", hogePost, methods=["POST"]) みたいにして新たにhogePost追加するという書き方に。 かと言ってデコレータ使うと @app.get("/hoge") def hoge(): @app.post("/hoge") def hoge(): みたいにせっかくのルーティングの分離管理が二度手間かつ無駄に というジレンマ デコレータ使わない場合 >新たにhogePost追加する というのが無難なのだろうか・・
- 148 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 15:02:56.49 ID:Vfqk4Xs70.net]
- validator 内で GET/POST 区別したら?
- 149 名前:デフォルトの名無しさん [2021/11/23(火) 15:18:14.11 ID:nqaaqo53M.net]
- app.add_api_route("/hoge", hoge, methods=["GET"])
app.add_api_route("/hoge", hogePost, methods=["POST"]) これでいいんじゃね。関数として分けておけば、 validatorもデコレータ(ファクトリ)にしてみたり、いろいろ柔軟にできる。 @validate('GET') def hoge() @validate('POST') def hogePost()
- 150 名前:デフォルトの名無しさん mailto:sage [2021/11/23(火) 16:09:24.71 ID:x4PI0/Sq.net]
- >>148
今はpydanticなvalidor使ってるけどクラス変数の評価前に区別する方法があったりするのだろうか >>149 うんとりあえずはそんな感じでリクエストメソッド分だけ用意することにした d
- 151 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 00:31:29.22 ID:9nGxCHAd0.net]
- ★★★★★
会話をすればポイントが増えてアイテムを買える。 次世代の大型掲示板、メルプラネット。 https://merpla.net/boards/
- 152 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 04:45:08.04 ID:ZcuSX9hJ0.net]
- >>144
かと言って最初からOption型やmaybeモナドでライブラリ構成されてもウザいしね
- 153 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 15:08:35.99 ID:lCK/bdd80.net]
- 名前と数値がセットになったような内容を扱う時、
セットにしただけのclass作る?
- 154 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 18:01:26.90 .net]
- キーと値がセットになった各値をどう扱うかによって
インスタンス化するか、辞書にとどめておくか、ライブラリ使うか 変えるかなぁ
- 155 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 21:37:03.97 ID:YZcLPgmZ0.net]
- >>153
自分だけしか使わないならダラダラ書くけど 引き継ぐ可能性がある場合はクラスにしといた方がメンテしやすいんじゃないかと思ってる
- 156 名前:デフォルトの名無しさん mailto:sage [2021/11/24(水) 22:14:50.32 ID:lCK/bdd80.net]
- リファクタリングの本読んでて、オブジェクト指向の初心者は
小さなオブジェクトを使うのを嫌がる的なことが書いてあって、そんなもんかなと
- 157 名前:デフォルトの名無しさん [2021/11/24(水) 22:49:34.83 ID:Ph9UZvc+0.net]
- 通常そういうデータってどっかのクラスのメンバ変数で辞書かnamed tupleじゃねえか?
keys:names のみのクラスってどういう状況であり得る?
- 158 名前:デフォルトの名無しさん [2021/11/25(木) 00:14:54.89 ID:Mg+a9DvFa.net]
- 集計目的ならdefaultdict
- 159 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 06:32:01.73 ID:kAK1JHHz0.net]
- >>157
通常と言われてもなあ
- 160 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 07:36:38.15 ID:1AK1NI0N0.net]
- ただの名前であってキーとは言ってない
重複のない保証はない name[i]とval[i]で管理したいところ valでソートをかける classにせずとも余裕でやれる やれるけど?
- 161 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 07:55:54.60 ID:wc50HyKuM.net]
- ただの名前をキーと言う奴はもれなくアホだと思う
- 162 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 09:04:00.52 ID:kAK1JHHz0.net]
- >>160
じゃあその組を管理するRDB風のクラスがいいんじゃないの? #セットという言葉の使い方が気になる
- 163 名前:デフォルトの名無しさん mailto:sage [2021/11/25(木) 09:23:53.44 ID:1AK1NI0N0.net]
- いいんじゃない、の加減なんだよな
しなければならない / 是非するべき / した方がいい / しなくてもいい / しない方がいい / しない そのへんの温度感が経験で違うのだろう
- 164 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 20:45:55.13 ID:wc7annti0.net]
- urlopen()をwithで取得してwithを抜けると何が起きるの?
- 165 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 20:48:58.06 ID:s3jo07500.net]
- シメられる
- 166 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 22:16:46.96 ID:nRTAMUqI0.net]
- https://docs.python.org/ja/3/library/urllib.request.html#urllib.request.urlopen
> HTTP および HTTPS URL の場合、この関数は、わずかに修正された http.client.HTTPResponse オブジェクトを返します。 class HTTPResponse(io.BufferedIOBase) で__exit__()はオーバーライドされてないから受信データにアクセスできなくなるだけ。 意図してる通りだろうけど > より高水準のHTTPクライアントインターフェースとして Requestsパッケージ がお奨めです。 だし、説明が追加されることはなさそう。
- 167 名前:デフォルトの名無しさん mailto:sage [2021/11/26(金) 22:30:51.87 ID:wc7annti0.net]
- 何かのリソースが自動で開放されるとかではないのか
- 168 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 18:48:32.12 ID:Ce5RxaUa0.net]
- pygameってみんな使ってないのか?
せっかく二冊ほど読み終えたのに動かそうと思ったら 3.8じゃうごかないとか言われて途方に暮れてるんだが・・・ すなおにゲームはunityつかえってことか・・・・
- 169 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 19:23:42.37 ID:QJDif1Cg0.net]
- ?
- 170 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 19:29:31.81 ID:IgXLbzKoM.net]
- >>168
たくさんあるから Python ゲームエンジン で検索して目的に適してるのを選べ
- 171 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 19:45:13.67 ID:JJsR/G8Z0.net]
- pygameでmidiが取り扱えるんだよな
ハノン弾いてリアルタイムで正確さを表示したら面白いと思って ずっと前に作りかけて放り出してある 今ならすぐ作れそう
- 172 名前:デフォルトの名無しさん mailto:sage [2021/11/27(土) 19:54:52.11 ID:i0YnXTZB0.net]
- pygame、3.8.10で動くけど?
- 173 名前:デフォルトの名無しさん [2021/11/27(土) 23:14:16.59 ID:bPwHecSK0.net]
- pygame2やれ
- 174 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 00:16:01.67 ID:0Kkbs8iXM.net]
- >>173
公式によれば3.9も ただメインテナンスはやや停滞なんかね
- 175 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 00:55:05.96 ID:YY1hk1pY0.net]
- 色々試したらうごいたわありがとう
レースゲーム動かせるわ
- 176 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 00:55:37.48 ID:YY1hk1pY0.net]
- 普通にpipでいけたよ
- 177 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 09:18:19.48 ID:swBDA3nq0.net]
- Pythonエンジニア認定試験のことってここでも大丈夫ですか?
- 178 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 09:26:25.30 ID:6NVlX2It0.net]
- pythonが使いこなせるかどうかの能力なんて、
各種ライブラリのことをどこまで知ってるかだからなあ 言語仕様の部分はすぐに全員カンストするから差が出ない 標準ライブラリに限定して問題作ると、もっと便利な方法があって現実的でなくなる
- 179 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 09:39:22.33 ID:o94Sh6rb0.net]
- そうだね
そもそもpython自体は簡単だし ライブラリを使いこなす知識の方が重要だよね 認定試験無いよりはマシだろうけど 認知度が低いから結局試験の内容を説明しないとイケないんだよな 情弱処理持ってる方が話は早い
- 180 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 09:46:54.78 ID:6+AWQcj90.net]
- >>177
とりあえず質問してみたら?
- 181 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 14:43:59.37 ID:6NVlX2It0.net]
- 改行区切りで書かれたファイルがあって、これを改行無しでリストに読み込みたい
そして、リストを改行区切り形式でファイルに書き出したい 内包表記で改行を削って、書く時にはjoinで改行付けるとかすればできるけど、 もう一段スマートにやれないかな
- 182 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 16:14:46.54 ID:TzUvGqBa0.net]
- フツーにforで回してprintするだけじゃん
- 183 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 16:22:25.89 ID:6NVlX2It0.net]
- 読み込み側は、
f.read().splitlines() ですっきり書けた この逆をする関数があればいい リストの各要素を改行で区切って文字列に変換するような関数 ってそれは単にjoinの特殊ケースに過ぎないから、無いのも頷ける
- 184 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 17:25:05.50 ID:/1mvnnK50.net]
- 頭悪そー
- 185 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 17:39:15.04 ID:6NVlX2It0.net]
- あるべき姿はpickle
でもテキストエディタでも開きたいので、jsonとかyamlとか それでも編集しにくいので、どうせリストだしと改行区切りまで落とすと、 スマートな手段が無くなる
- 186 名前:デフォルトの名無しさん [2021/11/28(日) 17:57:10.63 ID:9rjB7eJM0.net]
- 自分でjsonEditor作るのは面白いよ。中級クラスのレベルかな。
データも list >> dict >> dict >> list >> list >> dict >>int 見たいにnest構造になってるから編集しようとすると、そこそこ扱いも難しいし。 画面構成から考えれば、いい練習問題になるよ。
- 187 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 19:57:15.81 ID:Wh0Bw3X30.net]
- >>180
ありがとうございます! Pythonエンジニア基礎認定試験を受けようと思うのですが、 スッキリわかるPython入門を導入書として使ってからPythonチュートリアルをしようと思うのですが、同じように勉強して合格された方はいますか?
- 188 名前:デフォルトの名無しさん [2021/11/28(日) 21:05:28.72 ID:jvvYPFKj0.net]
- > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw クソチョンはウンコを食べる糞食人種w ゲリ便をじゅるじゅると うまそうに食ってるw
- 189 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 23:19:25.63 ID:SJI7MgMY0.net]
- >>181
Ruby なら、配列を出力するだけで、改行区切りになるけど ary = [ "ab", 1 ] puts ary 出力 ab 1
- 190 名前:デフォルトの名無しさん mailto:sage [2021/11/28(日) 23:28:07.54 ID:6NVlX2It0.net]
- perlだとこんな感じ
デフォルトはスペース区切りなので改行に変更 @a = (ab, 1); $" = "\n"; print "@a";
- 191 名前:デフォルトの名無しさん [2021/11/29(月) 02:28:05.31 ID:Tbj9SxrO0.net]
- >>181
writelines()じゃね? https://techacademy.jp/magazine/28281
- 192 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 06:26:32.46 ID:8tyLAOgdM.net]
- >>191
writelines(lines) 行区切り文字は追加されないので、書き込む各行の行末に行区切り文字を含ませるのが一般的です。 https://docs.python.org/ja/3/library/io.html って書いてあるからダメでしょ そもそもそのリンク先 text = [ "メロンn", "イチゴn", "みかんn", "スイカn", "ぶどうn" ] なんて書いてる時点で信用できない
- 193 名前:デフォルトの名無しさん [2021/11/29(月) 09:20:02.45 ID:LowbA3aSH.net]
- テックアカデミー(笑)
- 194 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 09:26:34.67 ID:LcIxau/K0.net]
- pythonの裾野の広さを感じさせてくれるサイトだよな
- 195 名前:デフォルトの名無しさん [2021/11/29(月) 11:03:42.15 ID:uzcK9QD5a.net]
- Perlの文法も気持ち悪いな。
シェルスクリプトかよ。 Pythonのやり方はJavaかC++からの輸入だな。
- 196 名前:デフォルトの名無しさん [2021/11/29(月) 11:04:55.76 ID:Tbj9SxrO0.net]
- >>192
ダメじゃねえかwすまんこ
- 197 名前:デフォルトの名無しさん [2021/11/29(月) 11:29:59.53 ID:FdW61dzG0.net]
- >>193
クソのくせにやたら検索に引っかかってくるからウザイ
- 198 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 11:37:52.94 ID:pAg5RKMOd.net]
- テックアカデミーと侍は中学生に書き直させた方がまだ読めるようになるレベルのゴミ
- 199 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 11:46:02.57 ID:FVbxGJ7fM.net]
- readlinesやwritelinesで改行コードを扱う方法を提供しないのがPythonクオリティー
テックアカデミーをバカにできない
- 200 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 12:00:17.47 ID:7wd93ooE0.net]
- 日本語の技術サイトはろくなのがない印象
Pythonに限らないけど
- 201 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 12:04:08.22 ID:pAg5RKMOd.net]
- 昔はインスタントPython、インスタントハッキングがjpy公式にあったから
そこで初心者は学習できた あと結局pythonは公式ドキュメントとライブラリーリファレンス読み込むことで大抵の問題は解決する 個人的な問題を解決したかったらそれなりにキャリアのある個人ブログ探すのが安定する
- 202 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 12:16:52.32 ID:BKJFnTwg0.net]
- >>195
Perlはシェルスクリプトの置き換えが目的そのもので順当 PythonはLuaのようなアプリ内スクリプティングな応用が当初多かったし 記述が簡便なのが特徴じゃない?なんで所々厳格でなくて歪なのが残念な点 というかJavaとは同世代だし
- 203 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 23:18:44.84 ID:f/Sm4Tcj0.net]
- Python は、改行コードがめちゃめちゃ難しい。
global newline みたいに自動的に、OS に合わせて変換してくれる、機能はないのか? Ruby では簡単なのに
- 204 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 23:25:16.24 ID:LcIxau/K0.net]
- 入力はどんな改行が来てもちゃんと読んで、
出力は今動いてる処理系に合わせて出力すれば、それで問題ないのでは
- 205 名前:デフォルトの名無しさん mailto:sage [2021/11/29(月) 23:33:33.84 ID:BKJFnTwg0.net]
- コード上改行はLFで統一できてる。
何も指定せずテキストモードでopenしたらCRLF→LFの変換はしてくるし Windowsコンソールに出力したらLF→CRLFも透過的に行う。 バイトストリーム用にos.linesepも用意されてる。
- 206 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:02:42.47 ID:uWG/s7m50.net]
- \nってCRLFのことだと思ってた
- 207 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:03:41.68 ID:1Yo8WetK0.net]
- 円得ぬ
- 208 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:04:10.45 ID:TlXezoe70.net]
- どなたか
>>187 をおねがいします!
- 209 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:24:38.24 ID:uWG/s7m50.net]
- まともな検定だったら、本だけ読んで通ると思えない
- 210 名前:デフォルトの名無しさん [2021/11/30(火) 06:39:04.04 ID:oWvAOz19M.net]
- >>205
自動なのがかえってめんどくさい。
- 211 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:49:20.24 ID:uD8YTZMG0.net]
- >>208
いますよ
- 212 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 06:52:03.48 ID:uPKcxb4Vd.net]
- >>211
ありがとうございます! Pythonチュートリアルを読む前の参考書はどんなのを使われました?
- 213 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 07:02:57.59 ID:uD8YTZMG0.net]
- >>212
ダラダラ質問小出しにされるのはウザいのでまとめて
- 214 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 07:09:37.62 ID:uWG/s7m50.net]
- インタプリタなので仕方ない
- 215 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 07:17:14.56 ID:uD8YTZMG0.net]
- じゃぁリストかタプルでちょうだい
- 216 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 07:35:53.88 ID:uWG/s7m50.net]
- なんでリストが[]でタプルが()なんだろうな
一番使うものが一番普通な方が収まりがいいのに 辞書が{}なのも、別に[]を使っても中にkey:valがあったら辞書と判るのに 中身が無い時に区別付かないけど、そのくらい何とかなるだろ
- 217 名前:デフォルトの名無しさん [2021/11/30(火) 08:13:31.92 ID:JFviu3vk0.net]
- 確かに辞書とsetは同じ{}だしな
- 218 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 08:51:28.65 ID:XgdAJwDY0.net]
- >>207
'\n'がlength 1 string objectであると理解できてないのではないか またCの'\n'も理解できてないのではないか 逆にCでのstrlen(”\n")の値とか
- 219 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 08:59:45.37 ID:XgdAJwDY0.net]
- >>217
これまでの言語の慣習に合わせただけでは? またそれは重要だろう
- 220 名前:デフォルトの名無しさん [2021/11/30(火) 09:29:09.44 ID:BeJPAIX2r.net]
- >>216
タプルは()、は少し違うな 正確にはカンマがタプルを生成する a=1,2 もタプルになるから
- 221 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 09:39:37.84 ID:uWG/s7m50.net]
- [1,2]は?
- 222 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 09:44:19.36 ID:aruulzL70.net]
- >>212
みんなの
- 223 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 09:56:24.48 ID:kiCF8ukr0.net]
- 受験料高いのね
落ちたらまた受ければいいやんと思ってた Python 3 エンジニア認定基礎試験 一般価格 11,000円(税込) 学割価格 5,500円(税込)
- 224 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 10:11:17.27 ID:H2NDp+pi0.net]
- 会社から報奨金でもでんかぎり勉強だけして試験受けないのも手
分野にもよるがまだAWS/GCPの認定や情報処理とったほうがまし
- 225 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 10:38:38.92 ID:aruulzL70.net]
- 取れるなら取っとくのがいい
- 226 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 11:14:18.22 ID:kiCF8ukr0.net]
- 認定で得られるメリット > 受験料
ってこと?
- 227 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 11:18:02.71 ID:PY+WseMod.net]
- java金とかオラマスよりは良心的
しかし内容によるな
- 228 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 11:32:23.65 ID:aruulzL70.net]
- 取る/取らないで悩むことがなくなる。それだけ
- 229 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 11:48:15.66 ID:QYuq9tUEM.net]
- netmikoというライブラリを使って
ネットワーク機器のログを定期的に取るようにしてるんだけど、 そのログの任意の行にある値が閾値を越えたらslackに通知させる 仕組みを作りたいんだ。 どっか参考にできるサイトない?
- 230 名前:デフォルトの名無しさん [2021/11/30(火) 13:06:16.43 ID:q2Lbl4Ky0.net]
- pyエンジニア試験はゴミだぞ
古典的な教本商売。無価値 名札が欲しい、とか、仕事で言われたとかなら仕方ないけど
- 231 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 13:18:14.78 ID:uWG/s7m50.net]
- E501 line too long ってちゃんと直してる?
- 232 名前:デフォルトの名無しさん [2021/11/30(火) 13:39:36.66 ID:OYiX8qDe0.net]
- 応用技術者試験って意味ありますか?
昔受験して一応合格したのですが、あんな試験にパスしたからといって、実務には全く役に立ちそうにありません。 IT関連の実務は経験したことがありません。
- 233 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 13:54:40.00 ID:kiCF8ukr0.net]
- >>232
ド素人でないことの証明にはなる 資格欄に書いた方がいい
- 234 名前:デフォルトの名無しさん [2021/11/30(火) 14:02:00.50 ID:6g3UGVsgH.net]
- 実務経験ないのに実務に役立ちそうにありません、とな
もう少し考えてから釣り糸たらせよボンクラ
- 235 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 14:07:37.43 ID:OYiX8qDe0.net]
- 例えば、ネットワーク関連の問題が応用情報技術者試験には出題されます。
ネットワークをいじったことすらありませんが、試験の問題は簡単に解くことができます。
- 236 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 14:28:57.07 ID:PY+WseMod.net]
- >>234
人売りのシャチョさんこええw 使えねぇもんは使えねぇんだわ
- 237 名前:デフォルトの名無しさん [2021/11/30(火) 15:02:04.18 ID:TfmLZpQ00.net]
- youtubeでラズパイをpythonで制御できる。って動画をみて面白うそうだなって思ったけど。。
真剣に考えるとやることがないww LEDをフラッシュさせてもしょうがないしねw
- 238 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 16:29:17.49 ID:PY+WseMod.net]
- ラズパイ買うときはセンサも買え
なんでもいいからいくつかの種類買っとけ
- 239 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 16:44:07.81 ID:EQaczNMQ0.net]
- LEDをフラッシュ楽しいじゃん
- 240 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 17:02:52.22 ID:jOio/b0h0.net]
- >>238
ちっちゃいモニターもな これがあるとないじゃ全然違う
- 241 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 17:19:13.85 ID:5Q9goXwA0.net]
- 普通は受かるんだろう
- 242 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 18:21:51.55 ID:kiCF8ukr0.net]
- 世の中には頭の悪い人がたくさんいる
・簡単な計算ができない ・文書が理解できない 応用情報だけでもヤバイ人達との差別化にはなる
- 243 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 20:49:57.78 ID:jJXnE01Z0.net]
- >>229
slack webhook requestsで検索するとヒントが出てきそう
- 244 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 20:51:58.08 ID:Yy84c4aHa.net]
- >>242
それはあるかも 考える事が出来ない人って結構いるんだなと仕事し始めてから知った
- 245 名前:デフォルトの名無しさん [2021/11/30(火) 21:08:34.16 ID:JFviu3vk0.net]
- 「半分の人間は中央値以下」
バカみたいな文だが忘れがち
- 246 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 21:11:58.36 ID:uWG/s7m50.net]
- 中央値ってなに?
- 247 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:08:35.06 ID:NQxcoDS50.net]
- 順番に並べた時に一番真ん中の値
- 248 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:10:40.94 ID:uWG/s7m50.net]
- 「半分の人間は平均値以下」
と言っとけば、なるほどなーうまいこと言うな と評価を得られたものを、厳密さに拘って機会を逃す
- 249 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:12:15.69 ID:NQxcoDS50.net]
- 半分の人間が平均値以下とは限らないぞ少し頭使えw
- 250 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:16:13.42 ID:5tXmj9hK0.net]
- 中央値知らない人だから仕方ない
- 251 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:37:05.55 ID:NQxcoDS50.net]
- まさに中央値以下側の人間だなw
- 252 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:46:36.86 ID:uWG/s7m50.net]
- あんまり統計的に意味がある数字じゃないよな
平均値を避けるということは標準偏差ではないと判ってるんだから、 歪度とかの情報も無いと乱暴すぎる
- 253 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:52:42.79 ID:Vh3EpRff0.net]
- 上から埋まっていく分野では重要
- 254 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 22:54:30.10 ID:5Q9goXwA0.net]
- 釣鐘状の分布していないときに重要
- 255 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 23:07:37.57 ID:n7GuuI4Q0.net]
- 平均値でも中央値でもいいけど
そのレベルの人の能力が分からないので そもそも議論にならない
- 256 名前:デフォルトの名無しさん mailto:sage [2021/11/30(火) 23:30:12.90 ID:5Q9goXwA0.net]
- 別に議論に加わらなくても良いですよ
- 257 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 00:32:10.74 ID:cGPzHP040.net]
- 統計検定3級おすすめ
データ分析の議論に参加できる最低ラインの保証になる
- 258 名前:デフォルトの名無しさん [2021/12/01(水) 00:42:15.22 ID:X46if3HQ0.net]
- >>252
ロバスト統計ってご存知無い?
- 259 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 01:33:15.78 ID:J8+WBzZ00.net]
- 山本太郎の「れいわ」が躍進したのは、
25年の自公政権で、所得の中央値が108万円低下したことを、暴いたから 世界中で全体未聞の、GDP が上がらなかった国。 ほぼ全員を貧乏にした与党 消費税のほとんどが、福祉に使われなかった。 法人税の穴埋めに使われた でも、こういう事を知らないから、選挙では自公が圧勝する
- 260 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 02:17:03.28 ID:6ah9oYXi0.net]
- >>252
中央値なんて中学校の数学で習うもの知らないやつが >あんまり統計的に意味がある数字じゃないよな は草
- 261 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 03:17:11.02 ID:+DdWHpjG0.net]
- >>259
よくわからん 知ったのか知らないのかはっきりしなよ あとスレ違いだからよそでやって
- 262 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 09:34:10.31 ID:pw8MGucb0.net]
- 配列の範囲外を参照したら0を返してくれたら楽に書ける
初期化してない変数は0や空文字だとしたい そういうのは許さないのがpythonの思想なんだろうけど、 クラスライブラリとか、「よく判らんけどいい感じにやってくれる」に満ち溢れてると思うんだよな
- 263 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 09:49:40.77 ID:kOoI/dimd.net]
- さすがに初期化してないのに0で返ってきたら違和感ありすぎる
その0どこのやつやねん
- 264 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 09:53:13.32 ID:jmLWjGmX0.net]
- listを継承したsafelistでも作ってsafelist.get()すればいい
- 265 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 10:43:06.24 ID:cGPzHP040.net]
- numpy.zeros(m, n) じゃダメなのか
sparsityによるけど
- 266 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 10:53:16.07 ID:kOoI/dimd.net]
- なんていうか、出来るからといって
何でもやっていいわけではないよな…? 型宣言して型無視したり、変数名と全然違う振る舞いのコードもかけるけど やっていいかどうかを現場で議論してるんだよな?
- 267 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 11:08:20.51 ID:+DQyoA+ZD.net]
- >>248
「半分の人間は平均値以下」 この命題は偽だぞ 90,80,85,30 この4つの数値の平均は71.25 平均値以下は1つ
- 268 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 11:13:00.90 ID:+DQyoA+ZD.net]
- 中央値に意味が無いと言えるのは中央値と平均値の乖離が小さい場合くらいで、
そんな状況はほぼない 日本全体の平均年収が436万円であるのに対して、日本全体の年収の中央値は370万円 これの意味分かるか?
- 269 名前:デフォルトの名無しさん [2021/12/01(水) 11:49:03.99 ID:kM+Jjoc8M.net]
- > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw クソチョンはウンコを食べる糞食人種w 朝鮮人はゲリ便をじゅるじゅると うまそうに食うw
- 270 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 12:03:11.43 ID:Qw3lWQwKr.net]
- >>259
Ruby氏は政治も語るのか 自分でRailsサーバー建ててそこでやってくれ ここの本来の住人がやると、Djangoで作る
- 271 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 12:29:23.91 ID:Jc7L6V7f0.net]
- 統計は正しく使わないと意味のある結果を導き出せない
知らないで使えば無知だが 知ってて使わないのは詐欺だ
- 272 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 13:20:47.75 ID:kQMiQMSXa.net]
- お前らほんとフワフワした話しかしねーのな
- 273 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 13:51:51.48 ID:UViZzx3L0.net]
- バシッとお願いしやす
- 274 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 14:00:04.80 ID:kOoI/dimd.net]
- Noneをゼロでキャッチするガイジは死ね
- 275 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 17:08:27.52 ID:cGPzHP040.net]
- 「意味がない」「正しい」
会社でこんな曖昧な表現使ってる人見たことないわ
- 276 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 17:48:31.00 ID:CUbfchye0.net]
- >>263
DSPとかの飽和モードってそんなんだから まぁ需要はあるんじゃね? アセンブラ以外で実装した言語を見た事が無いから実装はされないと思うけど
- 277 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 18:05:55.99 ID:AaatEAJta.net]
- 配列はみ出してるのにそのまま処理続行されるとか悪夢でしか無い
- 278 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 20:10:29.91 ID:lzZen0h80.net]
- 世の中には3種類の人間がいる
数を数えられる人間と、数を数えられない人間だ
- 279 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 20:15:58.72 ID:pw8MGucb0.net]
- モンティ・パイソンのスペイン宗教裁判
NOBODY expects the Spanish Inquisition! Our chief weapon is surprise...surprise and fear. 単数で始めたのにandで繋げてしまって文法が破綻する、という部分が面白いのに、なかなか伝わらない Our two weapons are fear and surprise...and ruthless efficiency. 言い直して複数形にしたけど、わざわざtwoを付けて3つ言うという部分はもはや惰性
- 280 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 20:22:16.08 ID:vhG+/afG0.net]
- まったくわからない
- 281 名前:デフォルトの名無しさん mailto:sage [2021/12/01(水) 22:31:02.94 ID:toM1ybPg0.net]
- >>252
標準偏差→正規分布、の間違い? 結構統計や確率分布も勉強すると面白いよ。 積率母関数はラプラス変換で、特性関数はフーリエ変換とかね。
- 282 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 02:22:32.97 ID:hQPCDoBz0.net]
- >>263
バカは書き込まないで
- 283 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 10:12:40.87 ID:ItDkB8ePd.net]
- どうせJavaScriptでへんな自信付けてココに迷いこんだ口なだろうけどな
- 284 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 16:31:50.86 ID:MTUgHWqu0.net]
- Pythonプログラマは年収が高いから魅力的なのかもな
- 285 名前:デフォルトの名無しさん [2021/12/02(木) 17:15:47.74 ID:OJ+Rt/5p0.net]
- Pythonを使った機械学習の本を読んでいます。
仮想環境を使うことを強く推奨すると書いてあります。 いままで、AnacondaのPythonを使ってきましたが、仮想環境を一切使ってきませんでした。 今から、仮想環境を作ってそれを使っても何も問題はないですか?
- 286 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 17:23:53.03 ID:Z+Ui9JYG0.net]
- ライブラリのバージョンやらで混乱するくらいなら、最初から専用環境作れということでしょ
そっちのがめんどくさいと思うけど、仕事なら仕方ない
- 287 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 17:29:59.68 ID:OJ+Rt/5p0.net]
- >>286
ありがとうございます。 趣味でやっているだけなので、必要性が実感できません。 仮想環境を作るとしても結局、最新のライブラリを使っていくだけになるのは目に見えています。
- 288 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 18:42:51.17 ID:wokKeEK2a.net]
- 趣味なら自分で必要になってから考えたらいいんじゃね
- 289 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 18:48:50.53 ID:OJ+Rt/5p0.net]
- >>288
そうすることにします。ありがとうございました。
- 290 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 19:45:26.75 ID:KxC58LYE0.net]
- >>284
因果関係がおかしいんだけどな。 プログラミングスキル以外が高い人(たとえは科学技術スキルやデータサイエンススキル)が、参入障壁が低いpythonに群がってるだけであって、pythonだけできたって仕方ない。 OpenCV,TensorFlow,Pytorch,jax,scipy,sclkit-learn,numpy,pandasあたりが使える人が年収高いというだけで、 それはPythonだけできても使える話ではない。 RDBや数学、統計の知識が必要なのだから。
- 291 名前:デフォルトの名無しさん mailto:sage [2021/12/02(木) 19:52:09.42 ID:Z+Ui9JYG0.net]
- 稼いでる人はGoを使ってる
- 292 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 07:16:52.31 ID:9BdS8doY0.net]
- マルチコアを活かしてくれないツールを高速化する為に、
複数を非同期で同時に走らせたい ただ、無制限に subprocess.Popen すると負荷が100%に張り付いてやばいので、 同時起動数の上限を設定したい で、まあpoll()がNoneかどうか見ながらsleepしながらで動くんだけど、 同じことをやりたいケースがちょこちょこあるので、自前ライブラリ化を考える でも、そんなもんは既に誰か作ってるのでは? という気がするんだけど、どっかにある?
- 293 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 08:38:51.44 ID:mlmp5wts0.net]
- オーバーヘッドを気にしないなら
multiprocessing.pool.Poolで任意サイズのプロセスプールを作ってそこからPopenする threadingにも用意して欲しいんだが, 残念ながら無い あとFutureでよければThreadPoolExecutorもワーカー数を指定できる こちらはスレッドベースだ
- 294 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 09:23:02.26 ID:9BdS8doY0.net]
- やっぱりそのへんになるよね
たすきに長すぎな感じで、そこまで高度なことをしたい訳でもない IOがネックになるからそこで詰まらないように並列処理したら効率的になるだろう、という思想だけど、 もっと原始的な、4コアあるのに1コアしか使ってないじゃんというレベルで、ネックの場所が違う
- 295 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 11:23:24.64 ID:7z17o3pC0.net]
- GNU Parallelとか
- 296 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 14:38:02.37 ID:gYFV44kc0.net]
- ProcessPoolExecutor?
- 297 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 16:07:39.39 ID:9BdS8doY0.net]
- 100個のファイルに処理1を実行して、次に処理2を実行して、という場合、
並列でやるとしても処理1が全て完了してから処理2に取り掛かった方が安全で、 それは割と簡単にできる 処理順の依存関係まで指定してえいやっと全部一気に渡すと、済んだ人はどんどん先に進める方式だと、 効率最大でやってる内容は魔法みたいになる キューに入れてもいいタイミングはユーザが判断してね方式だと、そんな怖いことはやりたくない このへんの技術はとっくに枯れてる訳でもなくて、pythonのバージョンが上がるにつれて よりシンプルに書けるようになってるっぽいので、いちばんいけてる奴だけ使いたい
- 298 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 16:50:15.61 ID:MOk0xQBVd.net]
- >>297
よくわからんけど機械学習系のタスク管理ライブラリを当たってみるのがいいのでは
- 299 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 16:52:43.40 ID:oOU/CY6L0.net]
- >>297
>並列でやるとしても処理1が全て完了してから処理2に取り掛かった方が安全で、 なんで安全なの? ファイル間に依存性があるのかな?
- 300 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 19:20:43.02 ID:TcDlgZdP0.net]
- 使いこなせないから知らないけど
非同期処理ときたらasyncioじゃないの?
- 301 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 20:06:27.61 ID:ilrP3hOYa.net]
- 管理面倒だからそいうのはcelery使ってるわ
- 302 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 20:13:17.59 ID:d1yD6wdJM.net]
- キューが空いたら依存関係見て依存してる処理が全部終わってる処理を検索してキューに入れるだけだろ
枯れてないとか意味わからん
- 303 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 21:05:26.85 ID:9BdS8doY0.net]
- 依存関係はケースバイケースすぎて処理1と処理2が終わってないと処理3ができない、
みたいなのは p3(p1(), p2()) みたいに引数の関係で書いて、それがうまい具合に遅延して評価されればいい その時点で結構凄いことだけど、処理10まであって、 p10(p9(p8(p7(p6(p5(p4(p3(p2(p1( って書くのかと思うと、それも嫌 そのへんは既に解決済みでもっとかっこよく書けるらしいけど、理解できてない
- 304 名前:デフォルトの名無しさん mailto:sage [2021/12/03(金) 21:31:34.82 ID:nYt0d+Tj0.net]
- 記述は依存している隣同士の関係だけでいいやん
それを動的に解釈していくか全展開するかはプログラムの中の話
- 305 名前:デフォルトの名無しさん mailto:sage [2021/12/04(土) 13:56:24.80 ID:OXNHy6KQ0.net]
- デフォルトは自動で0になってて欲しい系の代表は defaultdict だな
pythonをperl化してしまう悪魔のモジュール いわゆるautovivification 声に出して読みたいプログラミング用語
- 306 名前:デフォルトの名無しさん mailto:sage [2021/12/04(土) 14:43:09.92 ID:clmSwDt/0.net]
- defaultdict()
引数なしで0はドキュメンテーション上ひどいけど defaultdict(0) callableじゃない引数ならcopy()する動作でもとは思う
- 307 名前:デフォルトの名無しさん [2021/12/05(日) 22:33:04.61 ID:69iYFx7F0.net]
- 東熱でデビューまだ?
- 308 名前:デフォルトの名無しさん mailto:sage [2021/12/05(日) 22:50:01.39 ID:gzedxBTO0.net]
- tipsとか説明してる動画がいろいろあるけど、
どう考えても動画で見るよりも文字のサイトで見た方が効率いいな アニメーションで説明するならまだしも、コード映して音声で説明するだけだし
- 309 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 09:58:30.45 ID:bmhBnFtY0.net]
- その通り
でも見るより聞くほうが頭に入るっていう人はいる そして動画なら普通は飛ばされるちょっとしたエラーへの対応なんかも映されてたりしていい そういう意味じゃまぁまぁ分かってるぐらいのやつが試行錯誤しながらやってる動画が一番いいかもしれない動画なら それと小技100選みたいなのは動画のほうがサクサク見れていいなって思った
- 310 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 10:16:07.53 ID:K9NwbhKq0.net]
- 動画はチュートリアル向きだね
- 311 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 10:24:06.22 ID:r+k7u56QM.net]
- 仮に多少わかりやすかったとしても時間効率が悪すぎる
- 312 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 10:25:23.41 ID:KAUrNTmh0.net]
- ん、今のとこ理解が追いついてない
と一時停止するのはまだいいとしても、 そこはもう判ったからくどく言わなくていい、 という部分だけ早送りするのは困難
- 313 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 13:10:34.16 ID:Fv6sj5de0.net]
- いわゆる
教育サイトのヤツって制限つよいから使えんな YouTubeのが倍速できていい
- 314 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 13:35:16.73 ID:bFLz1Hfed.net]
- Udemyは倍速できた
開講者によって違うのかもしれんけど
- 315 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 15:04:28.27 ID:V3VnXKsr0.net]
- python始めたての頃、日本語でpythonを解説してる動画があったんで見てみたけど、
内容の良し悪し以前にタイプ音が耳障りすぎて見てられなかったな カチャカチャ…ッターン!!ってまんま昔のミサワの画像みたいな
- 316 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 17:57:42.22 ID:fIaDMlsG0.net]
- こういうプログラム組みたい、みたいなのはここでもいいのですか?
- 317 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 18:55:42.20 ID:K9NwbhKq0.net]
- Pythonが主題ならいいよ
- 318 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 19:03:22.19 ID:fIaDMlsG0.net]
- python **.sy ディレクトリ1 ディレクトリ2
としてコマンドライン引数2個を使い ディレクトリ1から特定条件のファイル・ファイルサイズを抽出し 外部プログラムを利用して処理しディレクトリ2の場所にファイル名でフォルダを新規作成しそこにアウトプットしたいのですが これは難しいですか? 半日かけて色々こねくり回してもファイルを抽出するところまでしかできませんでした
- 319 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 19:11:53.57 ID:4dOWqmq10.net]
- いいよ
- 320 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 19:14:31.95 ID:KAUrNTmh0.net]
- どうせなら入力用と出力用は順不同でいけるように、-i -o オプションとか付けよう
- 321 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 19:16:54.93 ID:YFGCwo230.net]
- Pythonを先週から使っててORMのdatasetを試してみてるんですけど、
find()に WHERE `hoge` > 10 相当の条件って指定できるんですか?
- 322 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 19:40:42.62 ID:+xtv5Wsa0.net]
- >>321
https://dataset.readthedocs.io/en/latest/queries.html 公式サイトみてる? 非公式のまとめサイトはあくまで公式サイトを補完するもの
- 323 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 20:13:19.50 ID:YFGCwo230.net]
- >>322
やさしいのぅ。有難うございます。
- 324 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 21:04:00.66 ID:AXyP6TkQa.net]
- シンプルなORMないかなーって色々触ってみるけどあれこれ機能が足りず結局SQLAlchemyになっちゃうよな
- 325 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 21:10:58.44 ID:JyBQF4AA0.net]
- >>318
難しくない。shutilかな。
- 326 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 21:33:56.87 ID:fIaDMlsG0.net]
- >>325
できればヒントやサンプルをいただけませんか
- 327 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 21:42:01.16 ID:K9NwbhKq0.net]
- ヒント : subprocess
- 328 名前:デフォルトの名無しさん [2021/12/06(月) 22:13:57.72 ID:rLSBlzT30.net]
- >>326
やろうとしてることを段階的に分けて書いてみて
- 329 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 22:22:51.24 ID:fIaDMlsG0.net]
- >>328
1.ファイルの入ったフォルダをコマンドライン引数1に設定する 2.フォルダ内から特定の拡張子かつ一定以上のファイルサイズのものを抽出する 3.抽出したファイルを外部ツールにかける 4.外部ツールにかけた結果をコマンドライン2引数のディレクトリ内に展開する 5.フォルダは4の指定ディレクトリ内にファイル名で新規作成する こんな感じです for + os.walkとendswithでファイル一覧を抽出できてもその抽出したファイルをその先に持って行ったり 外部ツール利用の方法が全くわかりません
- 330 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 23:02:13.62 ID:KAUrNTmh0.net]
- streamlinkはpythonで書かれてるのに、
pythonからの使い方が判らないので、subprocessでpython呼び出してる
- 331 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 23:06:57.52 ID:+xtv5Wsa0.net]
- Pythonでやるからややこしい
1,2はfind 3,4,5はxargs + sh(cd, mkdir) でできる内容 Pythonでやるのがお題ならごめん
- 332 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 23:16:45.17 ID:fIaDMlsG0.net]
- >>331
バッチでってことですか? FFMPEGがワイルドカード対応してなくて無理でした
- 333 名前:デフォルトの名無しさん [2021/12/06(月) 23:24:01.09 ID:uKiaXwwm0.net]
- シェルの方が早そうだね
- 334 名前:デフォルトの名無しさん [2021/12/06(月) 23:29:51.84 ID:rLSBlzT30.net]
- >>329
>1.ファイルの入ったフォルダをコマンドライン引数1に設定する >2.フォルダ内から特定の拡張子かつ一定以上のファイルサイズのものを抽出する >5.フォルダは4の指定ディレクトリ内にファイル名で新規作成する 2と5の間はとりあえずスキップして、ここだけの実装は可能?
- 335 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 23:31:26.15 ID:fIaDMlsG0.net]
- >>334
2の途中で詰まりました 抽出したファイルの扱い方がわからなく・・・
- 336 名前:デフォルトの名無しさん mailto:sage [2021/12/06(月) 23:49:14.76 ID:R0qeSVmL0.net]
- 配列に入れればいいだけじゃね
- 337 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 00:14:41.57 ID:ebSZa7bB0.net]
- >>332
バッチてことはWin環境なんかな Pythonで解決した後でもいいからPowerShellもしらべてみて 習得にあるていど時間かかるけどやれることが広がるよ あとワイルドカード展開するのはコマンドじゃなくて通常はシェルの仕事
- 338 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 00:34:04.97 ID:P3Md4odo0.net]
- すみませんバッチファイルの本を買って勉強します
ありがとうございました
- 339 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 00:59:42.03 ID:O2KWEQqW0.net]
- 実際問題として、PS使うならPythonで書こうとするかなぁ
他のOSでも使うことができるし とりあえずバッチとwshは使いたくない
- 340 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 01:31:43.51 ID:q8J3SSC40.net]
- find -execかfind xargsが鉄板だと思うけど
外部コマンドのstdout/stderr出力をPython側でキャプチャする必要なければそんなにややこしくもない for path in Path(search_dir).glob(pattern): __if path.stat().st_size > 1000: ____dir_path = Path(output_dir).joinpath(path.stem) ____dir_path.mkdir() ____new_path = dir_path.joinpath(path.name) ____os.system(f'echo "{path}, {dir_path}" > "{new_path}"') (同じファイル名があった場合の対処はしてない)
- 341 名前:デフォルトの名無しさん mailto:age [2021/12/07(火) 01:36:39.28 ID:MjkMHobt0.net]
- winでもwsl2で >331が書いてる手順でヤレる
powershellも覚えれば便利なんだろうけど…
- 342 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 06:51:56.92 ID:BLeYwod+0.net]
- >>329
2.は os.listdirすればリストで返してくれる この辺見てみた? https://note.nkmk.me/python-os-path-getsize/
- 343 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 07:18:25.74 ID:Jl0mhXXA0.net]
- 使うのがffmpegの場合、他にも考えるべきことが大量にあるので、
一括ではうまく行かないんだよな 何が来ても自分好みのファイルに変換する万能スクリプトを一つ書いて、 それに処理するファイル一覧を食わせる方式に落ち着いた
- 344 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 08:57:52.26 ID:BFhf39Z30.net]
- awk,sedが必要になったらシェルスクリプトを諦めて全部Pythonで書くかな。
あれらを今から学習する気力が湧かない。
- 345 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 09:05:21.33 ID:Jl0mhXXA0.net]
- PSはPSでしかできないパワフルなことがあるので、
その部分だけPSでやるのがいい windowsの底の部分を簡単にいじれるのはPSだけ
- 346 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 10:45:42.99 ID:F2U4yKHS0.net]
- 質問するならコード貼ってほしいな
このスレのテンプレにpaste用サイトが書いてある
- 347 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 11:08:12.05 ID:A/pvwvVNr.net]
- PSはlinuxでもosxでも動くし、あれだけで出来ること結構あるから知ってると便利だよな
- 348 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 11:49:17.79 ID:G7aiaFNj0.net]
- ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか? requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います これに対してどうすればいいですか?
- 349 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 12:01:37.39 ID:Jl0mhXXA0.net]
- 適度にsleepする
- 350 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 12:17:07.83 ID:yRaAbrIt0.net]
- 手動でブラウザ操作したときまんまsleepしたらいいだけ
サーバ構築する側はボットなんか勘定にいれてコスト設計してないんだから
- 351 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 12:22:57.09 ID:P3Md4odo0.net]
- >>342
for curDir, dirs, files in os.walk(sys.argv[1]): for file in files: if file.endswith("〇〇"): os.path.getsize(ts) print(os.path.join(file)) これでファイルは取得できるのですがそのファイルを参照する方法がわからず・・・
- 352 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 12:24:12.30 ID:P3Md4odo0.net]
- こうでした
for curDir, dirs, files in os.walk(sys.argv[1]): for file in files: if file.endswith(".〇〇"): print(os.path.join(file))
- 353 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 13:08:03.12 ID:F2U4yKHS0.net]
- 並列数1なら大したことないけどね
応答時間200ミリ秒なら、毎秒最大5リクエストだし
- 354 名前:デフォルトの名無しさん [2021/12/07(火) 13:09:23.97 ID:A/pvwvVNr.net]
- 参照って何をしたいのか知らないけど、ファイル名取得出来てるんだからオープンするのも他のコマンドの引数に与えるのも可能では
- 355 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 13:32:14.96 ID:lMfMxSoR0.net]
- >>352
Ruby では、glob に拡張子も指定できる # 絶対パスのディレクトリ名の後ろに、*.txt を付ける。 # . で始まる、隠し directory, file を除く glob_pattern = "C:/Users/Owner/Documents/**/*.txt" separator = "-" * 30 + "\n" Dir.glob( glob_pattern ) .select { |full_path| File.file?( full_path ) } # ファイルのみ .each do |full_path| puts "#{ separator }#{ full_path }\n#{ separator }" + File.read( full_path ) end
- 356 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 14:32:51.33 ID:Jl0mhXXA0.net]
- できないglobなんか無いだろ
from pathlib import Path p = Path("c:/path") for filename in p.glob("*.mp4"): print(filename)
- 357 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 15:09:33.84 ID:NCVMykAH0.net]
- つかglobを何だと思ってんだガイジは
- 358 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 15:23:50.74 ID:F2U4yKHS0.net]
- スレタイ読めない人がいるな
- 359 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 21:21:55.14 ID:3sCD52Waa.net]
- オワコンのruby薦められても困る
- 360 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 21:40:58.38 ID:Jl0mhXXA0.net]
- rubyとperlとVBとobjective-Cの人は、脱出するのが早いほど幸せになれる
- 361 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 21:43:22.87 ID:P3Md4odo0.net]
- すんげえ苦労したけどなんとか形になりました
バッチなのですれ違いすみません もっと勉強して最適化していきます わかってしまえばすごくシンプル set Tool="Tool" set template="template" for %%f in (%1\*.〇〇) do ( mkdir "%2\%%~nf" %Tool% -i %%f -o "%2\%%~nf\%%~nf.dgi" -a -e del "%2\%%~nf\%%~nf.log )
- 362 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 22:06:22.51 ID:zHaA7V/Y0.net]
- ワロタw
- 363 名前:デフォルトの名無しさん [2021/12/07(火) 22:58:20.49 ID:I8679kEJ0.net]
- 嘘だろ
- 364 名前:デフォルトの名無しさん [2021/12/07(火) 23:00:21.81 ID:oV2OkogX0.net]
- クソワロタ
- 365 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 23:12:35.70 ID:7GhYBix30.net]
- templateって何?
- 366 名前:デフォルトの名無しさん mailto:sage [2021/12/07(火) 23:44:21.65 ID:F2U4yKHS0.net]
- ポテンシャルを感じる
- 367 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 01:37:02.26 .net]
- from datetime import datetime, timedelta
import pytz dt=datetime.now(pytz.timezone("Asia/Tokyo")) print(dt) print(dt.today())# timezone変更 不適用 print(dt.time())# timezone変更 適用 dt_utc=dt.astimezone(pytz.timezone("UTC")) print(dt_utc) print(dt_utc.today())# print(dt_utc.time())# #2021-12-08 01:34:40.591170+09:00 #2021-12-07 16:34:40.592894 #01:34:40.591170 #2021-12-07 16:34:40.591170+00:00 #2021-12-07 16:34:40.598068 #16:34:40.591170 .today()てtimezone変更引き継いで?くれないんですね・・
- 368 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 02:08:39.64 ID:uCheTDCk0.net]
- Pythonで組みなおしています
デフォルト関数も多そうだし条件分岐とかが簡単そうですが 外部ツール起動に対するオプション調査中です ファイル名を取得してその名前でディレクトリを作成するところまではできました import sys import os import subprocess for i in os.listdir(sys.argv[1]): file, ext = os.path.splitext(i) os.mkdir(sys.argv[2]+file)
- 369 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 07:20:30.37 ID:OmzTkGs60.net]
- >>367
参考になるかも https://qiita.com/shota243/items/91660ece72b5e84c3adb
- 370 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 13:19:52.67 ID:uCheTDCk0.net]
- 外部ツールに抽出ファイルをかけるのが難しいですね
%Tool% -i %%f -o "%2\%%~nf\%%~nf.〇〇〇" -a -e この処理をPythonでどうやるのか? subprocess.runあたりを使うっぽいのですがその後の書き方や処理方法が不透明 ターミナルにパイプして処理する?とかになるなら結局バッチかパワーシェルで 統一した方が早いのでしょうか
- 371 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 13:33:21.38 ID:5HATgl/c0.net]
- 標準出力を取得して、とかやるとそれ用のことを書かないといけないけど、
実行させるだけなら超シンプル subprocessから取得したデータをパイプでffmpegに渡して、 とかやらせてちゃんと動くとちょっと嬉しい
- 372 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 13:43:19.97 ID:lsXABI8+d.net]
- ニコ生のえっちなやつ録画したいニキおつ
- 373 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 15:21:18.60 ID:M4uEosNe0.net]
- >>370
バッチで用が済むなら終わりでいいのでは 汚いスクリプトなんてプログラミングの勉強にならないし
- 374 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:12:58.05 ID:5HATgl/c0.net]
- m = re.search('pattern', str)
if m: item = m.group(1) みたいには書けるけど、ifの中にmの取得を一緒に書けない? そうでないと、if elif elseで書けない
- 375 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:16:26.00 ID:Z7ccVyDn0.net]
- 昔のpythonでは書けなかったんですが
python3.8からassignment expression := ができるようになりました
- 376 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:22:47.75 ID:5HATgl/c0.net]
- おおー、できるのか
でもうちのは3.7だからできないわ 会社のは3.6だからもっとできない 変な互換性のなさを作り込むよりは、3.6でもやれる方法を考えよう
- 377 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:31:06.57 ID:cmZgcxZR0.net]
- >>370
各変数を別途取得して、subprocess.runで起動するアプリの引数として与えるだけ 自分で引数をオプションとして与えたいなら、argparseを使う
- 378 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:31:50.71 ID:lsXABI8+d.net]
- item = data.get(1)
if item: id(item) #3.8 if item:= data.get(1): id(item)
- 379 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 16:51:20.77 ID:e5XneN8e0.net]
- pythonの野郎宗旨替えしやがったのか
- 380 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:00:08.30 ID:cmZgcxZR0.net]
- >>374
スコープの話なら、関数こさえてreturnで拾うという手もあるけど、めんどくさいね
- 381 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:02:23.43 ID:5HATgl/c0.net]
- 無駄な処理は増えるけど
m1 = re.〜 m2 = re.〜 としておいてから、 if m1: elif m2: なら書ける 代入が評価もできる仕組みは、書き間違えてバグるからというよりは、 単純に読みにくくなる
- 382 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:12:25.01 ID:+2BbFlMUa.net]
- Pythonのifのスコープは脳に優しくないな
- 383 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 17:22:50.60 ID:aaXV5Kk80.net]
- プライベートだと思っていた彼女のホールがグローバルだった
- 384 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 19:30:48.14 ID:5HATgl/c0.net]
- 入力行をsplitして取り込む
arg1, arg2, arg3 = line.split('\t') みたいな感じ でも、入力がちゃんとしてなくて数が多くても少なくてもエラーになる そこはよしなにやって欲しい 足りない部分はNoneで埋めて、余った分は捨てていい というええかげんなことをしようと思ったら、ええかげん関数を作るしかないのかな
- 385 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 19:35:03.01 ID:lsXABI8+d.net]
- hash = {'ぐれ':1, 'ぷ':2}
matched = m.group(1) if not hash.get(matched): print('i want to write else case') elif hash[matched]== 1: print('do 1 case') ???
- 386 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 21:14:52.99 ID:/jR8/f4s0.net]
- >>384
arg1, arg2, arg3, *_ = line.split('¥t') + [None, None]
- 387 名前:デフォルトの名無しさん mailto:sage [2021/12/08(水) 23:31:45.91 ID:5HATgl/c0.net]
- + でいいんだな
- 388 名前:デフォルトの名無しさん [2021/12/09(木) 02:15:13.68 ID:WjLFVkiy0.net]
- すみません、質問なのですが、
newline= ってpython3じゃないと使えないのですか?
- 389 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 02:26:38.04 ID:y+vTbIG00.net]
- 調べてから質問してる?
- 390 名前:デフォルトの名無しさん [2021/12/09(木) 02:29:06.32 ID:WjLFVkiy0.net]
- してる
- 391 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 05:36:26.42 .net]
- "newline= を使う"ってなに?
文字列の中に改行コードは使えるか って意味じゃないよね それだとそっこーぐぐったら出てくるし。 なんかのライブラリやらフレームワーク的な話なのだろうか
- 392 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 05:39:43.24 .net]
- あるいはクロスプラットフォームでのCRLFかLFかみたいな話かな
- 393 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 06:51:10.51 ID:7v43kIFS0.net]
- openのオプションでしょ
- 394 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 08:02:22.78 ID:I94H5Ioy.net]
- >>388
python3.8.1 https://techiedelight.com/compiler/?MQK2 python2.7.17 https://techiedelight.com/compiler/?lKam
- 395 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 08:48:12.08 ID:zIpIn5ri0.net]
- beautifulsoupでattributeerror: nonetype nas no attribute stringが発生するんだけどnoneになることが想定される場合は一々いっこっこifでかこってやらないとだめなの?
- 396 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 08:56:56.15 ID:zIpIn5ri0.net]
- ifっていうかtryか
- 397 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 08:59:10.31 ID:7v43kIFS0.net]
- 最大限何でも見つかるようにしとくから、緩めるのはユーザ側でやってね
という姿勢は間違ってないんだけどな 元から緩かったら厳しくしようがない
- 398 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 09:52:10.18 ID:q+Lg0FmZ0.net]
- 自分の管理できないデータを拾おうとする場合は
例外処理は必須だと思う
- 399 名前:デフォルトの名無しさん [2021/12/09(木) 10:42:48.76 ID:WjLFVkiy0.net]
- >>394
ありがとうございます!!!
- 400 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 11:32:41.22 ID:LJEXrIakM.net]
- >>395
ifかor Pythonにはsafe navigation operatorがないからスクレイピングコードは煩雑になりがち https://en.wikipedia.org/wiki/Safe_navigation_operator 要素がなければ空文字のようなデフォルト値を返す汎用的関数を自分で用意すると少し読みやすくなる
- 401 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 11:51:24.51 ID:q+Lg0FmZ0.net]
- JSONなんかだと、get()で拾えばまぁ困らんな
- 402 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 11:58:39.98 ID:LJEXrIakM.net]
- BeautifulSoupじゃなくてScrapyなら少しマシ
公式ドキュメントの質は段違い
- 403 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 12:37:45.04 ID:LJEXrIakM.net]
- >>401
指定した要素がない状況を考慮する必要があれば階層ごとに自分でハンドリングが必要だからgetだけじゃダメなんだよね safe navigation operatorがあればlodashのgetやrubyのdigのようなのが簡単に作れる 近いところでglomがあるけど処理を分割したり、つなげたりできないから使い勝手が悪い
- 404 名前:デフォルトの名無しさん mailto:sage [2021/12/09(木) 14:43:48.67 ID:kmW2UpC80.net]
- bsのドキュメントってなんであんな書き方なんかな
|

|