くだすれPython(超初心者用) その39at TECH
くだすれPython(超初心者用) その39 - 暇つぶし2ch188:デフォルトの名無しさん
18/09/11 16:45:24.82 SPzv7yKx.net
>>176
昨日
print("~~") っていうの覚えたレベルなのですが、無理なのですか?

189:デフォルトの名無しさん
18/09/11 18:16:29.60 YvR5RO13.net
生きるのにも向いてねえよ
はよ死ね

190:デフォルトの名無しさん
18/09/11 18:25:17.89 p1uFk9aE.net
みんなのPython 第4版、2017
みんなのが定番だけど、言語の初心者には良いけど、
プログラミング自体の初心者には、どうだろう?
たのしいRuby 第5版、2016
プログラミング自体の初心者は、Rubyでプログラミングを覚えてから、
Python の方が良さそう
他には、Progate などの教育サイトもある

191:デフォルトの名無しさん
18/09/11 18:55:41.75 0Qtu/zKE.net
>>171
まず、PyのアイコンをA4サイズに拡大プリントします

192:デフォルトの名無しさん
18/09/11 19:19:03.51 AZXlXK10.net
pipでインストールしたライブラリに不備が見つかったので変更を加えたのですが実動作に反映されません。
キャッシュの削除も試してみたのですが変わらず・・・

193:デフォルトの名無しさん
18/09/11 19:19:31.34 cR5Dh89A.net
>>161
>>162
どうもありがとうございます�


194:B 返事遅くなってすみません。 ドキュメントが難しくて理解出来なくて。 最後の1行をとり出すとして、 subprocess.run(コマンド) stdout.sprit("\n")[-1] これだと、NameError: name 'stdout' is not definedってなってしまいます。



195:デフォルトの名無しさん
18/09/11 19:26:50.17 cR5Dh89A.net
>>183
aaa = subprocess.run(コマンド, stdout=subprocess.PIPE)
bbb = aaa.stdout.read()
ccc = bbb.split("/")[-1]
print(ccc)
こうやると
AttributeError: 'bytes' object has no attribute 'read'
このエラーでした

196:デフォルトの名無しさん
18/09/11 19:43:31.84 cR5Dh89A.net
subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
print(subprocess.PIPE)
-1がプリントされるんですが、-1とはなんですか?

197:デフォルトの名無しさん
18/09/11 19:54:36.58 cR5Dh89A.net
何度もすみません。
>>> subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE)
CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,
stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\n')
ドキュメントにこう書かれてあるので、CompletedProcessというリストが作られるのかと思い、
subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
print(CompletedProcess[-1])
とやってみたけど、
NameError: name 'CompletedProcess' is not defined
となりました。

198:デフォルトの名無しさん
18/09/11 20:13:26.71 cR5Dh89A.net
自己レス
引数に『universal_newlines=True」を追加したら大丈夫みたいでした。

199:デフォルトの名無しさん
18/09/11 21:54:28.05 LBODaWXG.net
>>175
それで良いと思うよ、ガンガレ

200:デフォルトの名無しさん
18/09/11 22:09:09.67 SPzv7yKx.net
>>179
ひどくないですか?流石に
>>180
ありがとうございます
progateというのは知り合いからオススメされてました
見てみます

201:デフォルトの名無しさん
18/09/11 22:09:33.55 SPzv7yKx.net
>>188
あざす

202:デフォルトの名無しさん
18/09/11 22:15:10.44 LBODaWXG.net
>>187
解決したならいいけど
import subprocess
a = subprocess.run(["ls","-l"], stdout=subprocess.PIPE)
print(a)
print(a.args)
print(a.args[-1])
print(a.stdout.decode())#universal_newlinesつけるならいらない
print(a.stdout)

203:177
18/09/11 23:32:02.26 p1uFk9aE.net
Python には、多くの多言語の著者も、参入してる
クジラ飛行机・大津真、
弾幕系のシューティングゲームプログラミングで有名な、松浦 健一郎・司 ゆき
猿向きなのは、掌田津耶乃・高橋麻奈
「スッキリ」「猫でもわかる」は、まだ参入していない

204:デフォルトの名無しさん
18/09/11 23:57:02.57 UiecLNUs.net
みんなの~がいいのか
Pythonチュートリアル買っちゃった

205:デフォルトの名無しさん
18/09/12 00:04:21.73 Qysc30q7.net
>>191
どうもありがとうございます
decode()でも取り出せました。
universal_newlinesつけるのと、decode()とで、中の処理はなにが違うんでしょうか?

206:デフォルトの名無しさん
18/09/12 00:39:20.04 NOD5QCpZ.net
>>980
次スレ立てるときはテンプレに下記文言の追加よろしく。
本スレでRuby本を薦めたりRubyコードを貼ることを禁止します

207:177
18/09/12 00:40:25.77 pVbQPMMe.net
Guido の「Pythonチュートリアル」は、ほとんど内容が無いw
詳細は何々を参照してください、ばっかりw

208:デフォルトの名無しさん
18/09/12 00:59:48.52 2r/3byF9.net
Pythonで以下のようなことは私のような超初心者でも可能でしょうか?
当方VBAとJavaをちょっと(API未経験)な程度のスキルしかありません
1 テキストファイルに書かれたアドレスのページを順番に保存
2 特定のページを開き


209:その先にあるリンクを定期的に保存 例えば定期的に気象庁の地震速報一覧のページをまず読み、 https://www.jma.go.jp/jp/quake/quake_sindo_index.html こちらにある地震の揺れ日時リンクのリンク先 例:https://www.jma.go.jp/jp/quake/20180911100918353-11190739.html などを全て保存したいです 今は手動で保存しています



210:デフォルトの名無しさん
18/09/12 01:06:18.26 m5YCt3ez.net
matplotlibで波形を出力したいのですが
a = [1,2,3,4,5,6,…,16,17,18,19,20]という配列があった時に
偶数値から奇数値の間の線を赤,奇数値から偶数値の線を青
というように条件付で一部色を変えながらplotすることはできるのでしょうか?

211:デフォルトの名無しさん
18/09/12 01:32:48.47 2r/3byF9.net
>>197です
保存方法はテキストだけの形式と画像含めたmimeフォーマットでできないでしょうか?
情報後出しで申し訳ないです

212:デフォルトの名無しさん
18/09/12 02:21:34.30 Fp0BM1OM.net
>>199
取り敢えずPython スクレイピング で検索してみて
試してみたら?
一回なら1requestとbeautifulsoupが情報が多い
定期ならScrapyが良いのかな?

213:デフォルトの名無しさん
18/09/12 02:26:40.00 pVbQPMMe.net
簡単なクローラーは、wget
他には、Ruby のMechanize とか
もっと複雑な、JavaScript でページを作っているような動的なページは、
Ruby でSelenium WebDriver で、ブラウザを操作する

214:デフォルトの名無しさん
18/09/12 06:29:26.14 niWPqMtZ.net
>>192
まだJuliaには参入してない。

215:デフォルトの名無しさん
18/09/12 07:04:54.42 9GMFh4Pp.net
今年はJuliaとかDartとか
もう終わりかかってるような奴の復活宣言が多い

216:デフォルトの名無しさん
18/09/12 13:04:47.85 wa3fqHL8.net
pandasのデータフレームdfに対して次の処理をします
cols=[a,b,c,d]
dfx = df[cols].head(10).astype(str)
処理すべきデータフレームが複数あるとき
dfa,dfb,dfc...
dfxa,dfxb,dfxc...
としたいのですが、ループで処理を使い回すことはできますか?
dfxa=dfxb=dfxc=None
for i,j in zip([dfa,dfb...],[dfxa,dfxb..]):
__j =i[cols].head(10).astype(str)
はダメでした
※あと↑ループ内ではNoneな変数にそれぞれ値が代入されるのに、ループ後にprintするとNoneとなる理由もわかりません

217:デフォルトの名無しさん
18/09/12 20:43:31.59 krza25ay.net
それよりも基礎やれよ
関数も分からんのだろお前

218:デフォルトの名無しさん
18/09/12 21:26:10.04 T/3USJ28.net
スペック
プログラム未経験JK
退屈なことはPythonにやらせようを買ったけど難しくて入門Python3を買った
退屈なことよりも分かりやすいけどやっぱり難しい
スタートブックにしたらよかったぜ

219:デフォルトの名無しさん
18/09/12 21:38:01.53 pVbQPMMe.net
>>197-201
「wget 入門」で検索!
-i ファイル 指定したファイルに記載された、URLをダウンロードします。
-r 再帰的にダウンロードします。ページ内のリンクをたどってダウンロードします。
-l 数 --level=数 指定した階層分リンクをたどる。
「-r」オプションのデフォルトは「-l 5」なので「-l1」を指定する。
これで特定のページの、リンク先のページだけをダウンロード(DL)する
-A -R で、DLするファイルの拡張子を指定する。
--spider ファイルをダウンロードせず、URLの存在だけチェックする。
-H, --span-hosts 再帰中に他のドメインも、ダウンロード対象にする
-k, --convert-links HTML や CSS 中のリンクを、ローカルを指すように変更する。
ローカルPC 内だけで動くように、リンクを相対パスに変換する

220:デフォルトの名無しさん
18/09/12 21:40:29.26 pVbQPMMe.net
>>206
>>192
に書いてある

221:デフォルトの名無しさん
18/09/12 21:42:05.84 T/3USJ28.net
>>208
地雷一覧?

222:デフォルトの名無しさん
18/09/12 23:06:58.17 2r/3byF9.net
>>200
>>207
ぐぐって勉強します
ありがとうございました

223:デフォルトの名無しさん
18/09/13 00:31:00.11 ECzOVYUy.net
test

224:デフォルトの名無しさん
18/09/13 00:33:41.14 ECzOVYUy.net
import re
with open('aa.txt', 'r+') as f:
 while True:
  line = f.readline()
  ret = re.search(r"^a", line)
  if(ret):
   f.writelines("---")
  if not line:
   break

225:デフォルトの名無しさん
18/09/13 00:34:51.38 ECzOVYUy.net

テキストファイルで"a"で始まる行を"----"に書き換えようとしたのだが、
"----"が"a"で始まる行ではなくテキストの最後に追加されます。
f.writeでも同じ。
助け舟お願いします。

226:デフォルトの名無しさん
18/09/13 00:41:01.41 ttzoAgZZ.net
ファイルサイズ変わるような途中の書き換えはできないので
素直に別ファイルに書き出しましょう

