- 1 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その36 mevius.2ch.net/test/read.cgi/tech/1514805522/
- 258 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 20:54:36.31 ID:dNOi8uH1.net]
- pythonで書けてrubyで難しいなんてことがあるのか。
ちょっと意外
- 259 名前:遊園地 mailto:age [2018/04/09(月) 21:07:06.94 ID:Ptdpw/63.net]
- >>250
出せるけど、書式変更が あーーー https://ideone.com/aCw7iG 調べても2,3分で実装まで5分掛からないんだから、頑張ろうな。 実質、2行増えただけだしな。
- 260 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 21:37:50.56 ID:0kSx2Pnj.net]
- >調べても2,3分で実装まで5分掛からないんだから、頑張ろうな。
"超"初心者=>調べることができない、調べようとしない、頑張ることができない人 超初心者に不可能なことを要求するなよ。初心者ならこれらのことは出来るんだが
- 261 名前:遊園地 mailto:age [2018/04/09(月) 22:13:27.53 ID:Ptdpw/63.net]
- >>255
>>244 で 自分で書いてみます。って書いてるやん
- 262 名前:遊園地 mailto:sage [2018/04/09(月) 22:26:44.43 ID:Ptdpw/63.net]
- とは言え。偉そうにしたのはスマンかった。
>>250 ごめん。ちょっと調子に乗ってた。 失礼しました。
- 263 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 00:18:50.47 ID:RB2jjZ4g.net]
- >>255
いえいえとんでもないです 本当にありがとうございます!調べても分からなかったところだったので…
- 264 名前:遊園地 [2018/04/10(火) 09:44:44.25 ID:QiXBaC3n.net]
- 検索の仕方は
言語 項目 python 日付 python 曜日 とかで、hitする。と思う。
- 265 名前:遊園地 mailto:sage [2018/04/10(火) 09:48:10.16 ID:QiXBaC3n.net]
- 素直に行くなら、
公式Documentを落として、 英語で、ファイル内検索 かな。
- 266 名前:遊園地 mailto:sage [2018/04/10(火) 11:25:34.63 ID:QiXBaC3n.net]
- https://ideone.com/lDwos1
- 267 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 20:30:36.44 ID:CXD6eMLO.net]
- for index, row in mr.iterrows():
a = row.ix[0] a.replace(u"月","a") 月をaに置換したいんだけどうまくいかない・・・どうすればいい?
- 268 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 21:31:07.93 ID:6CkCb20Q.net]
- 'nichi月🔥水moku金do'.replace(/月/gu, 'a');
- 269 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 22:15:50.26 ID:tEeQ8k7E.net]
- >261
panda は使ったことないのでよくわからないけれど、 str.replace(s, t) について言うと 文字列はイミューダブルだから、replaceでstrが書き換わるわけではない。 書き換わった値が返ってくるので、それを変数に代入することが必要。 つまり、a = a.replace(s, t) のようにする。 さらに、aに再代入しても、 iter.ix[0]の中身は変わらない。 なので、 iter.ix[0]=iter.ix[0].replace(s, t) のようにする必要があるのだと思う。 外してたらゴメン
- 270 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 22:22:55.45 ID:CXD6eMLO.net]
- >>263
まさに知りたかった答えです助かりました! >>262 セミコロンが付いてるし、他の言語かな?
- 271 名前:デフォルトの名無しさん [2018/04/11(水) 00:45:52.55 ID:5V3NvSPI.net]
- rrrubyyy
- 272 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 08:15:34.43 ID:vlh3mMKJ.net]
- Githubで公開されていたライブラリ?モジュール?を利用したプログラムを書いているのですが、
このライブラリの関数の中に、WebからJson形式で値を取得するものがあります。 これを実行するとコンソールにズラーっと結果がPrintされるのですが、 このPrintを無効にしてコンソール上に出力しないようにする事は出来るでしょうか? デバッグ用のPrint等が流れて読めなくなってしまい、邪魔なので出さないようにしたいです。 よろしくお願い致します。
- 273 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 09:01:53.43 ID:qa2FEnRq.net]
- ライブラリなら普通はlogging使ってるはずだから設定で消せる
もし直接printしてるようならそんなものは今すぐ投げ捨てて他を探せ そんな低品質なゴミを使ってると後々取り返しのつかないトラブルの原因になりかねない
- 274 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 09:35:50.44 ID:cUARpOdH.net]
- >>266
頭が良い奴なら、ソース弄らないで動的に関数内のprint部分だけコメントになるようにするとかできるんだろうが(デコレータのような使い方で)。 でも、そんな奴は5chのpythonスレにはいないだろう
- 275 名前:遊園地 mailto:sage [2018/04/11(水) 10:02:21.51 ID:y+NDlg77.net]
- 無効にする割合は、40ぐらいに設定して置いた方が無難
- 276 名前:遊園地 mailto:sage [2018/04/11(水) 10:13:12.84 ID:y+NDlg77.net]
- 優秀な奴が、労力をかける場所を間違わないと思うけどな。
ほんの1つのライブラリなんだから、他を探すのが正解だと思うぞい!ww
- 277 名前:デフォルトの名無しさん [2018/04/11(水) 12:37:06.54 ID:bG1z7LTF.net]
- マジレスするとstdoutのトラップで桶
- 278 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 14:41:24.70 ID:nGNQyhwo.net]
- 意地悪な憶測だがライセンスも読んでないに違いない
- 279 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:09:57.05 ID:QNR3RY4l.net]
- まじめにライセンスを読むのはいかがわしい事を考えてる奴だけ説
- 280 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:13:13.16 ID:DormuVYu.net]
- ぐう正論
- 281 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:54:01.75 ID:VAa2HaB9.net]
- @GPS取得
↓ Aネットにあるjsonを取得 ↓ BGPS内容・json内容を0.5秒おきに出力 ↑の処理をするプログラムを組んでいます。 @はすぐ処理が終わるので問題ありませんが、Aは使用環境が外でモバイル通信を使用しているためかAの処理だけで最大5秒かかることがあってBの処理が大幅に遅れてしまいます。 Aのみ裏で処理して、@とBをループさせたいのですが、いい方法ありますでしょうか?
- 282 名前:275 mailto:sage [2018/04/12(木) 00:05:44.68 ID:qBx4xR6B.net]
- 先ほどの書き方だとjsonを0.5秒以内に取得するということになってしまうので修正します。
@GPS取得(0.5秒ごとに処理) ↓ Aネットにあるjsonを取得(10秒ごとに処理) ↓ BGPS内容・json内容を出力(0.5秒ごとに処理) 10秒に1回以外は@とBのループなので問題ありませんが、↑の処理だと10秒に1回はAを処理するときに時間がかかってしまってBの処理が0.5秒で処理できなくなってしまうのが問題です。
- 283 名前:デフォルトの名無しさん [2018/04/12(木) 00:15:41.74 ID:4IaDzy3O.net]
- 2を実行するために1の結果が要らないならご自由に
- 284 名前:275 mailto:sage [2018/04/12(木) 00:53:20.19 ID:qBx4xR6B.net]
- スレッドという処理があったのでこれを使えばいけそうでした
自己解決すみません。
- 285 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 00:58:33.43 ID:3KpeTxH4.net]
- 俺ならGPSロギングとJSON取得はそれぞれ全く別個に作って別プロセスで動かすわ
結果はタイムスタンプを使って後で結合すればいい
- 286 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:08:15.09 ID:iaId0hiD.net]
- f = open("precictor_result.txt","a")
f.write(result," ",predict," ",data_test,"\n" ) f.close() これだと、引数が多いとエラーが出る ,の代わりに+を使うと、数値として計算するようで、 TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U21') dtype('<U21') dtype('<U21') とエラーが出る とりあえず、簡単に出力させて中身を確認したいがどのようするのがスマートだろうか?
- 287 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:20:58.84 ID:ViqCrKfL.net]
- 変数が何なのかは知らんが
>数値として計算する なら文字列に変換すれば良いだろ
- 288 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:27:04.11 ID:iaId0hiD.net]
- >>281
レスありがとうございます 変数全てに対して文字列に変換するのが面倒で・・・ 例えば、 print(result," ",predict," ",data_test,) であれば問題なく出力されますので ファイルに保存する場合ももっとスマートにできる方法があれば助かります
- 289 名前:遊園地 mailto:sage [2018/04/12(木) 01:37:46.68 ID:tAnO53/m.net]
- これで、良いのかな?
f = open('text.txt', 'r') for i in f: print (str(i)) f.close()
- 290 名前:遊園地 mailto:age [2018/04/12(木) 01:39:14.90 ID:tAnO53/m.net]
- 見たら分かると思うけど、
f.write( str(i) ) と言う構想
- 291 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 02:29:34.74 ID:iaId0hiD.net]
- ありがとうございます。
f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) でうまくいきました。ただ、大量の変数を出力する場合、 標準出力ではうまくいくわけですから、全て文字列にキャストするのはちょっと面倒と感じています。 例えば、 print(result," ",predict," ",data_test) #実際にはもっと多くの変数が並ぶ こんな場合、これではエラーが出ますが、イメージとしては、 f.write( str((result," ",predict," ",data_test)) ) のような物でもあればもっと気軽にファイル出力できるような感じです
- 292 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 03:01:07.44 ID:M9kW+xEA.net]
- str = [result, predict, data_test]
for i in str f.write() これで動くっけ?
- 293 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:00:58.45 ID:T93bDVFD.net]
- >>275-279
スレッドは、同一プロセスだろ。 こういうのは、別のプロセスでよくある 数秒毎に書き込むプロセスAと、1秒毎に読み込むプロセスBがある B は、ファイルをスタンプを見て、 新たに書き込まれた情報が無ければ、. を出力して、 新情報があれば、o を出力するみたいなやつ 制御・組み込み系で多い ...o....o...o.....o....o..
- 294 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:10:10.14 ID:T93bDVFD.net]
- name = 'John'
age = 20 + 3 print "名前は #{name}、年齢は #{age}歳" Ruby では、テンプレート文字列って言うのかな? 文字列の中で、式を展開できる。 最終的に、変数が文字列型に変換される Python には、こういう機能が無いのか?
- 295 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:49:22.42 ID:t3ixnFe0.net]
- >>280
printは引数を強制的に文字列に変換するうえに キーワードオプションで出力先を変更できるから 以下で通るはず。空白も改行も勝手に入る 詳しくはドキュメントの「Python標準ライブラリ-組み込み関数」を参照 print(result, predict, data_test, file=f)
- 296 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 06:25:29.02 ID:t3ixnFe0.net]
- >>288
文字列中での式展開はPython3.6から実装された 3.6以前ではこの機能がなく、%記法やstr.formatメソッドを使う %記法 print("名前は %s、年齢は %d" % (name, age)) str.formatメソッド print("名前は {}、年齢は {}".format(name, age)) フォーマット済み文字列リテラル print(f"名前は {name}、年齢は {age}")
- 297 名前:遊園地 mailto:age [2018/04/12(木) 09:27:33.72 ID:tAnO53/m.net]
- >>285
データ構造が不明だから、何とも言えない。 何処かで、 書き込むべき内容を1つのリストに纏めたり できない?
- 298 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 10:53:13.19 ID:iaId0hiD.net]
- >>291
Pythonを初めて2日目でデータ構造についても正直よく分かってないです import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn import cross_validation, metrics from sklearn.externals import joblib import warnings warnings.filterwarnings("ignore") mr = pd.read_table("test-data.txt",header=-1) mr = mr[0:70] clf = RandomForestClassifier() clf = joblib.load('cars.pkl'); for row_index, row in mr.iterrows(): result = row.ix[0] data_test = row.ix[1:] predict = clf.predict(data_test) f = open("test.txt","a") print (result," ",predict," ",data_test ) f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) # 標準出力を、ちょっとファイルに出力して中身を確認したいだけで全てキャスト(今は3つなので良いが10くらいになると面倒)するのは面倒なので上の行をもう少し簡素にしたい f.close()
- 299 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 10:53:50.49 ID:iaId0hiD.net]
- >>289
標準出力にその機能があるなら、writeでも何とかならないでしょうかね? >>286 str = [result, predict, data_test] for i in str: f.write(i) 残念ながら、 TypeError: write() argument must be str, not numpy.int64 という結果が
- 300 名前:\示されます []
- [ここ壊れてます]
- 301 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 11:12:19.94 ID:t3ixnFe0.net]
- >>293
これはprint関数の機能だからwriteでは使えないよ こう変えるだけなんだけど、どうしてもwriteじゃなきゃいけないの? f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) ↓ print(result, predict, data_test, file=f)
- 302 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 11:18:36.95 ID:JyHXEe/D.net]
- resultとかの各変数の中身が文字列じゃない気がする
- 303 名前:遊園地 mailto:sage [2018/04/12(木) 11:38:42.18 ID:tAnO53/m.net]
- pandasは触った事ないから、協力できない。
差支えが無ければ、test-data.txtの中身(記述形式)を教えてくれ。 でたらめな数値や造語で良い。そうしたら、何か分かるかも。
- 304 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:03:51.11 ID:iaId0hiD.net]
- >>294
出力されたデータをExcelでグラフにしたり検証したい時などとりあえずテキストデータにしたいのです 普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで 標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています どちらも出力させて、画面で分かるものはそれでいいですし、 詳細な検討がしたい場合はファイルをExcelなどで開いて再検討する感じです また、pythonやpandasに慣れて居らずその結果が不安で適宜Excelの結果と照合したいというのもあります 本当はperlでやりたいのですが機械学習について調べているとPythonのモジュールを使う物ばかりで・・・ >>296 生データそのままです 0 1 1 100 99 98 97 101 0 1 1 101 100 99 98 97 1 1 1 97 101 100 99 98 1 1 1 98 97 101 100 99 1 0 1 99 98 97 101 100 1 0 0 100 99 98 97 101 1 0 0 101 100 99 98 97
- 305 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:10:53.36 ID:CLTBB0jT.net]
- 画面に出力する(普通にprintする)プログラムを作って、
ファイルに保存したい場合には foo.py > filename という風に実行する、 というやり方はご存知ですか?
- 306 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:16:50.63 ID:rOwLVxdy.net]
- てかパンダ使ってるならそっちで出力すれば?
- 307 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:40:44.41 ID:T93bDVFD.net]
- in/out を、標準入出力にしておけば、パイプでファイルにつなげられる
スクリプトファイル < 入力ファイル > 出力ファイル
- 308 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:44:49.97 ID:iaId0hiD.net]
- >>298,300
おぉーその方法がありましたか 大昔DOSで使ったことがありますが完全に忘れていました! >>299 とりあえずサンプルプログラムをそのままでpandasもpythonもまだ使いこなせていません 色々なtypeがある場合でも、さくっと出力してくれますか?
- 309 名前:遊園地 mailto:sage [2018/04/12(木) 12:53:53.14 ID:tAnO53/m.net]
- 聞けば聴くほど分からなくなってくる。
取りあえず出力したいなら、 >>290
- 310 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 13:02:34.85 ID:O7jP9sqH.net]
- >>301
Pythonを初めて2日目じゃ何もわからないだろう ここの連中が言っているアドバイスすら理解不能だろ 一通りさっとでもPython学習をやってから>>292のようなコードに臨んだほうが良い
- 311 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 17:20:28.88 ID:t3ixnFe0.net]
- >>297
print(result, predict, data_test) # 標準出力に出力 print(result, predict, data_test, file=f) # ファイルハンドル f のファイルに出力 これが理解できないならもうワシは知らん
- 312 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 21:11:22.45 ID:iaId0hiD.net]
- >>303
貰ったアドバイスは一応理解できてると思う ただ、以前perlを覚えた頃は掲示板をネットで調べたり、大量のサンプルプログラムを眺めたり 書き換えたりしながら完全に独学で覚えたから用語などがいまいち分からない 良い勉強方法があるなら知りたい ↓についても、その勉強方法ならアドバイスを聞くだけで分かりそう? >>304 ありがとうございます お手数おかけしましたが無事動作しました fh.write() としていて動作が失敗していました コメントアウトしたら動作しました
- 313 名前:遊園地 mailto:sage [2018/04/12(木) 22:31:11.19 ID:tAnO53/m.net]
- 俺もperl5やってたけど、公式ドキュメントが有った。
それと同じ様にpython公式ドキュメントをやれば良い。
- 314 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:12:20.04 ID:vvfD6Twp.net]
- pythonスレでperlとかrubyとか言い出す奴は
やべー奴ってことか
- 315 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:46:32.40 ID:fIxp3q6f.net]
- そりゃCバリバリ書ける奴から見ればそうだろうな
- 316 名前:デフォルトの名無しさん [2018/04/14(土) 00:27:21.50 ID:fnrer+0Y.net]
- どこスレでもCとか言い出す奴はアルティメットアンタッチャブル
- 317 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 00:27:46.56 ID:yt2qqJ9Q.net]
- >>307
このスレでperlとかrubyとか言い出す奴はperlとかrubyを超使えるやべーレベルの人だからな そんな人からすればpythonは言語としてperlとかrubyより使えねーとなるだろうな。
- 318 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 00:46:34.06 ID:EDFUWN6E.net]
- perlやruby使いが出てきたら、「機械学習」って唱えれば退散するよw
- 319 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 01:05:01.45 ID:dSQ5MB/j.net]
- 配列の要素数が、
len(list) Python は、頭おかしいw この式を、どう解釈せえっちゅーんや! 一方、Ruby では、オブジェクト指向。 ary.length
- 320 名前:デフォルトの名無しさん [2018/04/14(土) 01:25:52.09 ID:4BsAOclQ.net]
- >>310
いや、python使えねーって言うやつはある程度pythonを知っているやつだろう。知らなければ批判も感想もないわけだから。 俺もほとんどわからないから何とも言えない。これまでPerlやCばっかり使っててpythonやろうと思わなかったから。
- 321 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 01:59:01.25 ID:yt2qqJ9Q.net]
- >>313
perlの人はPythonを少しは知っているだろ Pythonプログラム書いているんだし Perlの人はPythonならPython1日目よりsklearn、pandaを使ったプログラム書ける自信があるという感じで始めたんだろうが。 その自信の元はperlを超使えるやべーレベルな気がする でも、スレで無様をさらすことになってしまったが
- 322 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:08:23.29 ID:yt2qqJ9Q.net]
- ここは超初心者スレだからコミュ能力ないのはしょうがないのかもしれないが
perlの人のやりたかったのは>>280からだいぶ後の>>340の >普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで >標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています なんだろう。 最初にこれを出せば、面倒を連呼しなくて済んだのにな
- 323 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:23:44.32 ID:RyWPXEl9.net]
- >>314
超使える訳じゃないけど、そもそもperlしか知らない そのperlもまともに勉強したわけではなく サバイバル英語の勉強方法みたいな感じで覚えたから元から無様ですよ 上でも書いたけど、作りたいプログラムを見つけてきたら それをいじりながら勉強する感じでやってきた とりあえず、様々なエラーが出たけど、エラーもでることなく10時間CPU回しっぱなしで動作してる よく分からないながらでも、とりあえず書けば機械学習ができてしまうのは便利だと思ってる >>311 まじそれ。perlでできるならわざわざ新しい言語を覚えようとは思わなかった スコープの使い方まで違うし慣れるまで色々嵌りながら学習する必要があると思うと泣けてくる
- 324 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:37:37.23 ID:BdA0jLra.net]
- perlってテキスト処理ぐらいしかやったことないけど
え、それだけ? ってぐらい簡単に書けちゃうとこがあって面白いね
- 325 名前:デフォルトの名無しさん [2018/04/14(土) 02:57:00.89 ID:lnTeyTPJ.net]
- >340 に期待
- 326 名前:デフォルトの名無しさん [2018/04/14(土) 02:59:10.50 ID:lnTeyTPJ.net]
- >>316-317
書き捨てならperlでも良いと思う 何ヶ月後か何年後かにメンテするときに 忘れてから(あるいは他人のもののメンテ)が勝負 pythonの方にしといて良かったと思える
- 327 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 06:03:31.69 ID:5tg9pgD6.net]
- >>312
頭悪いなあ Rubyにだってstrとかreadlineとかgsubとかあるだろ pythonのlen(x)は中でx.__len__()を呼んでお
- 328 名前:り、お前の好きなオブジェクト指向(笑)だ
完全に実装者任せのrubyとは違い、Pythonがlen関数を使うことには下記の2つの意味がある ・メソッド名を確実に統一する(Rubyみたいに自由だとcountとか誤った名前を付ける奴が出てくる) ・__len__の返した結果が規約(必ず整数であること)に従っていることをチェックして保証する Pythonの方がより規約を重視した高度な仕組みなんだよ [] - [ここ壊れてます]
- 329 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 10:47:57.74 ID:RyWPXEl9.net]
- >>317
本当にかんたんに書けるよな Perl使ってる身からすれば、同じP言語だし可能な限りPythonでも簡単にできる方法が知りたくなる >>319 他の言語は殆ど知らないので何とも・・・メンテかんたんなら良いね Javaとかネットで良いと言われて、2週間頑張ったけど、長すぎる命令文が覚えきれずタイプが面倒で諦めた 今となっては当時作ったJavaアプリは命令文すら覚えていないから書き直すことすらできないけどね
- 330 名前:遊園地 mailto:sage [2018/04/14(土) 11:49:28.86 ID:osRawEaB.net]
- 35歳の話ですか?
- 331 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:11:15.45 ID:nq6U0FpM.net]
- 一回importしたモジュールを取り消すことできますか?
- 332 名前:デフォルトの名無しさん [2018/04/15(日) 00:11:09.27 ID:LyYRjAz1.net]
- 気の持ちようで過去の事実は変えられる
- 333 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:43:39.53 ID:zL8vaRCQ.net]
- 関数の中でimportしたら、関数処理が終わるごとに解放されるの?
- 334 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:30:36.11 ID:fSFvvger.net]
- >>325
Pythonはすごい賢い言語だから、importを頭に書いても 必要になった時に動的にインポートし、不要になったら解放してくれるんじゃないのかな。
- 335 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:37:25.53 ID:fSFvvger.net]
- ただ、毎回インポート・解放すると時間が消費するから
そんなのやめて常駐にしたいときには、キャッシュしといてと指示すれば解放しないで常駐するように する機能とかも提供している気がする。
- 336 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 02:41:37.97 ID:K+msyNFc.net]
- なんだ妄想か
- 337 名前:デフォルトの名無しさん [2018/04/15(日) 03:19:09.43 ID:9PmxhzhB.net]
- 試してないけどdel モジュール名はできないの
明示的に参照消したらさすがにガベコレしてくれるだろ って妄想
- 338 名前:デフォルトの名無しさん [2018/04/15(日) 03:26:45.07 ID:9PmxhzhB.net]
- あまり行儀良くないけど、
使う関数の中でローカルにインポートしてもいいんだよ いつ使うか分からんからどう扱うか知らんけど、ライブラリとか読んでると後始末に使うモジュールは大体そうしてる 例えば def Quit(): import sys, os 各々のexit関数を試みる みたいな感じで これらは軽いからあまりいい例では無いと思うが、ちょっと他の例が思い出せないので
- 339 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 05:43:37.19 ID:VXOW+WoG.net]
- >>321
Perl なら、Python ではなく、Ruby
- 340 名前:デフォルトの名無しさん [2018/04/15(日) 07:48:45.50 ID:TD/JmgSS.net]
- Ruby大好きおっさんかあんちゃん。爺さんはないだろうが。
- 341 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 10:28:50.02 ID:bGi543fi.net]
- >>331
機械学習が目的だから無理
- 342 名前:デフォルトの名無しさん [2018/04/15(日) 10:37:38.96 ID:E1b18XLI.net]
- rubyはルピーとかルーピーを連想させるから無理
- 343 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 11:04:43.82 ID:HCEWsKeI.net]
- Rubyは名前を呼んではいけない(アンカーをつけてはいけない)あの人みたいになると思うと無理
- 344 名前:デフォルトの名無しさん [2018/04/15(日) 11:25:09.21 ID:mh4srQnS.net]
- (´・ω・`)あのーパイソンって小学生でもひと月ぐらいでできるぐらいかんたんってきいたけどほんとなの?
らんらんもプログラマーになれるかなー?
- 345 名前:デフォルトの名無しさん [2018/04/15(日) 11:26:32.65 ID:mh4srQnS.net]
- (´・ω・`)アマゾンで参考書さがしてるけどおすすめ
- 346 名前:の参考書はありますか?
パイソンの本ってむちゃくちゃ多いからまようー [] - [ここ壊れてます]
- 347 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:06:53.97 ID:VXOW+WoG.net]
- この本が、定本。
みんなのPython 第4版、2017 Python は、Ruby よりも難しい。 先に、この本を読め たのしいRuby 第5版、2016 北大の湊真一が作った、ZDD なら、Ruby gem もある
- 348 名前:デフォルトの名無しさん [2018/04/15(日) 12:23:12.55 ID:E1b18XLI.net]
- >>336
webサイトで充分
- 349 名前:デフォルトの名無しさん [2018/04/15(日) 12:33:40.04 ID:Y8r4uZmH.net]
- パイチンくんの本がいっぱい出すぎで
どれを買っていいかわからないよ みんなのパイチンくん スラスラわかるパイチンくん パイチンくん1年生 いちばんやさしいパイチンくんの教科書 いきなりパイチンくん やさしいパイチンくん パイチンくんからはじめる数学入門 独習パイチンくん入門 ホンキで覚えるパイチンくん パイチンくん機械学習プログラミング
- 350 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:36:21.44 ID:VXOW+WoG.net]
- 「みんなのPython」が定本
そこへ、なでしこの作者・クジラ飛行机が参入した。 そこへ掌田津耶乃・大津真などの、多言語の作者も参入
- 351 名前:デフォルトの名無しさん [2018/04/15(日) 12:45:05.14 ID:E1b18XLI.net]
- rubyの本も急に沢山出た時期があるけど
流行りで出てくる本の九割以上は糞本 スルーでOK
- 352 名前:デフォルトの名無しさん [2018/04/15(日) 13:27:09.55 ID:BcrfAPr/.net]
- まあ流行りで本が沢山出るならまだ良い方だよ。それだけ売れるってことで、それはつまりやってる人が多いということだから。
- 353 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:35:32.50 ID:fpkgMDqC.net]
- ディレクトリを指定してその中にあるファイルのパスをリストで取得できるモジュールとかないですか?
- 354 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:51:11.42 ID:VXOW+WoG.net]
- Ruby なら、Dir.glob だけど、
「python list dir glob」で検索!
- 355 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:58:56.84 ID:K+msyNFc.net]
- rubyが廃れた理由が分かるな。
いやrailsのバッテリーとして余生は安泰かwww
- 356 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:28:51.90 ID:bGi543fi.net]
- Pythonではタブ記号の代わりにスペースを使う人が多いですが移動が面倒です。
タブ記号だと例えば、インデントが4つあっても4回の右キーを押すだけで移動できますが、 スペースの場合、16回くらい押す必要がありますよね。 どのようにしたらいいでしょうか? エディタは秀丸を使っています。
- 357 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:30:19.66 ID:Cnmy+aq2.net]
- >>347
・Sakuraエディタにのりかえる ・インデント機能を使った後、Tab->空白機能を使う
- 358 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:40:56.80 ID:bGi543fi.net]
- >>348
Sakuraエディタは使ったことないけど、多分秀丸にも同じ機能はあると思うが、 タブにスペースを使うことが問題で タブがスペースだと結局は16回、もしくは、ショートカットキーで飛ぶことになり面倒でない? Tab->空白変換 機能は使ってるけど、 サンプルプログラムと手書きを何度もやりとりしてると タブとスペースの混在で結構良い頻度でエラーになってしまう 統一したいと思ったり・・・
|

|