Pythonのお勉強 Part62 (455レス)
1-

176: デフォルトの名無しさん [] 2020/05/05(火) 17:07:50.66 ID:D2QZwsc6(1) AAS
アホしかおらんのか
177: 163 [sage] 2020/05/05(火) 17:41:03.01 ID:lrlqOn2p(2/3) AAS
たくさんのご返信ありがとうございます。

>>164
ありがとうございました。
ご推察の通り、Pythonは本を一冊読んだ程度の知識しかありません。
チュートリアル一通り試してみます。

>>165
ありがとうございます。
その二つのドキュメントも読み込んでみます。

>>167
ありがとうございます。
申し遅れておりましたが、Windowsユーザーです。
ただ、教えていただいたコマンドを調べてみると、
Windowsでもインストールすれば、ripgrepを扱えるみたいですね。

必ずしもPythonにこだわらなければならないわけでもないので、
(学習中だったので、使ってみたかった程度)
コマンドでの解決も検討してみます。

>>171
>>174
ありがとうございます。
必ずしもPythonでなくてもよいので、Grepやfindstrも調べてみます。
178: 163 [sage] 2020/05/05(火) 17:41:16.65 ID:lrlqOn2p(3/3) AAS
>>175
ありがとうございます。
すごい! まさに私の理想通りの出力結果になりました。

自分なりにいただいたソースコードを調べて、勉強させていただきます。
179: デフォルトの名無しさん [sage] 2020/05/05(火) 18:25:34.80 ID:XXjmfIiw(1) AAS
おいおい>>175は冗談で出した例だろ
180
(4): デフォルトの名無しさん [sage] 2020/05/05(火) 18:51:52.49 ID:rwJ86+M0(2/2) AAS
Ruby で作った

# . で始まる、隠し directory, file を除く
glob_pattern = "/mnt/c/Users/Owner/Documents/test/**/*.log"

re = /^\||Error/
first_time = true # 最初の1回だけ

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
# 末尾の改行を削除して、1行ずつ処理する
File.foreach( full_path, chomp: true ) do |line|
line.match( re ) do |matched| # 一致した行だけ
if first_time # 最初だけ
puts full_path
first_time = false
end
puts line
end
end
first_time = true
end

出力
/mnt/c/Users/Owner/Documents/test/test/test01.log
0501 Error!
|まちがってるよ
|まちがってるよ
/mnt/c/Users/Owner/Documents/test/test02.log
|xx
bb Errorzz
181: デフォルトの名無しさん [sage] 2020/05/05(火) 21:21:30.44 ID:6nb4DqgK(1) AAS
本当にデータが大きいのであれば
データを分割して複数のPCで並列実行するのも
考えた方がいい
182: デフォルトの名無しさん [] 2020/05/05(火) 23:18:26.51 ID:G46XbD1M(2/2) AAS
Pythonでもシェルでもどっちでも良いけど、大量ファイル相手ならマルチで処理すれば良い
ファイル毎にやる処理同じなんだから
183
(2): 180 [] 2020/05/06(水) 21:09:35.21 ID:Fjn1hDTG(1) AAS
>>175

>>180
みたいに、もっと簡単に書けないの?

Python には、glob は無いのか?
無ければ、walk とか
184: デフォルトの名無しさん [sage] 2020/05/06(水) 21:20:13.91 ID:ohBd/rOh(1) AAS
>>183
あるよ
Path('.').rglob('*.log')とかglob.iglob(‘./**/*.log’, recursive=True)とか
>>175は「ライブラリで同等の機能が用意されているにも関わらず」に対するツッコミ待ちだと思われ
185: デフォルトの名無しさん [sage] 2020/05/07(木) 21:24:10.42 ID:xxddKGgg(1/2) AAS
>>175
>>183
pythonにそんなものねえよ!
だから初心者向けなんよ。