227:デフォルトの名無しさん
18/09/13 00:41:04.65 X3zFvlHv.net
>>205
このレスは何が言いたいの?

228:デフォルトの名無しさん
18/09/13 00:45:51.99 ECzOVYUy.net
>>214
そうなのか
サンクス

229:デフォルトの名無しさん
18/09/13 03:04:18.35 TyIiud+k.net
>>215
そこまでバカなら5chより幼稚園がオススメ

230:デフォルトの名無しさん
18/09/13 03:27:39.30 2ca+8xGJ.net
>>217
詳しく

231:デフォルトの名無しさん
18/09/13 09:48:20.60 Ch5jIF+X.net
>>213
1行ずつ読み込むんじゃなく、read()で全部読み込んでまとめて置換して書き出したら?

232:デフォルトの名無しさん
18/09/14 01:19:44.19 13WSTRRA.net
tqdmについて質問です。
ラジオで今放送されている番組情報を表示するスクリプトを作っててプログレスバーを付けたいです。
URLリンク(i.imgur.com)
以下がそのコード一部です。これだとスクリプトを動かした時点がプログレスバーの0%の位置なんですが、
プログレスバーの0%の位置は番組開始時間、100%が終了時間、プログレスバー長さは現在の時間ってやる事で来ますか?
URLリンク(pastebin.com)

233:デフォルトの名無しさん
18/09/14 01:27:39.44 KCZmWOCp.net
なかなか面白い事やってるね

234:デフォルトの名無しさん
18/09/14 01:54:22.66 Vmeq3cpR.net
Ubuntu16.4の環境下でPython3.6でFlask+uwsgiでRESTサーバ作っており、
そこでロギングで壁に当たってます。
汎用loggerにTimeRotatingFileHandlerをaddして1時間毎にローテーションするように実装しました。
これはハンドラが作られた時間がローテションタイミングの基準点で、そこから1時間後に
ローテションって意味で、正確に毎時0分にローテーションというのは無理なのでしょうか?
また、1回目のローテーションまでは正常にローテーションしてるのですが、
2回目以降が1時間単位のインターバルが無効になってるように見え、一定のファイズサイズに達すると
勝手にローテートしてしてしまいます。 これによって1回目に退避されたログが2回目の
ローテーションファイルで上書きされていまい、実質ログが消えてしまいました。
これらの対策としては自分でTimeRotatingFileHandlerのサブクラスで拡張するや、
SocketHanderで受け側を作る構成にするか、または単純にFileHanderで永久出力して
logrotate.dでローテーションしたほうが安全なのでしょうか?
いろいろ検証してるのですが答えが見つからず・・・ 知っているかたいれば教えて対策教えてください。

235:デフォルトの名無しさん
18/09/14 02:15:35.00 13WSTRRA.net
>>221
変なことやってしまってますか?

236:デフォルトの名無しさん
18/09/14 02:38:02.20 YQ1y2eFS.net
>>222
>正確に毎時0分に、ローテーションというのは無理なのでしょうか?
そういう設定があるのでは?
>一定のファイズサイズに達すると、勝手にローテートしてしてしまいます
それは多分、ファイズサイズでローテートする設定にしているから
>これによって1回目に退避されたログが、2回目のローテーションファイルで上書きされてしまい
同じファイル名にならないように、ファイル名に時�


237:盾tけたりすれば? とにかく、ログローテーションの文書を読むしかないと思う



238:デフォルトの名無しさん
18/09/14 03:25:15.25 KCZmWOCp.net
>>223
処理の仕方じゃなくて、目的がね
ラジオ番組の演目や進捗状況に活用って意味で

239:デフォルトの名無しさん
18/09/14 03:58:34.22 13WSTRRA.net
>>225
ミュージックプレーヤーのようにプログレスバーがあると、コンソールでも動きが出ておもしろいかなと思ってつけてみようと思いました。

240:デフォルトの名無しさん
18/09/14 13:03:14.11 7Qnl0jfy.net
Rubyの ruby -e ‘p “hello”’みたいのはPythonでどうやるの?
できたとしてインデントどうするのかわからんけど

241:デフォルトの名無しさん
18/09/14 13:34:13.63 6AOpn7AN.net
>>220
tqdmは手動で動かすこともできるので、番組開始時間や現在の時間から計算した値をセットすればできる
with tqdm(total=番組の長さ) as pbar:
pbar.update(番組開始から現在までの経過時間)
#残りはfor等で適宜update

242:デフォルトの名無しさん
18/09/14 14:31:48.36 GqHziv8p.net
>>227
シェルからってこと?
ruby言われてもわかんない
python3 -c 'for r in range(3): print("py")'

243:デフォルトの名無しさん
18/09/14 17:19:47.96 13WSTRRA.net
>>228
どうもありがとうございます
forの書き方はこれであってますか?
URLリンク(pastebin.com)
URLリンク(i.imgur.com)
この書き方だと、スクリプトを動かしたすぐは0%のままで経過時間分のバーにはならず、forループの1回目が終わったら、経過時間をプラスした分メーターが進みました。
あと、プログレスバーの右側の
11372/14400 [10:18<50:51, 1.01s/it]
ってなってる所の表示を消したり変えたりする事も出来ますか?
tqdmのドキュメントにはプログレスバーの左側に文字を入れたりバーの色を変える方法は載ってたんですが右側の事は分かりませんでした。

244:デフォルトの名無しさん
18/09/14 17:26:16.68 tz1WlCUG.net
>>229
おおthx

245:デフォルトの名無しさん
18/09/15 10:47:39.63 Rbm//AmR.net
みんなのpythonという参考書を終えたのですが次にやるレベルの参考書教えてくれませんか?

246:デフォルトの名無しさん
18/09/15 10:54:49.48 0IDKpbCI.net
URLリンク(www.packtpub.com)
タダやし好きなのをどうぞ

247:デフォルトの名無しさん
18/09/15 11:20:31.39 WA7DfSYz.net
英語…

248:デフォルトの名無しさん
18/09/15 11:38:53.49 AVfR6YnT.net
thx

249:デフォルトの名無しさん
18/09/15 12:08:10.76 enopwIka.net
英語だけで怯んでたら何も出来るようにならんぞ

250:デフォルトの名無しさん
18/09/15 12:24:03.66 QOgSOXWg.net
>>232
何作りたいの?
人工知能ならゼロから作るディープラーニング
WEBアプリならdjangoの公式チュートリアル

251:デフォルトの名無しさん
18/09/15 12:44:48.44 FXFGXSpW.net
>>232
職のためにやってるならDB、Django、AWS、Docker、HTML
趣味のためにやってるならスクレイピング、SQLite、PyGame
人工知能はあまりおすすめできない
大半の人間には難しいものだし、学習データを大量に用意できないと話にならんし

252:デフォルトの名無しさん
18/09/15 12:57:03.70 eH38IGCF.net
>>230
pbar.update(keikaJikan)
の後に
pbar.set_description(refresh=True)
いれたら?
ドキュメントに詳しい記述がなかったので
うまくいくかわからないけど

253:デフォルトの名無しさん
18/09/15 13:04:52.29 eH38IGCF.net
>>230
ごめんよく見たらrefresh()があった
set_description(refresh=True)
のかわりrefresh()入れてみて

254:デフォルトの名無しさん
18/09/15 17:06:04.40 uTfOzQke.net
>>237
「みんなのpython」読んだばかりの初心者に、
その後すぐ「ゼロから作るディープラーニング」を勧める�


255:フはどうかと



256:デフォルトの名無しさん
18/09/15 17:20:15.56 Ek2iwFvX.net
>>230
そういう表示変更したいならprogressbar(2)のwidgets使ったほうが便利そう

257:デフォルトの名無しさん
18/09/15 17:58:30.21 QOgSOXWg.net
>>241
そうかもね
でも名著なのば間違い無いでしょ

258:デフォルトの名無しさん
18/09/15 20:08:55.40 jV44o+ul.net
>>238
何をやりたいかで変わるんじゃないの?
何も目的もなく、Python習得するわけじゃないだろうから

259:デフォルトの名無しさん
18/09/15 20:12:40.41 8rxpHkWL.net
何をやりたいかで変わらんと悟るまでpythonチュートリアル何遍でも読み返しとったらええねん

260:デフォルトの名無しさん
18/09/15 22:34:28.61 VdLZkjGs.net
この2冊は双子だから、両方読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
入門書の次は、どの言語でも「Effective 何々」
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
Effective Python ―Pythonプログラムを改良する59項目、2016
Web フレームワークは、無料のRails チュートリアルをやってから、
掌田津耶乃の、
Python Django 超入門、2018
Node.js超入門、2017

261:デフォルトの名無しさん
18/09/15 23:45:55.32 3GwANLPp.net
みんなのGO言語は?
これは兄弟じゃないの?

262:デフォルトの名無しさん
18/09/16 00:20:27.43 0MknoGjv.net
>>239、237、239
どうもありがとうございます!
その関数とprogressbar2について調べてみます。
>>230 ので動かしてみているんですが、どうも番組終了時間になって次の番組が表示されるタイミング時点で偶にバーはまだ68%しか進んでいなかったりしました。
それでも時間が来ると次の番組情報は表示してくれるんですが何となく気持ち悪かったです。
夏休みからPythonをはじめたプログラム未経験文系豚JKの場合です。
自分が読んだ本は退屈なことはPython~、入門Python3、Pythonではじめるデータラングリング、PythonによるWebスクレイピング、Pythonによるデータ分析入門をそれぞれ流し読みしました。
Pythonによるデータ分析入門は分析そのものの説明じゃなかったので自分には全く読めませんでした。
このスレでたくさん教えてもらって、radikoの一日の番組表の表示、今放送されている番組の表示、録音、自動でファイルへのタグ付け、オンエア曲の情報の表示やSQLに保存する、がとりあえず動くようになった。
上の過程でrequestsの使い方が分かったので、録音が終わったらSlackへの通知や、コンソールを使って動かすんじゃなくて、Hubotを使ってSlackのBotに話しかけて上の操作が出来るようになった。
次はradikoプレミアムのログインや認証にチャレンジしたいけれど、さっぱり分からない。
Pythonで何が出来るのか分かっていないから他に何をやりたいという事が思いつかないので、学習のモチベも保てない。
マルチタスク?マルチスレッドについて学ぶために番組情報の表示と再生が出来るようにしたらいいですか?
もっと面白いことやりたいです。

263:デフォルトの名無しさん
18/09/16 01:54:46.83 EK9e0hMh.net
女性なら「たのしいRuby 第5版、2016」をすすめる。
Rubyの女神・女優の池澤あやかも女性
Ruby でも、Selenium WebDriver で、スクレイピングするとか
その後は、Web アプリの開発。
無料のRails チュートリアルをやる
ログインぐらいなら、Selenium WebDriver で、
自動操作で、ユーザー名・パスワードを入力して、ログインできる
Showroom のメニュー・アバターなども、うっとおしい


264:から、それで消してる



265:デフォルトの名無しさん
18/09/16 05:21:28.05 RAxt/rA1.net
Ruby勧めてどーすんの

266:デフォルトの名無しさん
18/09/16 05:50:28.28 32fLF0l4.net
ガイジに一般的な思考で対応するな

267:デフォルトの名無しさん
18/09/16 12:25:11.08


268:TMbORASx.net



269:デフォルトの名無しさん
18/09/16 14:41:53.91 8ER5Tq3J.net
>>252
effective pythonにすれば?

270:デフォルトの名無しさん
18/09/16 17:55:04.89 Zt4iEZ/q.net
ちわーくっそ初心者です。
tryとexceptの構文について質問です。
以下のコードでわざとValueErrorがでるように
ターミナルに文字列を入力してるんだけど
except ValueErrorしてても例外処理できないんですが、なぜだかわかる方いらっしゃいますか?
環境
python 3.6.5
mac OS 10.13.6
Atom
コード
a = int(input('type a number'))
b = int(input('type another'))
try:
print(a/b)
except ZeroDivisionError:
print('無効な入力 / Invalid input')
except ValueError:
print('数値を入力してください')
ターミナル
type a numberあ
Traceback (most recent call last):
File "ExceptPractice.py", line 1, in <module>
a = int(input('type a number'))
ValueError: invalid literal for int() with base 10: 'あ'

271:デフォルトの名無しさん
18/09/16 17:59:16.64 75aeC/cD.net
本気で言ってるのか
inputの位置とtryブロックの範囲をよく見ろ

272:デフォルトの名無しさん
18/09/16 18:00:51.59 ynEgKPZ+.net
Python3のhttp.serverモジュールだけど
HTTP/2には対応しないのかな。

273:デフォルトの名無しさん
18/09/16 18:20:04.63 MHdxl4uh.net
公式のチュートリアルでおk

274:デフォルトの名無しさん
18/09/16 18:22:33.91 Zt4iEZ/q.net
>>255
アンタァ数時間におよぶ疑問を解決してくれた救世主だよ
ありがとうございました

275:デフォルトの名無しさん
18/09/16 18:29:11.76 HF0YmRsW.net
これはひどい

276:デフォルトの名無しさん
18/09/16 20:07:13.91 nqHAh3X3.net
こういうやり取りは良いと思うな

277:デフォルトの名無しさん
18/09/18 12:20:43.82 IalC5NJv.net
>>212の様にファントを変えて投稿するには
どうするのですか?

278:デフォルトの名無しさん
18/09/18 13:06:11.53 Gab8FMCl.net
>>261のビューワが勝手にASCIIアートと判断してるだけじゃね。
自分のビューワだと同じフォントに見えるよ

279:デフォルトの名無しさん
18/09/18 19:28:18.62 5C+j+SZY.net
モジュールAからモジュールBをインポートすることでモジュールAのメソッドの定義を上書きしたいんだけど可能?

280:デフォルトの名無しさん
18/09/18 19:36:01.79 32W6TMTL.net
モジュールAをインポートせずにモジュールBだけインポートすれば良いのでは?

281:デフォルトの名無しさん
18/09/18 19:45:53.01 5C+j+SZY.net
m1.py
―-
class C1:
 def f1(self):
  print(‘aaa’)
import m2
―-
m2.py
―-
def f2(self):
 print(‘bbb’)
from m1 import C1
C1.f1 = f2
―-
とかできない?

282:デフォルトの名無しさん
18/09/18 20:15:26.82 3Z5SLW4f.net
そおゆうトリッキーな事はできないと思え

283:デフォルトの名無しさん
18/09/18 21:34:34.65 3PaEdz0L.net
>>266
お前なら出来るだろ?

284:デフォルトの名無しさん
18/09/18 21:34:50.63 5C+j+SZY.net
class C1:
 def f1(self):
  print(‘aaa’)
def f2(self):
 print(‘bbb’)
C1.f1 = f2
C1().f1() #=> ‘bbb’
はできるのに?

285:デフォルトの名無しさん
18/09/18 21:44:32.07 3Z5SLW4f.net
>>268
そおゆうトリッキーな事は今すぐ忘れろ
それはできないのだ

286:デフォルトの名無しさん
18/09/18 21:54:38.88 MzzhSWkv.net
C1.f1 = f2をm1でやるんじゃだめなんか?

287:デフォルトの名無しさん
18/09/18 21:57:26.18 6b03zZt1.net
すいません、手でカチカチっとダブルクリックした方が
早いようなことをパイソンにやらせるのはどうしてでしょうか

288:デフォルトの名無しさん
18/09/18 21:57:40.61 3Z5SLW4f.net
>>270
ダメにきまっとるやろw


289: バカはしばらく黙っとけw



290:デフォルトの名無しさん
18/09/18 22:04:25.92 5C+j+SZY.net
テストの時にimportすると定義を上書きしてスタブを使うとかやりたいのだ

291:デフォルトの名無しさん
18/09/18 22:07:14.79 3Z5SLW4f.net
>>273
トリッキーな事をしたかったらせめて自分で調べて理解できるようになってからやれ
これ以上はつきあわんぞ俺はまた無能に戻るからな

292:デフォルトの名無しさん
18/09/19 00:05:43.10 McwJY1yY.net
>>274
結局何も情報提供してないのに無能に戻るとどうなっちゃうの?

293:デフォルトの名無しさん
18/09/19 12:06:37.88 kBVhwTEM.net
>>265
C1を継承したクラスC2を作ってオーバーライドするのが真っ当だと思う
import m1
class C2(m1.C1):
def__init__(self, *args, **kwds):
super().__init__(*args, **kwds)
def f1(self):
print(‘bbb’)

294:デフォルトの名無しさん
18/09/19 12:10:33.79 kBVhwTEM.net
>>273 を読んでなかったわ

295:デフォルトの名無しさん
18/09/19 12:18:54.82 PupZqwJJ.net
最後に C1 = C2 で桶

296:デフォルトの名無しさん
18/09/19 12:30:17.29 j0vZv9bU.net
>>271
そういう作業を何千回もやる可能性があるならプログラムにやらせたほうが楽で正確だから
作業の回数が1日1回レベルだったとしても、毎日やらなきゃいけないなら
やり忘れや、ちょっとした間違いを防ぐためにプログラムにやらせたほうがいいから
単純にプログラムを書くのが楽しいから

297:デフォルトの名無しさん
18/09/19 15:16:53.25 bRibFDbQ.net
pythonってVisualStudioで使えますか?

298:デフォルトの名無しさん
18/09/19 17:57:22.09 2g+A18ll.net
>>280
使えるよ
使ってる奴あんまいないけど

299:デフォルトの名無しさん
18/09/20 00:31:03.27 v2140bTt.net
ありがとうございます
言語変えるたびに環境変数とかいじったりって面倒臭そうなので
助かります

300:デフォルトの名無しさん
18/09/20 09:49:06.07 dj+2oZ6y.net
大量にあるDataFrameのデータの日付が
Year, month, day, ...
という感じで各時間区分ごとに別れて入っているのですが、これをtimestampに変換するいい方法はありますか?

301:デフォルトの名無しさん
18/09/20 10:51:05.31 fiW+YUJ7.net
>>283
とりあえずここを見て使えそうな処理を使えばいい
URLリンク(docs.python.jp)
俺だったらテキストとして結合して、strptimeで処理するかな
桁揃えの必要があるならzfillを使う

302:デフォルトの名無しさん
18/09/20 11:11:45.64 dj+2oZ6y.net
>284
ありがとうございます、テキスト結合→strptimeをforループで回してタイムスタンプのみの配列を作るのをやってみたんですが、レコードが数百万個あるので速度からすると数十分かかりそうでした。
forループを使わずになんとか早くする方法はないでしょうか?

303:デフォルトの名無しさん
18/09/20 12:19:46.96 7WHuQIEO.net
numpyに入れる

304:デフォルトの名無しさん
18/09/20 13:48:45.51 fiW+YUJ7.net
>>285
1回だけの処理なら中断保存・再開できる仕組みを入れつつ数十分ぐらい我慢しろ
何度も処理しなきゃいけないなら、処理が遅いPythonにやらせるべきじゃない
CやJavaみたいな処理が早い言語にやらせるべき
あと、リストを渡すと処理したリストを返してくれる関数は
内部的にはforループ使ってる
だから「forループを使わずに」なんて無理

305:デフォルトの名無しさん
18/09/20 14:06:39.21 2iENFSTM.net
年月日がバラバラならtimestampのコンストラクタに年月日をそれぞれ渡したほうが多少は早い�


306:ナないの?



307:デフォルトの名無しさん
18/09/20 14:55:31.07 tnMs4KBD.net
>>287
numpyみたいに内部的にはCで実装されてるライブラリもあるから使いこなせばPythonでも十分有望

308:デフォルトの名無しさん
18/09/20 15:49:34.65 gMhM2k+x.net
>>287
面白いねw

309:デフォルトの名無しさん
18/09/20 18:01:52.58 HnUdBV/V.net
WEBフレームワークにflaskを採用しようと思ってる超初心者プログラマーですが、flaskは仕事で一生使えるフレームワークなのでしょうか?
フレームワークに流行り廃りはあるのは承知ですが今学ぶならRailsみたいに人気のあるフレームワークを勉強した方がいいでしょうか?

310:デフォルトの名無しさん
18/09/20 18:07:51.35 wnlFKUtW.net
自然言語で何語を勉強しようかと迷うのに似てる

311:デフォルトの名無しさん
18/09/20 18:22:22.52 HnUdBV/V.net
>>292
何を選べば無難ですか?

312:デフォルトの名無しさん
18/09/20 19:31:20.85 DBWB48iV.net
>>291
そもそもweb屋自体おまえが働ける間生き残り続ける可能性が低いんやからいらん心配せんで好きなんやれや