こういう温かみのある書き方こそpythonらしさがあって、いいじゃないか。
186: デフォルトの名無しさん [sage] 2020/05/07(木) 21:25:15.27 ID:xxddKGgg(2/2) AAS
>>180
Rubyのほうがいいな
シンプルでわかりやすい
187: デフォルトの名無しさん [sage] 2020/05/07(木) 22:16:34.03 ID:O8jL8wQb(1) AAS
>温かみのある書き方
「職人が一行一行、丁寧に書き上げました」
188
(4): sage [] 2020/05/07(木) 23:20:38.81 ID:RMklkh4T(1) AAS
rubyは玄人向けだから初心者は使っちゃダメだぞっ

import glob
for log in glob.glob('**/*.log', recursive=True):
. outputs = []
. with open(log, 'r') as f:
. for line in f:
. if line.startswith('|') or line.find('Error') >= 0:
. outputs.append(line)
. if len(outputs):
. print(log)
. print('----------')
. print(''.join(outputs), end='')
. print('----------')
189: デフォルトの名無しさん [sage] 2020/05/07(木) 23:21:50.47 ID:VKbX/7v8(1) AAS
美味しそうw
190: デフォルトの名無しさん [sage] 2020/05/07(木) 23:37:05.12 ID:Lnek/XJg(1) AAS
>>188
`in`を使いましょう
The find() method should be used only if you need to know the position of sub. To check if sub is a substring or not, use the in operator:

ついでにRubyの例はoutputsの配列が
めちゃくちゃでかくなる可能性も考慮されてる
191: 180 [] 2020/05/08(金) 12:32:49.45 ID:Fn4yfVbS(1/2) AAS
>>180
は、配列化していない!

メソッドチェーンで逐次処理。
前段から1つ来たら、1つ処理する

配列に入れる意味がない

Dir.glob( パターン ).select{ }.each{ }
192: 180 [sage] 2020/05/08(金) 12:39:56.07 ID:Fn4yfVbS(2/2) AAS
Python は大学院卒とか、高学歴の非プログラマーの学者が使うもの。
数学・統計は知っているけど、プログラミング・コンピューター・OS などを知らない

一方、Ruby は低学歴の職人プログラマーが使うもの。
数学・統計は知らないけど、プログラミング・コンピューター・OS などには詳しい

だから、Rubyの1行1行には、職人さんが丁寧に書いた、温かみが感じられる!
193
(2): デフォルトの名無しさん [sage] 2020/05/08(金) 13:25:49.56 ID:tDlcbx57(1) AAS
Pythonが文字列処理得意だったらなあ
194
(1): デフォルトの名無しさん [sage] 2020/05/08(金) 17:09:53.24 ID:JpV79Xjz(1) AAS
>>193
???
むしろバイナリ処理には呪文が必要なのがPython。
2バイト文字が大変なのには禿同。
195
(1): デフォルトの名無しさん [sage] 2020/05/08(金) 19:00:25.69 ID:ztqG52En(1) AAS
例えば多数ある文章間で使用単語の類似性を検討するにはどの言語がやりやすい?
196: デフォルトの名無しさん [sage] 2020/05/08(金) 19:26:27.46 ID:qca/Mwjw(1) AAS
>>195
word2vecやdoc2vecのライブラリが揃ってたらどの言語でも良いと思う
参考資料が多いと言う観点や辞書の手に入りやすさと言う観点からはpythonかな

その他重要なのは、対象とする文書を読み込めるを機能があるかどうか
mdやtxtのASCIIばかりでなくdocxやpdfも対象と言うことならpythonでいい
197: デフォルトの名無しさん [sage] 2020/05/08(金) 21:30:24.58 ID:FhTTD0+N(1) AAS
>>193
えっ、Pythonの用途の大半は大きな意味での文字列処理
つまりテキスト処理だと思うんだが
198: デフォルトの名無しさん [sage] 2020/05/08(金) 23:18:55.72 ID:B0NvsSSc(1) AAS
>>194
ぱいそんに
199: デフォルトの名無しさん [] 2020/05/09(土) 09:29:52.12 ID:3rxWY8lS(1) AAS
おっぱyは4bytes
200
(2): デフォルトの名無しさん [sage] 2020/05/09(土) 11:28:18.96 ID:4AGhJAkS(1) AAS
知識が20年前ぐらいで止まってるんだけど
perlのかわりになりますかね
201: デフォルトの名無しさん [sage] 2020/05/09(土) 13:14:16.71 ID:mr/P9GQq(1/2) AAS
perlが書ける人なら、大概の言語はOKなんではないか?
202
(1): デフォルトの名無しさん [sage] 2020/05/09(土) 14:05:02.83 ID:/WGeoYJn(1) AAS
>>200
今自分がperlを使ってないことから代わりになっていると思う
ただし正規表現の扱いの容易さはperlのが優れている
203: デフォルトの名無しさん [sage] 2020/05/09(土) 14:14:06.26 ID:m5t3nUyt(1/2) AAS
perlのどこまでを要求するかにもよるだろうけど、
概ね他の言語(Python含む)で代替できるのでは?
204: デフォルトの名無しさん [sage] 2020/05/09(土) 14:18:35.09 ID:m5t3nUyt(2/2) AAS
>>202
s/foo/bar/g とかはpythonでも使いたいと思うことがある
まぁ、書き方の問題に過ぎないけど

置換で思い出したが、ワンライナーはperlの圧勝かなぁ
205: デフォルトの名無しさん [sage] 2020/05/09(土) 15:55:31.80 ID:mr/P9GQq(2/2) AAS
その記述はviでもsedでも使えるので便利
206: デフォルトの名無しさん [sage] 2020/05/09(土) 18:24:57.68 ID:9+f2Z3ZT(1/2) AAS
>>200
なる!

PythonやRubyはP言語だから
同じような使い道するからね
もちろん文法の細部は違うけど
207: デフォルトの名無しさん [sage] 2020/05/09(土) 18:26:06.32 ID:9+f2Z3ZT(2/2) AAS
Perlって記号多用して読みにくくなるから
Pythonの方がいいわ
208: デフォルトの名無しさん [sage] 2020/05/09(土) 18:57:08.84 ID:Gxw/aWGG(1) AAS
ワンライナーをするにはpythonはあんま向いてないな。まあ最近ワンライナーあんまり使わなくなってきたけど。
209: デフォルトの名無しさん [sage] 2020/05/10(日) 09:06:42.56 ID:j31NiFTx(1) AAS
pythonだと読みやすくするために
毎回一時変数使って構造化しないといけないから
書き捨てるようなテキスト処理とは相性が悪い
210
(3): デフォルトの名無しさん [sage] 2020/05/11(月) 22:09:27.83 ID:qfXbD+ub(1) AAS
>>188
横から質問します。

私は163さんではありませんが、学習のためにここを覗きました。

記載されているプログラムを実行すると、
’|まちがってるよ¥n’ ,’|まちがってるよ¥n’
と前後に記号と、改行コードがついてしまいますが、これを除去して出力する方法はありますでしょうか。
211
(1): デフォルトの名無しさん [sage] 2020/05/11(月) 23:26:53.85 ID:masQzK0H(1) AAS
line.rstrip()
212: デフォルトの名無しさん [] 2020/05/12(火) 10:06:33.55 ID:4WwqN1hQ(1) AAS
ほちがってるよ
213
(1): デフォルトの名無しさん [sage] 2020/05/12(火) 11:44:31.16 ID:s06VnCgE(1) AAS
>>210
print(''.join(output), end='')
のところは実行してる?
214: 210 [sage] 2020/05/12(火) 22:39:09.39 ID:7RXslmjs(1/2) AAS
>>213
はい、そのまま実行すると改行コードがそのままでてしまうのです。