313:デフォルトの名無しさん
18/09/20 21:45:31.05 Mlnbbzfh.net
tf-nightly 1.12.0.dev20180920 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible.
tf-nightly 1.12.0.dev20180920 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-applications>=1.0.5, but you'll have keras-applications 1.0.4 which is incompatible.
tf-nightly-gpu 1.11.0.dev20180917 has requirement keras-preprocessing>=1.0.3, but you'll have keras-preprocessing 1.0.2 which is incompatible.
keras-applicationsのバージョンが足りないって警告がでてくるんですがpip install keras-applications --upgradeを入力してもすでに入ってるって言ってきます
どうしたらいいでしょうか
ubuntu16.04.3

314:デフォルトの名無しさん
18/09/20 22:02:59.66 kFoauySG.net
>>293
Pythonを選ぶ時点で大冒険なので大差ない

315:デフォルトの名無しさん
18/09/20 22:23:37.92 8Bepevhe.net
>>285の用途なら、juliaがいいんじゃないの?
って思った
Pythonのライブラリも呼び出せるし、移行はカンタン
CSV読み込み用の不特定な型の集合を扱えるDataFrames構造も使えるから
元々大規模なデータ解析の為にjuliaが作られたようなもの
荒らしになるだけなので、この辺で

316:デフォルトの名無しさん
18/09/21 00:13:59.10 m8DL5ZJ4.net
>>291
掌田津耶乃
Python Django 超入門、2018
Node.js超入門、2017
Rails は、すべての言語のフレームワークの基礎になっているから、
無料のRails チュートリアルをやるのが定番
本当は、シンプルサーバー・Sinatra などで、フルスクラッチで書いていくと、
フレームワークを自作するのと同じになるから、よくわかる

317:デフォルトの名無しさん
18/09/21 07:37:02.86 PZuz7ukr.net
>>291ですが無難にrailsにすることにしました
色々相談に乗ってもらってありがとうございました

318:デフォルトの名無しさん
18/09/21 07:47:52.29 IzrcU96S.net
それがよい

319:デフォルトの名無しさん
18/09/21 08:34:45.57 OMTVor1h.net
>>299
念の為言っとくが295はpythonスレでruby宣伝を何度注意されても辞めないム版で有名なrubyガイジだからな

320:デフォルトの名無しさん
18/09/22 13:39:42.64 xOVRbYWf.net
>>298
書き込みと売り上げが連動してるのか
宣伝乙

321:デフォルトの名無しさん
18/09/24 02:48:42.15 6gosj3pF.net
tkinter学んでいるプログラム初心者です。
入力欄に文字を書いて、ボタンを押すと入力した文字が入ったメッセージボックスが出てくるというプログラムを作っています。
下記プログラムにて下から4行目のlambda式はどういった意味を持つのでしょうか?確かにlambdaの記述を省くとうまく動作しないのですが、なぜそうなるのか分からなくて・・・教えてください。
import tkinter as tk
import tkinter.messagebox as tkm
root = tk.Tk()
root.title("messagebox use")
root.geometry("400x300")
#メッセージボックス生成
def showMassage(text):
tkm.showinfo("info",text)
static1 = tk.Label(text="input space")
static1.pack()
#Entry 記述
entry1 = tk.Entry(width=50)
entry1.insert(tk.END,"言葉を入れてください")
entry1.pack()
#button 設置
button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
button1.pack()
root.mainloop()

322:デフォルトの名無しさん
18/09/24 08:23:14.19 hrySGkvz.net
>>298
掌田さんの本同じシリーズのNode.jsは読んだが
取っつきやすさはいいものの実用性は低いよな
あと付録のダウンロードサンプルが酷い

323:デフォルトの名無しさん
18/09/24 08:52:45.17 WK7dhq80.net
>>303
多分だけどlambda使わないと
ボタンが作られた時点で関数が実行されて
メッセージボックスが開いてしまうんじゃないかな

324:デフォルトの名無しさん
18/09/24 13:07:01.64 6gosj3pF.net
>>305
確かに使わない場合はそのような挙動になりました。

325:デフォルトの名無しさん
18/09/24 17:20:23.86 WK7dhq80.net
lambdaの部分を普通の関数として書き換えると
def func():
def showMassage():
tkm.showinfo("info",entry1.get())
return func
これってコールバック関数といわれていて内側の関数は
イベントが発生した時(ボタンが押された時)しか実行されなくなる
command=showMassage(entry1.get())
だと常にcommandにshowMassage(entry1.get())の値が
入ったままの状態になってしまう
コールバック関数を詳しく説明できる能力がないです、ごめんなさい

326:デフォルトの名無しさん
18/09/24 17:30:21.36 Kttr1loZ.net
decorator

327:デフォルトの名無しさん
18/09/24 17:37:31.00 y9vcPQXH.net
クロージャーで苦労じゃー

328:デフォルトの名無しさん
18/09/24 18:41:43.61 otYBczLg.net
みんなのpython終わったばかりの初心者ですが画像認証はオライリーの本でいいですかね?

329:デフォルトの名無しさん
18/09/24 18:53:58.73 QjVDfSuK.net
>>310
マルチポストする屑カスはしね