せめて改行して表示してくれればよいのですが.....
215
(1): 210 [sage] 2020/05/12(火) 22:40:50.64 ID:7RXslmjs(2/2) AAS
>>211
line=line.rstrip()
とすればいけるかなあ...と思いましたが、
だめみたいですね(´・ω・`)
216: デフォルトの名無しさん [sage] 2020/05/13(水) 03:39:34.71 ID:ibBgBr2u(1) AAS
>>215
OSとpythonのバージョンを教えて

あとfor line in f:の下に以下のデバッグコード入れてみて欲しい

print([f'{x:02x}' for x in line.encode('utf-8')])

の出力が見たい

macで実行すると
>>> line = 'あいう¥n'
>>> print([f'{x:02x}' for x in line.encode('utf-8')])
['e3', '81', '82', 'e3', '81', '84', 'e3', '81', '86', '0a']
>>> print([f'{x:02x}' for x in line.rstrip().encode('utf-8')])
['e3', '81', '82', 'e3', '81', '84', 'e3', '81', '86']

最後の0aが改行コードLFなので、rstrip()するとちゃんと消える
217
(1): デフォルトの名無しさん [sage] 2020/05/14(木) 20:12:34.90 ID:eyziGhr3(1/2) AAS
a = ''
b = '123'
とした時、
if a: とすれば、False 、
if b: とすれば、True と評価されるけど、
この真偽値をif文を用いずに変数に直接代入するにはどうしたらいい?

bool_a = not (not a) # False
bool_b = not (not b) # True
とすれば、目的は達せられるけど、二重否定でいかにもまわりくどい
そのものズバリの方法はないかな?
218: デフォルトの名無しさん [] 2020/05/14(木) 20:20:09.01 ID:xR/PZA9p(1/2) AAS
!!a
219
(1): デフォルトの名無しさん [] 2020/05/14(木) 20:22:21.62 ID:xR/PZA9p(2/2) AAS
bool(a)
220: 217 [sage] 2020/05/14(木) 20:47:02.81 ID:eyziGhr3(2/2) AAS
>>219
どうもありがとう
スッキリしたわ
221: デフォルトの名無しさん [sage] 2020/05/17(日) 17:21:31.20 ID:xAYNfwXu(1) AAS
scikit-learnよりXGBoostのrandomforestのほうが性能よいのですか?
222: デフォルトの名無しさん [] 2020/05/19(火) 22:28:31.73 ID:m8F9ts/N(1) AAS
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
223
(1): デフォルトの名無しさん [sage] 2020/05/24(日) 23:50:52.29 ID:k0sc2Lpo(1) AAS
えーと、たとえばubuntuでspyder使うとき、ubuntuのaptとかsnapで入れたものと
Anacondaの中で入れたものだと設定ファイルとかちゃんと別のものになりますか?
224: デフォルトの名無しさん [] 2020/05/25(月) 01:07:05.65 ID:Y9cCXaqZ(1) AAS
自分でどこを見るのか設定するだけ
225: デフォルトの名無しさん [sage] 2020/05/25(月) 13:33:29.09 ID:gis+qwRr(1) AAS
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使って、

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

rubyコマンドの参照先を確認する
rbenv which ruby
~/.rbenv/versions/2.6.6/bin/ruby

global はシステム全体、local は、そのプロジェクトだけのバージョンを設定する
rbenv global 2.6.6
rbenv local 2.6.6

system は、apt などで、/usr/bin/ruby へ、インストールしたバージョンを設定する
rbenv global system
rbenv local system

つまり、apt のパッケージとも共存できる
226: 223 [sage] 2020/05/26(火) 00:28:20.96 ID:4e/0HGGp(1) AAS
レスくれた人ありがとう。
どうやら共存大丈夫そうですね。
227: デフォルトの名無しさん [sage] 2020/05/28(木) 16:03:49.90 ID:G/K3BByi(1) AAS
return selfするメソッドのアノテーションってどう書けばいいんですか?
228: デフォルトの名無しさん [sage] 2020/05/28(木) 16:25:49.15 ID:Xow4Xb3r(1) AAS
from __future__ import annotations
https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7
229
(1): デフォルトの名無しさん [] 2020/05/31(日) 23:18:11.68 ID:LQxE6hd6(1) AAS
じゃんけんプログラムがかけるようになった。
フリーで仕事がとれるようになるまでが10だとしたら、
自分はいくらくらいですか?
マジレスお願いします。
230
(2): デフォルトの名無しさん [sage] 2020/05/31(日) 23:37:35.44 ID:TtXgrlrn(1) AAS
>>229
0.1にも満たないよ。
英語の翻訳の仕事をフリーでやりたいという人が、this is a pen. を読めるようになりました!って言っているような程度だよ。
231: デフォルトの名無しさん [] 2020/05/31(日) 23:55:59.29 ID:H+ILjMnx(1) AAS
>>230
返信ありがとうございます!
ではまずは1になれるように精進します!!
232: デフォルトの名無しさん [sage] 2020/06/01(月) 08:45:29.60 ID:jwD9tPwu(1) AAS
>>230
もしかしたら、深層学習で顔の画像から相手の出す手を予測するタイプ
のすごいプログラムかもしれないぞ?
233: デフォルトの名無しさん [sage] 2020/06/01(月) 15:55:08.82 ID:Ottf6K9E(1) AAS
tensorflow 2.1のtf.keras.layers.BatchNormalizationはfloat64に対応してないですか?
BatchNormalizationレイヤーにデータxを流すと以下のエラーが表示されます
TypeError: Value passed to parameter 'x' has DataType float64 not in list of allowed values: float16, bfloat16, float32
234: デフォルトの名無しさん [sage] 2020/06/01(月) 17:05:51.39 ID:XHS7d8W6(1) AAS
画像処理AIなら16bitでも十分であることがわかってきて、nvidiaも今更16bit対応を追加しつつある状況なのに、64bitでやる必要あるの?
235
(1): デフォルトの名無しさん [sage] 2020/06/07(日) 23:44:20.07 ID:66u/7Jn0(1) AAS
>>188
みたいな文書の検索処理の対象がUnicodeだった場合、pythonとRubyだったらどちらが早いのかな?
236: デフォルトの名無しさん [sage] 2020/06/08(月) 07:08:57.26 ID:jRTLufNn(1) AAS
「早い」が処理速度なのか開発コストなのか
237: デフォルトの名無しさん [sage] 2020/06/08(月) 11:39:46.10 ID:XmX+evHg(1) AAS
>>235
それオレ環で簡易ベンチしたんだけど
インタプリタの起動速度を含めるとpython : ruby = 1 : 1.06
処理部分だけで比べるとpython : ruby = 1 : 0.53
だった

でもその差が気になるような処理をするなら
pythonでもrubyでもなくgrepとか適切なツールを使うべき
238
(1): デフォルトの名無しさん [sage] 2020/06/08(月) 13:07:05.48 ID:zTE1iszp(1) AAS
文脈で分かんない?
239: デフォルトの名無しさん [sage] 2020/06/08(月) 14:58:20.15 ID:CcRhG7ur(1) AAS
>>238
この分野では曖昧性がある場合は必ず明記することをお勧めする
240: デフォルトの名無しさん [sage] 2020/06/08(月) 20:38:55.89 ID:A6u337hJ(1) AAS
曖昧なこと曖昧なまま連絡つないだりしたら吊るされるんよな……
241: デフォルトの名無しさん [sage] 2020/06/09(火) 04:35:52.13 ID:Y3iPH2bl(1) AAS
たかが5chで大げさだな
242: デフォルトの名無しさん [sage] 2020/06/09(火) 05:38:14.05 ID:mC6F5bWM(1) AAS
たかが5chだけと一応技術板だしね
ゆるーくやりたいならマ板にどうぞ
243: デフォルトの名無しさん [sage] 2020/06/09(火) 07:48:39.06 ID:gdEdgfU+(1) AAS
一応技術板だけど所詮5chだし
244
(2): デフォルトの名無しさん [sage] 2020/06/14(日) 15:33:11.91 ID:9oaOHKUH(1) AAS
>>188
横から失礼します。
一連のやり取り興味深く見ておりました。

たとえば、検索対象のログファイルが全部Unicodeであった場合、print処理するときにutf8やなんかにencodeするだけでいけますか?

検索文字もUnicodeに変換しないと駄目でしょうか。
245: デフォルトの名無しさん [sage] 2020/06/14(日) 16:39:48.82 ID:9pT3ELpf(1) AAS
>>244
pythonでやるなら検索対象のログファイルを読み込むときにutf8に変換したほうが楽だと思うぞ
246: デフォルトの名無しさん [] 2020/06/15(月) 12:37:42.32 ID:iqqqiJ5Y(1) AAS
>>244
>検索対象のログファイルが全部Unicodeであった場合、print処理するときにutf8やなんかにencodeする

ログファイルがUnicodeって少数派じゃないかな
ログファイルがutf8だったらpythonで読むときにUnicodeにdecodeするべき
printは勝手に環境に合わせてencodeしてくれるのを期待
247: デフォルトの名無しさん [sage] 2020/06/15(月) 13:07:41.60 ID:yqEOs8la(1) AAS
Unicodeはencodingではないんだけど
UTF-16のことをUnicodeって言ってる?
248: デフォルトの名無しさん [sage] 2020/06/15(月) 13:29:56.19 ID:Sq9k4kzW(1) AAS
まさかutf16leのことをunicodeって呼んでるのか?
だったらutf16leにデコードしちゃダメだろ…
249
(3): デフォルトの名無しさん [] 2020/06/19(金) 00:00:07.20 ID:NJwW7ejS(1/2) AAS
python 使い始めて数年だけども、今日初めて知ったことがあるので質問させてください。
python のクラスって、インスタンスを生成した後に、勝手にメンバー変数を定義できちゃうものなんですか?
もし、それがよく知られている機構なのであれば、一般的に何と呼ばれているのか教えてください。

例)
>>> class myClass():
... pass
...
>>> c1 = myClass()
>>> dir(c1)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
>>> c1.hoge = 'hogehoge'
>>> c1.hoge
'hogehoge'
>>> dir(c1)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'hoge']

また、こう言ったことをさせないためには、どうすれば良いのでしょうか?
250
(1): デフォルトの名無しさん [sage] 2020/06/19(金) 00:46:41.82 ID:2U294rNY(1) AAS
>>249
よく知られてる機構だけど特別な名前が付いてるわけではない
後から変更させたくないなら@dataclass(frozen=True)を使えば良いと思う
251
(2): デフォルトの名無しさん [sage] 2020/06/19(金) 01:40:12.76 ID:hR7tqNr3(1/2) AAS
Ruby・JavaScript でも同じ。
動的言語のオープンクラス・メタプログラミング・モンキーパッチとかだろw

JavaScript のprototype.js では、クラスに独自のメソッドを追加していたから、
ユーザーを混乱させた、モンキーパッチ・猿として嫌われたw

一方、Ruby on Rails では、オープンクラスとして便利なメソッドとして認められている。
JavaScript のjQuery の$ とか、Lodash の_ なども、認められている

同じことをやっても、嫌われると猿の扱いで、
好かれると、便利と言われるw
252
(1): 251 [sage] 2020/06/19(金) 05:19:33.46 ID:hR7tqNr3(2/2) AAS
そのインスタンスだけに定義される、変数・メソッドは、
特異クラス・シングルトンクラス

JavaScript で書くと、x は、インスタンスa だけに定義されて、
b には定義されない

function Car( ) { }
a = new Car( )
a.x = 1

b = new Car( )
console.log( a.x, b.x ) //=> 1 undefined
253: デフォルトの名無しさん [] 2020/06/19(金) 13:24:58.24 ID:NJwW7ejS(2/2) AAS
>>250,251,252
ありがとうございます!!
この機構、個人的には大変気持ち悪い…
254: デフォルトの名無しさん [] 2020/06/19(金) 13:43:36.79 ID:rfdO6NUF(1) AAS
わたくしは「メソッドを生やす」と呼んでいる

Python Tips:既存のクラスにインスタンスメソッドを追加したい - Life with Python
https://www.lifewithpython.com/2014/08/python-add-instance-methods-to-existing-class.html

r9VaaG - Online Python Interpreter & Debugging Tool - Ideone.com
https://ideone.com/r9VaaG

class MyClass():
pass

def calc(x):
return x**2

c = MyClass()
c.sq = calc
print(c.sq(5))#25
255: デフォルトの名無しさん [sage] 2020/06/19(金) 13:46:13.98 ID:rQKhbTAp(1) AAS
ビアードが生えそう
256: デフォルトの名無しさん [] 2020/06/19(金) 14:11:20.02 ID:GhHOGZr1(1) AAS
>>249
そのための__setattr__()
257: デフォルトの名無しさん [] 2020/06/21(日) 17:15:10.24 ID:rRP2z2l8(1) AAS
普及してる呼び名は
黒魔術
258: デフォルトの名無しさん [] 2020/06/25(木) 13:14:07.96 ID:ZVt/yuYi(1) AAS
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
259: 249 [] 2020/06/28(日) 01:25:43.97 ID:wIxce2FJ(1) AAS
みなさん、ありがとうございます。

このモンキーパッチングが役に立つ場面ってどんなところなんでしょ?

自分で思いつく限りでは、そこそこ規模の大きいプロジェクトでのユニットテストで
不具合に対する対処で一時的にメソッドを書き換えてみたりとか、デバッグ用にフィールドを
追加してみたりとか、そんなことしか思いつかんです…
260: デフォルトの名無しさん [] 2020/06/28(日) 11:56:03.44 ID:h57n4OGN(1) AAS
馬鹿には無理
261: デフォルトの名無しさん [] 2020/07/02(木) 08:46:13.12 ID:v0dv8vSc(1) AAS
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
262: デフォルトの名無しさん [sage] 2020/07/24(金) 08:16:39.89 ID:H7XPw156(1) AAS
while True
____government.tax += people.income.pop()
____if people.income == []:
________people.life = 0
________people = people.next
263: デフォルトの名無しさん [sage] 2020/07/24(金) 13:27:10.68 ID:GzrObJre(1) AAS
if output_people_per_year >= 2.0:
https://www.youtube.com/watch?v=knCbMFQJXxY

264: デフォルトの名無しさん [sage] 2020/09/15(火) 23:18:47.34 ID:9gzhU/ts(1) AAS
site:qiita.com/advent-calendar/ python
265: デフォルトの名無しさん [sage] 2020/09/15(火) 23:22:58.86 ID:THx0WIti(1) AAS
ビビった……
アドベントカレンダーもうやるのかなと……。
266
(1): デフォルトの名無しさん [sage] 2020/09/21(月) 19:30:31.86 ID:z6mfdWZh(1) AAS
本屋さんでPythonの本を見てきたがインプットとアウトプットのバランスが良い本が見つからない
説明読んで例題沢山やって、説明読んで例題...と言うのが理想
267: デフォルトの名無しさん [sage] 2020/09/21(月) 19:47:22.56 ID:UAdp/MOE(1) AAS
>>266
そらアウトプットは自分でやるもんだから本には書いてないでしょ
268: デフォルトの名無しさん [sage] 2020/09/21(月) 20:51:04.59 ID:UOqwcRjE(1) AAS
インデントはなあ。
269
(1): デフォルトの名無しさん [] 2020/09/22(火) 02:51:14.72 ID:EwzeVKsQ(1) AAS
本屋のpythonの本棚は膨張する一方だが
中身は薄くなる一方
270
(1): デフォルトの名無しさん [sage] 2020/09/22(火) 07:47:55.69 ID:e8bXVdUA(1) AAS
最初はみんなのPythonあたりでいいかね?
271
(1): デフォルトの名無しさん [sage] 2020/09/25(金) 09:40:04.16 ID:UVM8czPJ(1) AAS
ド初心者の感想ききたいのであれば
ここを取り下げて↓だろJK
くだすれPython(超初心者用) その50【まず1嫁】
2chスレ:tech
272
(1): デフォルトの名無しさん [] 2020/09/30(水) 11:43:32.93 ID:TOyie83v(1) AAS
csvファイルを読み込んでみたのですが中身が全部nanになります。解決方法を教えてください
273: デフォルトの名無しさん [sage] 2020/09/30(水) 12:21:14.83 ID:NNWpaWfq(1) AAS
>>272
スパイスが足りないよ
274: デフォルトの名無しさん [sage] 2020/09/30(水) 12:46:37.48 ID:/dbaz1tV(1) AAS
>>270
「みんなのPython 第4版、2017」は、内容が薄い

「パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6/1」の新版が出た。
これは内容が濃いけど、初心者向けでは無いかも
275
(1): デフォルトの名無しさん [sage] 2020/09/30(水) 13:04:45.13 ID:YQqgGXto(1) AAS
スイッチ文まだかよ(´・ω・`)
1-
あと 180 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.028s