330:デフォルトの名無しさん
18/09/24 19:20:04.62 otYBczLg.net
>>311
聞いただけなのに(´・ω・`)

331:デフォルトの名無しさん
18/09/24 20:01:59.08 y9vcPQXH.net
>>310
画像認証はオライリーの本
これってどういう意味?

332:デフォルトの名無しさん
18/09/24 20:07:48.74 QjVDfSuK.net
>>313
コピペにレスすんなし
スレリンク(tech板:685番)

333:デフォルトの名無しさん
18/09/24 20:12:59.31 y9vcPQXH.net
>>314
マルチポストが気に入らんのならスルーしてりゃあいいじゃない
いちいちウザイよ

334:デフォルトの名無しさん
18/09/24 20:32:11.67 QjVDfSuK.net
( ゚д゚) 、ペッ

335:デフォルトの名無しさん
18/09/24 20:38:00.99 y9vcPQXH.net
>>316
URLリンク(i.imgur.com)

336:デフォルトの名無しさん
18/09/24 21:32:02.69 qyE/3qBT.net
>>307
騙されそうになったが、実質自分自身を返すだけで何もしない関数じゃないかw

337:デフォルトの名無しさん
18/09/24 21:50:36.77 cIWp1XlU.net
>>303
>button1 = tk.Button(text="push",width=50,command=lambda:showMassage(entry1.get()))
そのボタンを押したら、その関数・ラムダが呼ばれるだけ。
ボタンを押したときに呼ばれる、コールバック関数を指定している

338:デフォルトの名無しさん
18/09/24 22:24:49.58 y9vcPQXH.net
a = lambda x : x +


339: 3 print(a(4)) def hello(x):   def world(y):     return x * y   return world b = hello(2) print(b(9)) c = hello(3) print(c(10)) def hello(x):   return lambda y: x * y b = hello(2) print(b(9)) c = hello(3) print(c(10))



340:デフォルトの名無しさん
18/09/24 23:48:46.66 prONdPba.net
y未定義なのに、なにしてエラーにならんの?

341:デフォルトの名無しさん
18/09/25 00:41:04.42 5k+bdXu1.net
>>307
いや、でもなんかすごく納得できました!ありがとうございます!

342:デフォルトの名無しさん
18/09/25 00:43:35.28 5k+bdXu1.net
>>319
もありがとうございました。コールバック関数ググってみます。

343:デフォルトの名無しさん
18/09/25 09:26:57.75 iE/DG1HY.net
すいません。初心者ですがpythonインストールしたのはいいんですが何も始まらないんです。プログラムを書き込むためのウインドウはどこから開けるんでしょうか?

344:デフォルトの名無しさん
18/09/25 09:32:43.28 BC4c7eXL.net
Rubyガイジ出番だ

345:デフォルトの名無しさん
18/09/25 11:28:20.97 l358aERP.net
>>285
Juliaでやりましょう。

346:デフォルトの名無しさん
18/09/25 11:35:40.14 l358aERP.net
>>324
スタートメニューのIDLEをクリックしたらいいんじゃない。

347:デフォルトの名無しさん
18/09/25 12:36:47.64 b0qq2JBy.net
>>327
成る程、WindowsからPythonを使おうとしてたのか
ウチはMacだから、ターミナルからPython3打ち込んでポチポチやってたから
出たしで躓くようなことなかったな
UIからPython使えるAppもあるけど、単にスクリプトファイルを実行させるだけだし
Windows版Jupyter noteはないのかな?
これなら、Web上でPythonのプログラミングもできるから

348:デフォルトの名無しさん
18/09/25 12:47:18.17 +eWKZg0K.net
Google Collaboratoryでいいんじゃね

349:デフォルトの名無しさん
18/09/25 12:56:01.17 iE/DG1HY.net
>>327
なるほど、Integrated DeveLopment Environmentというやつですね。スタートメニューからですか。探してみます。
ちなみにarduirno等マイコンにもpythonは使えますか?

350:デフォルトの名無しさん
18/09/25 15:26:23.04 kqix37on.net
>>328
Windowsにjupyter notebookを入れてHello,Worldするまでのメモ
URLリンク(qiita.com)

351:デフォルトの名無しさん
18/09/25 15:31:19.89 kqix37on.net
>>330
PythonのIDLEの使い方の基本
URLリンク(gammasoft.jp)

352:デフォルトの名無しさん
18/09/25 18:08:08.89 kqix37on.net
>>330
【Python】Arduinoをシリアル通信で操作
URLリンク(algorithm.joho.info)
PythonでI/O制御ができるマイコンボード 「MicroPython pyboard v1.1」
URLリンク(select.marutsu.co.jp)

353:デフォルトの名無しさん
18/09/25 19:53:56.20 nX2ocrcO.net
ありがとうございます。まだアルファベットを表記させるだけしか出来ませんがいずれはモーター等動かしてみるつもりです。

354:デフォルトの名無しさん
18/09/25 22:31:30.68 3QVoU2wO.net
最近の月刊I/O見てないけど
pyboard特集やってそう
ラズベリーで工作しよう!な連載載ってたから
I/O誌では早い時期からPython講座連載してて
掲載プログラムリストといえば
Pythonが使われている
昔は、BASICやマシン語だったのに

355:デフォルトの名無しさん
18/09/26 14:56:26.05 gW7INjNq.net
「算数&ラズパイから始めるディープラーニング」というのもあるな。

356:デフォルトの名無しさん
18/09/26 18:57:46.78 cGc5yci5.net
pythonの2.7使ってるんだけど文字化けとかエンコとか面倒くさくない?
簡単なスクリプト書くだけなんでwinのコンソールから文字列受け取ってそれに合わせて多少処理変えてどうのこうのーてやるだけなんだけど
ideではエラー出んのにpyinstallerとかpy2exe使って配布する前に最後テストしたら文字化け頻発とかですごい混乱する

357:デフォルトの名無しさん
18/09/26 19:03:39.24 DFsxHyBv.net
>>337
めんどくさいから
今からやるなら3系にしんさい

358:デフォルトの名無しさん
18/09/26 19:31:13.27 cGc5yci5.net
>>338
仕事で使ってるsiem製品でスクリプト書いたりとかもするんだけど公式サポートしてるのが2.7らしく慣れるためにもとりあえず何でもかんでも2.7使ってる
けどやっぱり普段は3にして一部要求された時に2.7のが良いんかね

359:デフォルトの名無しさん
18/09/26 20:56:35.83 DFsxHyBv.net
>>339
なんか事情があるなら仕方ない
2.7の文字問題に慣れたまへ

360:デフォルトの名無しさん
18/09/26 20:57:51.04 DFsxHyBv.net
そして
2.7が時代遅れとなった際に
3なり4なりを学び直すのである・・・

361:デフォルトの名無しさん
18/09/26 21:57:57.79 SlOVL1Du.net
学び直すというほど変わらんけどな2と3

362:デフォルトの名無しさん
18/09/26 22:13:37.90 WQTU7aa+.net
>winのコンソールから文字列受け取って
2の時に比べたら全然マシだけど
他と連携したり、他から.py実行したりすると
3でも相変わらずエラー起きない?
まあ、対処法は見つけたので困ることはないけど
あ、ちなみにmacです

363:デフォルトの名無しさん
18/09/26 23:12:45.83 +un+mAjX.net
マカーならやむを得まい

364:デフォルトの名無しさん
18/09/27 00:27:16.96 Ft8D7cEG.net
頭悪いからな

365:デフォルトの名無しさん
18/09/27 00:41:45.56 3K4WTrnL.net
>>337
2.7なら、標準の__future__パッケージの各モジュールをインポートすれば、
わざわざ'u'ふらずに済むし、3.*との違いはそれほど大きくない

366:デフォルトの名無しさん
18/09/27 05:43:50.57 i5i/991d.net
>>341
python2のサポート2020年で来れるんだけど。

367:デフォルトの名無しさん
18/09/27 07:07:01.03 L3kO3oQ5.net
>>347
もちつけ

368:デフォルトの名無しさん
18/09/27 11:47:37.94 +X2PETpr.net
>>337
馬鹿には無理

369:デフォルトの名無しさん
18/09/29 13:56:00.42 IuTgmxg/.net
pythonなんか頭悪いのしかつかってない
しかもただのスクリプトのくせに普通にそのまま動かないとか
どんだけ役立たずスクリプトやねんと

370:デフォルトの名無しさん
18/09/29 15:44:00.08 5u9meNsM.net
こっちも荒らされてるのか

371:デフォルトの名無しさん
18/09/29 16:03:41.88 UwfF5QN4.net
ここは初心者スレなんで、pythonを普通にそのまま動かせない半角みたいな初心者でも暖かく見守ってあげないと。

372:デフォルトの名無しさん
18/09/29 19:05:41.87 /uKoNQUv.net
python絡みで嫌なことでもあったのかな

373:デフォルトの名無しさん
18/09/30 15:37:29.45 A7oy0eHN.net
URLリンク(www.daxx.com)
アメリカで需要と平均給与トップとかにわかには信じ難いんだが

374:デフォルトの名無しさん
18/09/30 16:39:57.82 eyIH13tv.net
にわかならしょうがないね

375:デフォルトの名無しさん
18/10/01 15:27:24.26 2uLYuzSw.net
誰か、pythonista3 の 活用本発行して!!
絶対に売れる。

376:デフォルトの名無しさん
18/10/01 16:46:09.34 2dwOGw6s.net
句読点の荒らし率は高いからこれに反応するレスがつくかつかないかで自演を判断できる

377:デフォルトの名無しさん
18/10/01 21:46:25.11 tVJz3rsp.net
Python始めたいんやけど、何からやればいいんや
今かけるのはJavaとシェルスクリプトを業務システムレベルや

378:デフォルトの名無しさん
18/10/01 21:58:34.22 ooXTjlBW.net
なにはなくともハローワールド
その次がファイル入出力
その次はたぶんそれだとテキスト置換の練習とか?
今から始めるなら3.x系にしておけ

379:デフォルトの名無しさん
18/10/01 22:01:27.51 YZMrVKUg.net
Javaとシェルスクリプトを業務システムレベルやったらpythonなんて楽勝やろ

380:デフォルトの名無しさん
18/10/01 22:03:49.06 tPw9Kpxi.net
>>358
他の言語で(自分で)書いたスクリプトをPythonでフルスクラッチするというのは、
一方をよく理解しているということも相まって、違いも比較できて結構勉強になるよ。
自分の場合2.xの頃から始めたので、結果として、3.xも同様にやる羽目になったけど。

381:デフォルトの名無しさん
18/10/01 22:36:46.55 Mau1OsTK.net
paizaでスキルチェックやってみたら

382:デフォルトの名無しさん
18/10/02 02:56:27.70 /QfTYNRi.net
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
この2冊は双子。この順に読む。
先に、たのしいをみっちり読めば、みんなのもスラスラ読め�


383:� サイトのprogate でもよい



384:デフォルトの名無しさん
18/10/02 06:20:21.08 XHPfCFYq.net
パイキチ、またPythonスレを荒らしだしたのか
マッチポンプは今時流行らないってば

385:デフォルトの名無しさん
18/10/03 12:55:45.41 ULIaqVnE.net
保守上げ

386:デフォルトの名無しさん
18/10/03 21:59:47.02 Tma5IQla.net
不思議なんだけど、どの言語を贔屓したいかは理解できるが他の言語を貶してなにか得することあるの?
よくありがちなもので、iPhone貶してandroid上げするのは何となくだけど、まあ売り上げに貢献するかもって思うけど、プログラミング言語でそれやって誰が得するんだろう
プロジェクトマネージャーが雑多なスクリプト言語を使われて管理が大変、だから制限させようとした結果ダークサイドに墜ちて、ある言語を貶すようになってしまった
こんな理由でもない限り対立する意味が分からない
単純にダークサイドに堕ちて、非建設的な争いを好む人が多いってことなの?

387:デフォルトの名無しさん
18/10/03 22:02:02.48 NshUGL/I.net
>>366
まぁ現場で他人が書いた糞コードを見て苦労して言語自体にヘイトを溜めるっていうシチュエーションは少なくはないと思う

388:デフォルトの名無しさん
18/10/03 22:22:52.23 BYNnNKG/.net
「くだすれPython」を「くたばれPython」と見間違えてるんだろうな

389:デフォルトの名無しさん
18/10/03 22:26:57.33 b6hWRg0Q.net
アイデンティティを自分以外の事物や集団に委譲している奴はそうなる
その事物が傷つけられることはアイデンティティの危機となり、
事物が持ち上げられることはアイデンティティの強化になる
帰属意識が度を越したような奴だ
そんなに珍しくもない

390:デフォルトの名無しさん
18/10/03 23:54:17.11 H62SNGUL.net
キモすれPython

391:デフォルトの名無しさん
18/10/04 07:12:26.90 sNcNJ12C.net
Pythonが好きだからこそ他言語を挙げて叩くというマッチポンプをやりたいんだろうな
正直そんな理由でPythonスレを荒らすなよと

392:デフォルトの名無しさん
18/10/04 09:39:44.00 uDQ1dvui.net
プログラマは知識マウントしたがる奴が多すぎて、初心者を鬱に追い込む件

393:デフォルトの名無しさん
18/10/04 10:25:17.49 FXVBuQxV.net
VB/VBAとPHPは貶されて当然

394:デフォルトの名無しさん
18/10/04 10:57:37.99 vhCji18k.net
>>373
貶されて当然とゆう事は断じてない
間違いなくペチパー、ジャバパー、そしておまえ、は現代の三大バカやけどw

395:デフォルトの名無しさん
18/10/04 13:06:43.22 OaKCCsBZ.net
普通の荒らしかリアルでゴミみたいな扱いをされて俺の使ってる言語は凄くてそれを使える俺は偉い!他の言語使ってるようなやつはクソ野郎!ていう思考でも持っているのでは?

396:デフォルトの名無しさん
18/10/04 13:18:44.19 b8j5ZQ1w.net
どっちみちこのご時世でマッチポンプに引っかかる奴はいないだろ

397:デフォルトの名無しさん
18/10/04 15:24:58.18 7tiJnAAs.net
>>371
それはない。
pythonスレ以外でも全力でruby上げしてるガイジだぞ?

398:デフォルトの名無しさん
18/10/04 19:16:10.73 VCC0vX9L.net
if文が複数できない・・・
x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")
これを入力したいのですが4行目でエンター押して毎回エラーになります・・・なぜ…?

399:デフォルトの名無しさん
18/10/04 19:26:51.44 uDQ1dvui.net
print文�


400:フインデントは?



401:デフォルトの名無しさん
18/10/04 19:28:37.16 VCC0vX9L.net
あっすみません インデントはしっかりやってました
正確にはこうですね 失礼しました
x = 2
if x == 2:
    print("数字は 2.")
if x % 2 == 0:
    print("数字は偶数.")
if x % 2 != 0:
    print("数字は奇数.")

402:デフォルトの名無しさん
18/10/04 19:32:25.59 VCC0vX9L.net
ただ�


403:アれでもエラーになるという・・・ ええ・・・if文ホントは複数無理なんじゃね・・・? って心持です 参考書のままにやってるのに・・・ ちなみにバージョンは最新だと思います 3.7(32-bit)



404:デフォルトの名無しさん
18/10/04 20:15:29.41 wVc7LVoj.net
ふーん
URLリンク(ideone.com)

405:デフォルトの名無しさん
18/10/04 20:48:40.74 gfYLoY1b.net
>>381
2行目以降のifをelifに置き換える、が答えになると思う
一応そのままゴリ押しするなら一文ごとにelse:で閉じるでもできなくはないと思うが

406:デフォルトの名無しさん
18/10/04 20:52:07.59 P6ujSYbe.net
なんで? 今のままでエラーなんか起きないだろ?

407:デフォルトの名無しさん
18/10/04 20:58:51.04 S7+ANpdX.net
どんなエラー?
インデントにタブとスペースが混ざってたりしない?

408:デフォルトの名無しさん
18/10/04 20:59:28.68 zeP0iUEY.net
コンソールでやらないで.pyファイル作れ

409:デフォルトの名無しさん
18/10/04 21:11:59.01 lQWMlWLo.net
これは何とも面妖な

410:デフォルトの名無しさん
18/10/04 21:43:29.94 DS3BxQCZ.net
エラーメッセージをエイリアン語か何かと思って無視する癖を止めたら、超初心者は卒業できると思うよ。
兎に角エラーメッセージを晒してね

411:デフォルトの名無しさん
18/10/04 22:14:58.83 KoEltKNu.net
>>381
対話モードでやってるからエラーになるんだろうな
4行目を入力する前に空行を入力して
if文が終わったことを明示しなくてはならないかと
6行目のところも同じことがいえる

412:デフォルトの名無しさん
18/10/05 01:03:06.71 /hQuS5mo.net
へえ、そうなんだ、知らなかったよ

413:デフォルトの名無しさん
18/10/05 02:36:56.42 cxTW4oac.net
おまいら親切すぎる
なつかれたら面倒

414:デフォルトの名無しさん
18/10/05 06:17:27.57 euHA0F3o.net
>>389
ありがとうございます 納得しました
次はエラーメッセージも晒します
>>391
人になつかれたことなさそうな人がなんか言ってて笑える

415:デフォルトの名無しさん
18/10/05 07:00:21.00 37p1YF83.net
分からん。。。
もう一度、プログラムを見つめ直してみる。
ポジション取るんだけど、バックテストで資金が上昇してもロットは一緒。
>>392


416:デフォルトの名無しさん
18/10/05 07:00:40.10 37p1YF83.net
誤爆した。。。

417:デフォルトの名無しさん
18/10/05 10:49:11.38 kmGDPqXy.net
エラーメッセージそのままググるだけでもだいぶ違う

418:デフォルトの名無しさん
18/10/05 11:22:51.52 vpbu8eze.net
なんで、コンソールなんか使うのか?
Ruby, Python でも、VSCode を使え!
拡張機能のCode Runner で、何も考えずとも、右クリックメニューから実行できるわい!

419:デフォルトの名無しさん
18/10/05 11:59:37.83 zGlW4kB1.net
クリックとかしたくねえからだよ頭悪いな

420:デフォルトの名無しさん
18/10/05 15:22:39.94 xGDGeoHe.net
関数呼び出しの構文について教えて欲しいんだけどさ
AAA(BBB: CCC)とAAA(BBB=CCC)って一緒なの?

421:デフォルトの名無しさん
18/10/05 15:27:22.70 Ohnhdvdr.net
AAA(**{BBB: CCC})とAAA(BBB=CCC)
はホボ一緒だけど
関数の定義のされ方によっては違う

422:遊園地
18/10/05 15:40:53.24 oe8MXe/3.net
F5な。

423:デフォルトの名無しさん
18/10/06 17:47:15.35 ClYVvTDI.net
djangoでゲーム作ってる方っています?
作ってるなら、どんな感じのゲームを作ってるか知りたいです
djangoでのwebアプリ制作の練習も兼ねて、ログインとかデータ保存のできるブラウザゲームを作ろうと思ってるところなんですが、個人でフレームワークを使っての開発は手�


424:ノ余るかな、と気になって… JavaScriptの方が管理しやすいかなぁ



425:デフォルトの名無しさん
18/10/06 17:57:08.71 e52HQVrn.net
どうみてもDjangoの方が楽

426:デフォルトの名無しさん
18/10/06 18:03:47.60 WCVR4P9P.net
>>402
Dangoでゲーム?
フロントエンドどうすんの?
JS必須だろ

427:デフォルトの名無しさん
18/10/06 18:22:42.90 ClYVvTDI.net
ほんとだ、結局JavaScriptが必要ですね
それに、誰かにやってもらう場合だと、サーバー用意するか、相手の方にもPythonいれてもらわないとダメだ…

428:デフォルトの名無しさん
18/10/07 08:57:44.35 uCAn2+3z.net
言語より環境の方に縛られるという事だな

429:デフォルトの名無しさん
18/10/07 12:13:18.81 Q039ezIc.net
既に環境を構築してあるDockerを使え
便利だぞ

430:デフォルトの名無しさん
18/10/08 14:28:05.12 ofuYlJd2.net
webapiで取得したjsonのログデータを取得したあとcsvに変換するプログラム作ってます
pandas使ってappendで1行毎dataflameを追加していく方式でやっているんですが処理時間がかなり掛かってしまいます
jsonをcsvに変換する良い方法他にないですかね?
jsonはかなり深くネストされておりfor文使って特定のキーの場合のみdf追加としているので処理が重そうです
csvは10万行近くになります

431:デフォルトの名無しさん
18/10/08 15:11:28.99 +5qyKWRv.net
元のjsonファイルと出力したいcsvのイメージ貼ってみ

432:デフォルトの名無しさん
18/10/08 16:49:00.47 QZm1evdb.net
jsonはこんな感じにvisitの中身全部が欲しいです URLリンク(jsoneditoronline.org)
csvはこんな感じURLリンク(dotup.org)
keyがカラムで値がフィールド、actionsの中のthreatsが配列になってるのでその部分は複数行に分けて配列数分欲しいです

433:デフォルトの名無しさん
18/10/08 19:20:19.69 0S7LCRH0.net
1レコードあたりの行数に目途が付くなら
単にテキストファイルをシーケンシャルに読んで
レコード毎にループして正規表現とかで処理するか
丸ごと一個のjsonを読むんじゃなくて
json の visits [] の中身だけに適用して
やっぱりレコード毎にループで処理

434:デフォルトの名無しさん
18/10/09 11:08:24.97 ut46KIbF.net
ちょっと何言ってるか分からないです、もう少しかみ砕いてほすぃ

435:デフォルトの名無しさん
18/10/09 12:09:20.78 lquF7TGT.net
>>411
全体的にpandasは使わずに
正規表現などを使った自前の処理でカンマ区切りのテキストを生成して
テキストファイルに追記モードで行を追加していけば処理が軽くなるんじゃね
ということ
あと、countryとcountryCodeが常に同じペアになるなら長い方を削除するとか
"os": "Windows"を"win"とか"w"に変換するとかで書き込み量を減らせば
多少早くなるかも

436:デフォルトの名無しさん
18/10/09 17:28:44.16 c0UbTvkE.net
jsonのobjectって結局馬鹿デカいリストだから
全部pandasに食わせるのは非効率

437:デフォルトの名無しさん
18/10/09 19:09:14.17 QlHcI7ga.net
>>410
>>412
ありがとうございます
目処は付かないですね 25000件のjsonを中の配列単位で分けていくと10万行になったて感じですので…
pandasは勝手に軽いものと思ってたんですが


438:そうでは無いのですね もう少し自力で試しつつ、無理そうであれば別の方法探してみます 回答ありがとうございました



439:デフォルトの名無しさん
18/10/10 01:28:49.68 cxHjn/W/.net
25000件で10万レコードって意味なら
1レコードあたりたったの4行だぞ
大したことないじゃん

440:デフォルトの名無しさん
18/10/10 01:50:02.45 q9nqGoRh.net
恥ずかしい

441:デフォルトの名無しさん
18/10/10 07:27:32.29 sjNy7la0.net
anaconda環境でnotepadでプログラム書くのできますか?
Jupiter使ったほうが良いでしょうか?

442:デフォルトの名無しさん
18/10/10 07:48:52.41 qywSzTWT.net
メモ帳は、プログラミングに使ったらダメ!
BOM付きUTF-8 になるから、バグる。
BOMなしUTF-8(UTF-8N)にできるエディタを使うべき!
今は、すべての言語で、VSCode を使う

443:デフォルトの名無しさん
18/10/10 08:25:31.03 sQpJ1MsF.net
jupyterな

444:デフォルトの名無しさん
18/10/11 05:13:12.70 MfMAF/GN.net
>>418
ありがとうございます。PCが古いので軽いの探します。

445:デフォルトの名無しさん
18/10/11 06:05:36.88 4dmempzq.net
>>420
メモ帳のような気楽に使える軽いWindows用エディタでTeraPadがあるよ
BOMなしUTF-8にも対応してて、設定することでデフォルトで使う文字コードや改行文字などを指定できる
いろいろな言語の予約語の強調表示にも対応してる
TeraPad
URLリンク(www.vector.co.jp)

446:デフォルトの名無しさん
18/10/11 08:09:45.65 MfMAF/GN.net
>>418
すいません、ありがとうございます。
それとパスが通ってなくコマンドプロンプトからpythonと入れても起動できなくて、anaconda3\pythonだと起動するのですが。
環境変数にC:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin;など色々試してもダメでした。
英語のサイトとかを見てもできなくて、なんか根本的な所が足りないと思います。
なにか根本から勉強できるサイトはないでしょうか?英語でもなんとか頑張ります。

447:デフォルトの名無しさん
18/10/11 08:27:36.65 55KoDwWG.net
>>422
ログインし直す

448:デフォルトの名無しさん
18/10/11 09:45:22.82 /KTbB4eS.net
Python と Javascript ではじめるデータビジュアライゼーションの50ページです
URLリンク(ideone.com)
28行目でエラーになってしまいます。
Traceback (most recent call last):
File "./hoge.py", line 28, in <module>
cols.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'
何がいけないんでしょうか?

449:デフォルトの名無しさん
18/10/11 11:12:50.15 dGtKIiaR.net
'dict_keys' オブジェクトは 'sort' 属性をもっていない
sortメソッドはおそらくリストオブジェクトのメソッドだろうから
dict_keysオブジェクトをlistオブジェクトにしたら動くと思うよ

450:デフォルトの名無しさん
18/10/11 11:17:30.10 6B3tPTW8.net
>>420
MeryやgPadがおすすめ
TeraPadはUTF-8で読み書きはできるけどShiftJISに無い文字は扱えないのでおすすめしない

451:デフォルトの名無しさん
18/10/11 11:25:22.78 /KTbB4eS.net
>>425
どうもありがとうございます
list()で括ったらうまくいきました
3年くらい前の本なんですが、Python2だとこれでも動いたのかそれとも誤記なのかどっちでしょうか?
次のページで、printする際に最後にコンマを付けると改行されないと書いてあったけれど、python3ではコンマ有る無しで表示結果は変わりませんでした。
print(hoge), # こんな感じで

452:デフォルトの名無しさん
18/10/11 11:31:34.26 3Bdkvxy9.net
漏れは、TeraPad は、メモ書きに使っている。
アプリのサイズが小さい
ただし、一部の文字が使えない。
中国の地名の「深圳」みたいな文字が「深?」になる

453:デフォルトの名無しさん
18/10/11 11:35:19.88 dGtKIiaR.net
>>427
詳しくはpython2とpython3の違いでググってね

454:デフォルトの名無しさん
18/10/11 11:43:56.19 3Bdkvxy9.net
>>422
例えば、コマンドプロンプトで、where notepad
と入力すると以下のように、メモ帳の実行ファイルのパスが表示される
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
同様に、where p


455:ython と入力すれば? これで正しく表示されないのなら、 python.exe があるフォルダを、ユーザー環境変数PATH に追加する 環境変数PATHをいじるという事は、全システムの挙動を変える、危険な行為だから、 その知識がないと、開発なんてできない!



456:デフォルトの名無しさん
18/10/11 12:31:23.10 3et536X6.net
>>427
3年前でpython2なのか、スゲー本だな
訳注ぐらい入れれば良いのにね
python3だとprint(hoge end='')

457:デフォルトの名無しさん
18/10/11 12:35:06.81 3et536X6.net
いけねカンマ抜けた
print(hoge, end='')

458:デフォルトの名無しさん
18/10/11 13:10:38.79 bLRRmr2D.net
>>429
>>431
>>432
どうもありがとうございます。
2と3の違いググりました。
listで括らない方法はPython2でのやり方、printの最後のコンマもPython2でのやり方なんですね
2016年7月に原書が出て2017年8月に日本語版が出た本です。
今見たらprintの訳注が載ってたんですが、コンマはPython2でのやり方で3では使えないと言った事は書かれてありませんでした。
print(hoge, sep='')だとよりPythonらしい書き方だという風に書いてありました。

459:デフォルトの名無しさん
18/10/11 18:42:11.43 MfMAF/GN.net
>>430
ありがとうございます。
ずっとやってましたが、色々と調べててもわかりそうにありません。
anaconda3\pythonで動くのに、whereでpythonは出てこず、Path設定してもダメです。
ほんと基本がわかってないと思うので、pathにチェック入れてanacondaを再インストールしてみようと思います。
自分でいじるのは、知識をどうにかしてつけてからにします。

460:デフォルトの名無しさん
18/10/11 20:38:12.53 OPK+KI2v.net
>>434
Pythonで何をしたい?機械学習関係ならGoogle Colabがお手軽

461:デフォルトの名無しさん
18/10/11 23:48:03.56 gjrJHmO+.net
Anacondaのデフォインストール先C:\Users\<ユーザー名>\Anaconda3じゃん
C:\Anaconda3にパス通しても動かなくて当たり前
コマンドプロンプトからやらずにスタートメニューのAnaconda Promptから開けばパス通ったコマンドプロンプトが開く

462:デフォルトの名無しさん
18/10/12 05:14:13.33 sf+PB/Vk.net
>>435
将来的に検索もできる対話型AIを作りたいです。
>>436
その当たり前がわからなくて、色々サイトみてて当たり前にできてるようなので、問題解決しないとダメなのかなって思ってしまいます。
パスが通ったとか、コマンドプロンプトとanaconda pronptがどういったものかもわからない状態です。
一つ一つがどういったもので、どう動いてるとかから勉強したいと思います。

463:デフォルトの名無しさん
18/10/12 09:45:35.48 C1pVYns8.net
Linux の基本コマンドとか、環境変数PATH など、
OS の基礎を知らない人は、開発者になれない
情報処理資格とか、コンピューターリテラシーが必要
仮想環境では、activate を実行したときだけ、
環境変数PATH に追加するようなプログラムもある
activate する前には、python というコマンドは実行できないが、
activate した後には、python というコマンドが実行できる

464:デフォルトの名無しさん
18/10/12 14:37:53.89 46Wm2YVF.net
>情報処理資格
Linux とは関係ない
開発に必要ということは同意

465:デフォルトの名無しさん
18/10/13 20:39:27.21 i2AAnytP.net
EXCELを操作できるライブラリopenpyxl(ver2.3.0-1)なんですが行の挿入でエラーになります。
import openpyxl as py
wb = py.load_workbook('aa.xlsx')
ws = wb.active
ws['A1'] = 'NURUPO'
ws.insert_rows (1)
wb.save('aa.xlsx')
insert_rowsじゅないの?

466:デフォルトの名無しさん
18/10/13 21:34:22.63 f9khLXsZ.net
>>440
ちょっとググったら2.5.0から実装されたみたいよ
URLリンク(qiita.com)

467:デフォルトの名無しさん
18/10/13 22:05:44.95 i2AAnytP.net
サンクス
バージョンアップに挑戦してみる

468:デフォルトの名無しさん
18/10/14 00:43:28.48 7a55cFNG.net
re.searchでグループ化したものを取り出す時に
?P<name>で出来たのですが
re.subと同様に通常の正規表現の「\1」のように
書く書き方は出来ないですか? よろしくお願いします。

469:デフォルトの名無しさん
18/10/14 02:11:30.62 bkAbhEU5.net
>443
> m = re.search("b(.)", "abcdefg")
> print(m.group(1))
c

470:デフォルトの名無しさん
18/10/14 02:22:51.26 7a55cFNG.net
>>444
ありがとうございます!

471:デフォルトの名無しさん
18/10/14 06:13:05.25 Ov+YlZxq.net
アナコンダインストールすればIDEいらない?

472:デフォルトの名無しさん
18/10/14 16:58:59.85 G4e8iFcg.net
Py_INCREF()を呼ぶタイミングを教えてください

473:デフォルトの名無しさん
18/10/14 19:12:00.22 NuEYON6j.net
下のようなコードを書いたとして、
mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
func1はテスト用に置いてるだけで普段は使わない関数なので普段は余計なhogeをインポートされたくないのですがやはりコメントアウトしなきゃですかね?
def func1():
import hoge
...
def main():
...

474:デフォルトの名無しさん
18/10/14 19:35:54.62 FWr9wKhu.net
>mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
されないよ ためしてみそ

475:デフォルトの名無しさん
18/10/14 20:15:26.78 O0tCb1jZ.net
ありがとうございます!
確かめたくても方法が分からなかったですので。助かりました

476:デフォルトの名無しさん
18/10/14 21:15:09.25 jLw0xcfm.net
>>449
どうやったら試せますか?

477:デフォルトの名無しさん
18/10/14 21:16:06.39 WLfX4fFS.net
キャッシュで判る

478:デフォルトの名無しさん
18/10/14 21:44:29.12 FWr9wKhu.net
>>451
>>448の状態で、importしてないと呼び出せない機能をmainに書き込む
たとえば
def func1():
import re
re.compile('hoge')←これはfunc1をよんでくればエラーしない
def main():
re.compile('hoge')
↑func1をよんでないのにこれ書いたらエラーする

479:デフォルトの名無しさん
18/10/14 21:45:08.68 SE0u9ZQa.net
日本語で

480:デフォルトの名無しさん
18/10/14 21:46:06.36 WLfX4fFS.net
その理屈だと一回呼んで戻ってきたら使えることになるな

481:デフォルトの名無しさん
18/10/14 21:48:40.36 FWr9wKhu.net
>>455
あー
そのはっそうは なかったw
450のかき方(インデントは正しくできているものとしてクレン)したら、
func1の中でしかreのimportは効いてナインかな

482:デフォルトの名無しさん
18/10/14 21:53:34.20 FWr9wKhu.net
ちょっとちゃんと実験してみるは... 三 ( ´ⅴ`)

483:デフォルトの名無しさん
18/10/14 21:59:28.27 FWr9wKhu.net
( ・∀・)ノフォラァヨ!!---===≡≡≡ URLリンク(dpaste.com) :main内でエラーするかきかた

484:デフォルトの名無しさん
18/10/14 22:03:32.75 FWr9wKhu.net
つづき
URLリンク(dpaste.com) :やっぱりmain内でえらーしますた (この はっそうは なかった)
けつろん
 >453の注釈はまちがいまくりだな!ゲヒャ(∀・∀)
 >>455の疑問はどんぴしゃごもっともだった

485:デフォルトの名無しさん
18/10/14 22:19:11.86 FWr9wKhu.net
けつろん
> 450のかき方(インデントは正しくできているものとしてクレン)したら、
func1の中でしか
reのimportは効いてナイン

486:デフォルトの名無しさん
18/10/14 22:21:07.83 OWtIHbk2.net
importされたモジュールはimport 文が表れるスコープのローカル名前空間で名前を定義される
URLリンク(docs.python.org)

487:デフォルトの名無しさん
18/10/14 22:52:00.55 FWr9wKhu.net
>>461
ありがとーん

488:デフォルトの名無しさん
18/10/14 22:53:21.18 O0tCb1jZ.net
結局スコープ内でしか有効じゃないから確かめる方法は無いってこと?

489:デフォルトの名無しさん
18/10/14 22:53:49.91 jLw0xcfm.net
たいへん勉強になりますた。

490:デフォルトの名無しさん
18/10/15 04:25:17.24 0W4mw5Ny.net
>>463
>>452
キャッシュで判る
実行前にキャッシュを消して
実行後にキャッシュが出来ているかを見れば
読み込まれたか無視してるかは判る

491:デフォルトの名無しさん
18/10/15 08:59:02.58 pyA/8yHB.net
キャッシュはどうやって見れますか?
mainでキャッシュ見れる関数を書くのですか?

492:デフォルトの名無しさん
18/10/15 09:32:04.81 vNVpiBIf.net
マジでアホの考えなんとやらだ
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない

493:デフォルトの名無しさん
18/10/15 09:56:16.94 XOcEM3KA.net
importするとクラッシュするモジュールが発見出来ませんでした・・
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。

494:デフォルトの名無しさん
18/10/15 09:57:31.08 vNVpiBIf.net
いや、自分で書けばいいだろ
馬鹿が

495:デフォルトの名無しさん
18/10/15 10:31:21.43 /DZZgAIK.net
importするmoduleを自分で書くなら
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶

496:デフォルトの名無しさん
18/10/15 12:38:01.14 A4+xGAqj.net
なんなの遊園地?

497:デフォルトの名無しさん
18/10/15 16:32:59.34 13a7w8hI.net
>>470
天才現る!

498:デフォルトの名無しさん
18/10/15 18:05:35.02 5iEXqQwD.net
>>463
スコープ内で有効だから確かめられないではなくグローバル変数にすれば良いのでは
def func():
import re as _re
global re
re = _re
def main():
func() #コメントアウトするとprintでエラー
print(re)

499:デフォルトの名無しさん
18/10/15 18:19:51.97 /DZZgAIK.net
def main():
#func() #func()無関係にprintでエラー
import re as _re
print(re)

500:デフォルトの名無しさん
18/10/15 21:29:43.28 E6pr56BO.net
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。

501:デフォルトの名無しさん
18/10/15 21:35:11.02 E6pr56BO.net
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。

502:デフォルトの名無しさん
18/10/16 17:08:42.26 u7YyW5Kg.net
自作クラスのインスタンスが持ってる変数を全て、保存しておいた値に戻すようなコードを書きたいのだけれど、どうやって書けばいいかな?
ある時点の値にロールバックしたいということなのだけれど、継承していてもちゃんと動作するようにしたい
想定している処理はこんな感じ
class A:
 def rollback(self):
   全部のインスタンス変数を self.backup の値に戻す
 def make_backup(self):
   self.backup = バックアップを作成
class B(A):
 def proc(self):
   self.make_backup()
   # なんか処理
   self.rollback()
設計が悪いと感じたらなにか代替案を教えていただければ嬉しいです

503:デフォルトの名無しさん
18/10/16 18:16:27.10 YLHbxnbG.net
pickle

504:デフォルトの名無しさん
18/10/16 18:24:52.10 LVmCdvc6.net
あの、プログラム終わったら次のプログラムを起動したいのですがどうやったら開けますか?
最後にはシャットダウンしたいです。
p1.py実行
→最後の行でp2.pyを呼び出す
→p2.py実行
...
→最後の行でpn.pyを呼び出す
→pn.py実行
→最後の行でシャットダウン
こんな感じでやりたいです。

505:デフォルトの名無しさん
18/10/16 18:28:08.45 YLHbxnbG.net
subprocess.Popen

506:デフォルトの名無しさん
18/10/16 18:32:15.10 LVmCdvc6.net
ありがとうございます、できそうです。

507:デフォルトの名無しさん
18/10/16 18:34:41.31 +Y6Wm7U2.net
パイパイを実行?

508:デフォルトの名無しさん
18/10/16 21:07:08.91 uMB0oNTu.net
>>479
それチェーンにしないとダメなの?
普通にp1.py, p2.py, ..., pn.pyを次々に呼び出して最後にシャットダウンするシェルスクリプトなり


509:バッチファイルなりを書けばいいような気もするんだが



510:デフォルトの名無しさん
18/10/17 11:21:44.01 tSH31TrF.net
>>477
グローバル変数使うんじゃだめ?

511:デフォルトの名無しさん
18/10/17 11:49:20.45 LtC7K5yP.net
ORM

512:デフォルトの名無しさん
18/10/17 12:47:48.23 tSH31TrF.net
>>477
>>484です。知ったかぶりしてすみません。グローバル変数ではなくクラス変数でした。
test.pyで
class MyClass:
  commonVALUE=0
  def __init__(self,initv):
    self.value=initv
  def p(self):
    print(f'instance value= {self.value}')
    print(f'class value= {MyClass.commonVALUE}')
  def bkup(self):
    MyClass.commonVALUE=self.value
  def bkload(self):
    self.value=MyClass.commonVALUE
としといて
>>> from test import *
>>> a=MyClass(100)
>>> b=Myclass(0)
>>> a.bkup()
>>> b.p()
instance value= 0
class value= 100
>>> b.bkload()
>>> b.p()
instance value= 100
class value= 100
この後で
>>> c=MyClass(-1)とあらたにインスタンスを作っても
>>> c.p()
instance value= -1
class value= 100
で、クラス変数は0にはならないみたい。

513:デフォルトの名無しさん
18/10/17 13:06:09.93 tSH31TrF.net
行数制限のため連投ですみません。
継承も大丈夫です。
>>> class B(MyClass):
...   def dec(self):
...    self.value-=1
>>> d=B(1)
>>> d.p()
instance value= 1
class value= 100
>>> a.bkup()
>>> d.p()
instance value= 1
class value= 100
>>> d.bkload()
>>> d.dec()
>>> d.p()
instance value= 99
class value= 100

514:デフォルトの名無しさん
18/10/17 13:31:27.53 LGIAN4QA.net
pickle

515:デフォルトの名無しさん
18/10/17 13:35:53.65 cWz6TRDk.net
>>486
それじゃクラス共通になってまうやん
インスタンス毎にバックアップデータ持てないから意図と違うと思う
>>477 で良いと思うけど、何を懸念してるのかを書くともっといい案をもらえそう

516:デフォルトの名無しさん
18/10/17 17:07:18.34 tSH31TrF.net
>>489
クラスと継承クラス共通でバックアップって意味じゃないの? そりゃスマンコってす
...
各インスタンスごとのバックアップを作って、一括でpush/popしたいなら、
リストの要素を各インスタンスをにしといて、
for i in in instance_list:
 i.backup()
とかにすればいいだけなんでねの?

517:デフォルトの名無しさん
18/10/18 10:08:35.95 0gY6dccD.net
>>490
push-popと言いながらプログラムはpush-popじゃないのはわざと?

518:デフォルトの名無しさん
18/10/18 16:41:15.03 551Ojw2f.net
def 関数(arg1,arg2):
ゴニョゴニョ

return ←これが全く理解できないんだけど、目からウロコみたいなページみたいなのないです?

returnが入ると全くわからない。

519:デフォルトの名無しさん
18/10/19 07:14:22.21 97FgwNUY.net
codecs.openて普通のopenより処理重いきがするんですが認識あってるかね?
2.7使ってて文字コード指定で100mb前後のtxtなりcsvてり触りたいんだけど通常のopenでは文字指定出来ず、ioモジュールのopen使うと他のライブラリで使ってるopenの挙動がおかしくなる(?)し、codecs遅いしでどうするのがスマートなのかわからん

520:デフォルトの名無しさん
18/10/19 08:17:42.62 5hJcbR3H.net
codecs.openを使う
そもそもopenに追加処理をしてるのだから、重くて当たり前だろう

521:デフォルトの名無しさん
18/10/19 12:51:38.13 jQ8EJjtV.net
> 488
URLリンク(youtu.be)

522:デフォルトの名無しさん
18/10/20 14:00:43.26 aYMp4dZA.net
URLリンク(github.com)
こちらのgitで公開されているLinux用epubビューアを改造して使いやすくしようと思っているのですが、
行き詰まってしまいました。
ブラウザの戻るボタンのようにリンク先(引用元など)に飛んだ後、直前に戻るボタンを実装したいのですが
(ボタンはgtk3の都合上up arrowボタンを使っています)
改造したのはheader_bar.pyでして、
def __populate_headerbar(self):
(途中省略)
# Adds up arrow chapter navigation button
self.up_arrow_button = Gtk.Button()
self.up_arrow_button.add(Gtk.Arrow(Gtk.ArrowType.UP, Gtk.ShadowType.NONE))
self.up_arrow_button.set_sensitive(False);
self.up_arrow_button.connect("clicked", self.


523:__on_up_arrow_clicked) navigation_box.add(self.up_arrow_button) (途中省略) def __on_up_arrow_clicked(self, button): """ Handles Up Arrow clicked navigation event, go backward :param button: """ if viewer.Viewer.can_go_back(): viewer.Viewer.go_back() とすると、 WebKit.WebView.can_go_back() takes exactly 1 argument (0 given) というエラーがでてしまいます。 (viewer.Viewerはwebkitを継承したものです) どなたかお知恵をお貸し願えたら幸いです。



524:デフォルトの名無しさん
18/10/20 14:07:46.36 u8BRF3D8.net
URLリンク(99blues.dyndns.org)

525:デフォルトの名無しさん
18/10/20 14:24:18.46 n6bj2eyU.net
>>496
インスタンスメソッドをクラスメソッドみたいにして読んでるから、第一引数として暗黙的に渡されるはずだったselfが足りないって怒られてる。
ソースを斜め読みするとViewerのインスタンスはインスタンス構造上の親であるMainWindowが持っているようなので、
self.__window.viewer.can_go_back()でアクセスできるんじゃないかな

526:493
18/10/20 15:04:15.12 aYMp4dZA.net
>>498
if self.__window.viewer.can_go_back():
self.__window.viewer.go_back()
と書いてやってみたらエラーメッセージはでませんでしたが画面が真っ白になってしまいました。
とはいえ、当初のエラーは解消したので大きな進歩です。どうもありがとうございました。
後は勉強がてら自分でやってみます。

527:デフォルトの名無しさん
18/10/20 15:04:58.12 aYMp4dZA.net
>>497
さんもレスありがとうございました。

528:デフォルトの名無しさん
18/10/20 18:30:22.23 V2vR4ZZl.net
>>492
defがここでおしまいですよ 呼び出し元にかえりんしゃー
という意味

529:デフォルトの名無しさん
18/10/20 18:31:25.93 V2vR4ZZl.net
>>493
from codecs import open as codecsopen
とかやって、
codecsまるごとじゃなくcodecs.openだけ読むようにすればちょっとははやくできる
ちょっとは。

530:デフォルトの名無しさん
18/10/22 23:03:44.42 bT6j7LGV.net
素人質問で申し訳ないのですが助けていただきたく質問します。
いま「みんなのPython」をやりはじめたのですが
Anacondaがうまくできません
最初に普通?のPythonをインストールして
そのあとにPythonをアンインストールしたあと
Anacondaをインストールしました。
そして「ファイル名を指定して実行」で「python.exe」と入力しても
「'python.exe'が見つかりません」となってしまいます。
Windows PowerShellで「>python」と入力しても
「用語 'python' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません」
となってしまいます。
Anacondaのインストールでは
「Add Anaconda to my PATH environment variable」にはチェックは入れてません
「Register Anaconda as my default Python 3.6」にはチェックを入れました。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch