X



くだすれPython(超初心者用) その39
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/08/24(金) 07:50:35.97ID:VD4/++xS
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
0368デフォルトの名無しさん
垢版 |
2018/10/04(木) 07:12:26.90ID:sNcNJ12C
Pythonが好きだからこそ他言語を挙げて叩くというマッチポンプをやりたいんだろうな
正直そんな理由でPythonスレを荒らすなよと
0370デフォルトの名無しさん
垢版 |
2018/10/04(木) 10:25:17.49ID:FXVBuQxV
VB/VBAとPHPは貶されて当然
0371デフォルトの名無しさん
垢版 |
2018/10/04(木) 10:57:37.99ID:vhCji18k
>>370
貶されて当然とゆう事は断じてない
間違いなくペチパー、ジャバパー、そしておまえ、は現代の三大バカやけどw
0372デフォルトの名無しさん
垢版 |
2018/10/04(木) 13:06:43.22ID:OaKCCsBZ
普通の荒らしかリアルでゴミみたいな扱いをされて俺の使ってる言語は凄くてそれを使える俺は偉い!他の言語使ってるようなやつはクソ野郎!ていう思考でも持っているのでは?
0373デフォルトの名無しさん
垢版 |
2018/10/04(木) 13:18:44.19ID:b8j5ZQ1w
どっちみちこのご時世でマッチポンプに引っかかる奴はいないだろ
0375デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:16:10.73ID:VCC0vX9L
if文が複数できない・・・

x = 2
if x == 2:
print("数字は 2.")
if x % 2 == 0:
print("数字は偶数.")
if x % 2 != 0:
print("数字は奇数.")

これを入力したいのですが4行目でエンター押して毎回エラーになります・・・なぜ…?
0377デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:28:37.16ID:VCC0vX9L
あっすみません インデントはしっかりやってました
正確にはこうですね 失礼しました

x = 2
if x == 2:
    print("数字は 2.")
if x % 2 == 0:
    print("数字は偶数.")
if x % 2 != 0:
    print("数字は奇数.")
0378デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:32:25.59ID:VCC0vX9L
ただこれでもエラーになるという・・・
ええ・・・if文ホントは複数無理なんじゃね・・・?
って心持です 参考書のままにやってるのに・・・

ちなみにバージョンは最新だと思います
3.7(32-bit)
0380デフォルトの名無しさん
垢版 |
2018/10/04(木) 20:48:40.74ID:gfYLoY1b
>>378
2行目以降のifをelifに置き換える、が答えになると思う
一応そのままゴリ押しするなら一文ごとにelse:で閉じるでもできなくはないと思うが
0382デフォルトの名無しさん
垢版 |
2018/10/04(木) 20:58:51.04ID:S7+ANpdX
どんなエラー?
インデントにタブとスペースが混ざってたりしない?
0385デフォルトの名無しさん
垢版 |
2018/10/04(木) 21:43:29.94ID:DS3BxQCZ
エラーメッセージをエイリアン語か何かと思って無視する癖を止めたら、超初心者は卒業できると思うよ。
兎に角エラーメッセージを晒してね
0386デフォルトの名無しさん
垢版 |
2018/10/04(木) 22:14:58.83ID:KoEltKNu
>>378
対話モードでやってるからエラーになるんだろうな
4行目を入力する前に空行を入力して
if文が終わったことを明示しなくてはならないかと
6行目のところも同じことがいえる
0388デフォルトの名無しさん
垢版 |
2018/10/05(金) 02:36:56.42ID:cxTW4oac
おまいら親切すぎる
なつかれたら面倒
0389デフォルトの名無しさん
垢版 |
2018/10/05(金) 06:17:27.57ID:euHA0F3o
>>386
ありがとうございます 納得しました
次はエラーメッセージも晒します

>>388
人になつかれたことなさそうな人がなんか言ってて笑える
0390デフォルトの名無しさん
垢版 |
2018/10/05(金) 07:00:21.00ID:37p1YF83
分からん。。。

もう一度、プログラムを見つめ直してみる。

ポジション取るんだけど、バックテストで資金が上昇してもロットは一緒。
>>389
0391デフォルトの名無しさん
垢版 |
2018/10/05(金) 07:00:40.10ID:37p1YF83
誤爆した。。。
0392デフォルトの名無しさん
垢版 |
2018/10/05(金) 10:49:11.38ID:kmGDPqXy
エラーメッセージそのままググるだけでもだいぶ違う
0393デフォルトの名無しさん
垢版 |
2018/10/05(金) 11:22:51.52ID:vpbu8eze
なんで、コンソールなんか使うのか?

Ruby, Python でも、VSCode を使え!
拡張機能のCode Runner で、何も考えずとも、右クリックメニューから実行できるわい!
0395デフォルトの名無しさん
垢版 |
2018/10/05(金) 15:22:39.94ID:xGDGeoHe
関数呼び出しの構文について教えて欲しいんだけどさ
AAA(BBB: CCC)とAAA(BBB=CCC)って一緒なの?
0396デフォルトの名無しさん
垢版 |
2018/10/05(金) 15:27:22.70ID:Ohnhdvdr
AAA(**{BBB: CCC})とAAA(BBB=CCC)
はホボ一緒だけど
関数の定義のされ方によっては違う
0398デフォルトの名無しさん
垢版 |
2018/10/06(土) 17:47:15.35ID:ClYVvTDI
djangoでゲーム作ってる方っています?
作ってるなら、どんな感じのゲームを作ってるか知りたいです

djangoでのwebアプリ制作の練習も兼ねて、ログインとかデータ保存のできるブラウザゲームを作ろうと思ってるところなんですが、個人でフレームワークを使っての開発は手に余るかな、と気になって…
JavaScriptの方が管理しやすいかなぁ
0399デフォルトの名無しさん
垢版 |
2018/10/06(土) 17:57:08.71ID:e52HQVrn
どうみてもDjangoの方が楽
0401デフォルトの名無しさん
垢版 |
2018/10/06(土) 18:22:42.90ID:ClYVvTDI
ほんとだ、結局JavaScriptが必要ですね
それに、誰かにやってもらう場合だと、サーバー用意するか、相手の方にもPythonいれてもらわないとダメだ…
0402デフォルトの名無しさん
垢版 |
2018/10/07(日) 08:57:44.35ID:uCAn2+3z
言語より環境の方に縛られるという事だな
0403デフォルトの名無しさん
垢版 |
2018/10/07(日) 12:13:18.81ID:Q039ezIc
既に環境を構築してあるDockerを使え
便利だぞ
0404デフォルトの名無しさん
垢版 |
2018/10/08(月) 14:28:05.12ID:ofuYlJd2
webapiで取得したjsonのログデータを取得したあとcsvに変換するプログラム作ってます
pandas使ってappendで1行毎dataflameを追加していく方式でやっているんですが処理時間がかなり掛かってしまいます
jsonをcsvに変換する良い方法他にないですかね?
jsonはかなり深くネストされておりfor文使って特定のキーの場合のみdf追加としているので処理が重そうです
csvは10万行近くになります
0405デフォルトの名無しさん
垢版 |
2018/10/08(月) 15:11:28.99ID:+5qyKWRv
元のjsonファイルと出力したいcsvのイメージ貼ってみ
0407デフォルトの名無しさん
垢版 |
2018/10/08(月) 19:20:19.69ID:0S7LCRH0
1レコードあたりの行数に目途が付くなら
単にテキストファイルをシーケンシャルに読んで
レコード毎にループして正規表現とかで処理するか
丸ごと一個のjsonを読むんじゃなくて
json の visits [] の中身だけに適用して
やっぱりレコード毎にループで処理
0409デフォルトの名無しさん
垢版 |
2018/10/09(火) 12:09:20.78ID:lquF7TGT
>>408
全体的にpandasは使わずに
正規表現などを使った自前の処理でカンマ区切りのテキストを生成して
テキストファイルに追記モードで行を追加していけば処理が軽くなるんじゃね
ということ

あと、countryとcountryCodeが常に同じペアになるなら長い方を削除するとか
"os": "Windows"を"win"とか"w"に変換するとかで書き込み量を減らせば
多少早くなるかも
0410デフォルトの名無しさん
垢版 |
2018/10/09(火) 17:28:44.16ID:c0UbTvkE
jsonのobjectって結局馬鹿デカいリストだから
全部pandasに食わせるのは非効率
0411デフォルトの名無しさん
垢版 |
2018/10/09(火) 19:09:14.17ID:QlHcI7ga
>>407
>>409
ありがとうございます
目処は付かないですね 25000件のjsonを中の配列単位で分けていくと10万行になったて感じですので…
pandasは勝手に軽いものと思ってたんですがそうでは無いのですね
もう少し自力で試しつつ、無理そうであれば別の方法探してみます
回答ありがとうございました
0412デフォルトの名無しさん
垢版 |
2018/10/10(水) 01:28:49.68ID:cxHjn/W/
25000件で10万レコードって意味なら
1レコードあたりたったの4行だぞ
大したことないじゃん
0414デフォルトの名無しさん
垢版 |
2018/10/10(水) 07:27:32.29ID:sjNy7la0
anaconda環境でnotepadでプログラム書くのできますか?
Jupiter使ったほうが良いでしょうか?
0415デフォルトの名無しさん
垢版 |
2018/10/10(水) 07:48:52.41ID:qywSzTWT
メモ帳は、プログラミングに使ったらダメ!

BOM付きUTF-8 になるから、バグる。
BOMなしUTF-8(UTF-8N)にできるエディタを使うべき!

今は、すべての言語で、VSCode を使う
0419デフォルトの名無しさん
垢版 |
2018/10/11(木) 08:09:45.65ID:MfMAF/GN
>>415
すいません、ありがとうございます。

それとパスが通ってなくコマンドプロンプトからpythonと入れても起動できなくて、anaconda3\pythonだと起動するのですが。
環境変数にC:\Anaconda3;C:\Anaconda3\Scripts;C:\Anaconda3\Library\bin;など色々試してもダメでした。

英語のサイトとかを見てもできなくて、なんか根本的な所が足りないと思います。
なにか根本から勉強できるサイトはないでしょうか?英語でもなんとか頑張ります。
0421デフォルトの名無しさん
垢版 |
2018/10/11(木) 09:45:22.82ID:/KTbB4eS
Python と Javascript ではじめるデータビジュアライゼーションの50ページです

https://ideone.com/Xv83M6
28行目でエラーになってしまいます。

Traceback (most recent call last):
File "./hoge.py", line 28, in <module>
cols.sort()
AttributeError: 'dict_keys' object has no attribute 'sort'

何がいけないんでしょうか?
0422デフォルトの名無しさん
垢版 |
2018/10/11(木) 11:12:50.15ID:dGtKIiaR
'dict_keys' オブジェクトは 'sort' 属性をもっていない
sortメソッドはおそらくリストオブジェクトのメソッドだろうから
dict_keysオブジェクトをlistオブジェクトにしたら動くと思うよ
0423デフォルトの名無しさん
垢版 |
2018/10/11(木) 11:17:30.10ID:6B3tPTW8
>>417
MeryやgPadがおすすめ
TeraPadはUTF-8で読み書きはできるけどShiftJISに無い文字は扱えないのでおすすめしない
0424デフォルトの名無しさん
垢版 |
2018/10/11(木) 11:25:22.78ID:/KTbB4eS
>>422
どうもありがとうございます
list()で括ったらうまくいきました

3年くらい前の本なんですが、Python2だとこれでも動いたのかそれとも誤記なのかどっちでしょうか?

次のページで、printする際に最後にコンマを付けると改行されないと書いてあったけれど、python3ではコンマ有る無しで表示結果は変わりませんでした。

print(hoge), # こんな感じで
0425デフォルトの名無しさん
垢版 |
2018/10/11(木) 11:31:34.26ID:3Bdkvxy9
漏れは、TeraPad は、メモ書きに使っている。
アプリのサイズが小さい

ただし、一部の文字が使えない。
中国の地名の「深圳」みたいな文字が「深?」になる
0427デフォルトの名無しさん
垢版 |
2018/10/11(木) 11:43:56.19ID:3Bdkvxy9
>>419
例えば、コマンドプロンプトで、where notepad
と入力すると以下のように、メモ帳の実行ファイルのパスが表示される

C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

同様に、where python と入力すれば?

これで正しく表示されないのなら、
python.exe があるフォルダを、ユーザー環境変数PATH に追加する

環境変数PATHをいじるという事は、全システムの挙動を変える、危険な行為だから、
その知識がないと、開発なんてできない!
0428デフォルトの名無しさん
垢版 |
2018/10/11(木) 12:31:23.10ID:3et536X6
>>424
3年前でpython2なのか、スゲー本だな
訳注ぐらい入れれば良いのにね
python3だとprint(hoge end='')
0430デフォルトの名無しさん
垢版 |
2018/10/11(木) 13:10:38.79ID:bLRRmr2D
>>426
>>428
>>429
どうもありがとうございます。
2と3の違いググりました。
listで括らない方法はPython2でのやり方、printの最後のコンマもPython2でのやり方なんですね

2016年7月に原書が出て2017年8月に日本語版が出た本です。
今見たらprintの訳注が載ってたんですが、コンマはPython2でのやり方で3では使えないと言った事は書かれてありませんでした。
print(hoge, sep='')だとよりPythonらしい書き方だという風に書いてありました。
0431デフォルトの名無しさん
垢版 |
2018/10/11(木) 18:42:11.43ID:MfMAF/GN
>>427
ありがとうございます。
ずっとやってましたが、色々と調べててもわかりそうにありません。
anaconda3\pythonで動くのに、whereでpythonは出てこず、Path設定してもダメです。
ほんと基本がわかってないと思うので、pathにチェック入れてanacondaを再インストールしてみようと思います。
自分でいじるのは、知識をどうにかしてつけてからにします。
0433デフォルトの名無しさん
垢版 |
2018/10/11(木) 23:48:03.56ID:gjrJHmO+
Anacondaのデフォインストール先C:\Users\<ユーザー名>\Anaconda3じゃん
C:\Anaconda3にパス通しても動かなくて当たり前
コマンドプロンプトからやらずにスタートメニューのAnaconda Promptから開けばパス通ったコマンドプロンプトが開く
0434デフォルトの名無しさん
垢版 |
2018/10/12(金) 05:14:13.33ID:sf+PB/Vk
>>432
将来的に検索もできる対話型AIを作りたいです。
>>433
その当たり前がわからなくて、色々サイトみてて当たり前にできてるようなので、問題解決しないとダメなのかなって思ってしまいます。
パスが通ったとか、コマンドプロンプトとanaconda pronptがどういったものかもわからない状態です。
一つ一つがどういったもので、どう動いてるとかから勉強したいと思います。
0435デフォルトの名無しさん
垢版 |
2018/10/12(金) 09:45:35.48ID:C1pVYns8
Linux の基本コマンドとか、環境変数PATH など、
OS の基礎を知らない人は、開発者になれない

情報処理資格とか、コンピューターリテラシーが必要

仮想環境では、activate を実行したときだけ、
環境変数PATH に追加するようなプログラムもある

activate する前には、python というコマンドは実行できないが、
activate した後には、python というコマンドが実行できる
0436デフォルトの名無しさん
垢版 |
2018/10/12(金) 14:37:53.89ID:46Wm2YVF
>情報処理資格

Linux とは関係ない

開発に必要ということは同意
0437デフォルトの名無しさん
垢版 |
2018/10/13(土) 20:39:27.21ID:i2AAnytP
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じゅないの?
0440デフォルトの名無しさん
垢版 |
2018/10/14(日) 00:43:28.48ID:7a55cFNG
re.searchでグループ化したものを取り出す時に
?P<name>で出来たのですが
re.subと同様に通常の正規表現の「\1」のように
書く書き方は出来ないですか? よろしくお願いします。
0444デフォルトの名無しさん
垢版 |
2018/10/14(日) 16:58:59.85ID:G4e8iFcg
Py_INCREF()を呼ぶタイミングを教えてください
0445デフォルトの名無しさん
垢版 |
2018/10/14(日) 19:12:00.22ID:NuEYON6j
下のようなコードを書いたとして、
mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
func1はテスト用に置いてるだけで普段は使わない関数なので普段は余計なhogeをインポートされたくないのですがやはりコメントアウトしなきゃですかね?

def func1():
import hoge
...

def main():
...
0446デフォルトの名無しさん
垢版 |
2018/10/14(日) 19:35:54.62ID:FWr9wKhu
>mainの中でfunc1が呼ばれない場合でもhogeはimportされますか?
されないよ ためしてみそ
0447デフォルトの名無しさん
垢版 |
2018/10/14(日) 20:15:26.78ID:O0tCb1jZ
ありがとうございます!
確かめたくても方法が分からなかったですので。助かりました
0449デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:16:06.39ID:WLfX4fFS
キャッシュで判る
0450デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:44:29.12ID:FWr9wKhu
>>448
>>445の状態で、importしてないと呼び出せない機能をmainに書き込む
たとえば

def func1():
import re
re.compile('hoge')←これはfunc1をよんでくればエラーしない

def main():
re.compile('hoge')
↑func1をよんでないのにこれ書いたらエラーする
0451デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:45:08.68ID:SE0u9ZQa
日本語で
0452デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:46:06.36ID:WLfX4fFS
その理屈だと一回呼んで戻ってきたら使えることになるな
0453デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:48:40.36ID:FWr9wKhu
>>452
あー
そのはっそうは なかったw

450のかき方(インデントは正しくできているものとしてクレン)したら、
func1の中でしかreのimportは効いてナインかな
0455デフォルトの名無しさん
垢版 |
2018/10/14(日) 21:59:28.27ID:FWr9wKhu
( ・∀・)ノフォラァヨ!!---===≡≡≡ ttp://dpaste.com/18SSZEP :main内でエラーするかきかた
0456デフォルトの名無しさん
垢版 |
2018/10/14(日) 22:03:32.75ID:FWr9wKhu
つづき
ttp://dpaste.com/17A5RJ3 :やっぱりmain内でえらーしますた (この はっそうは なかった)

けつろん
 >450の注釈はまちがいまくりだな!ゲヒャ(∀・∀)
 >>452の疑問はどんぴしゃごもっともだった
0457デフォルトの名無しさん
垢版 |
2018/10/14(日) 22:19:11.86ID:FWr9wKhu
けつろん

> 450のかき方(インデントは正しくできているものとしてクレン)したら、

func1の中でしか
reのimportは効いてナイン
0462デフォルトの名無しさん
垢版 |
2018/10/15(月) 04:25:17.24ID:0W4mw5Ny
>>460

>>449
キャッシュで判る

実行前にキャッシュを消して
実行後にキャッシュが出来ているかを見れば
読み込まれたか無視してるかは判る
0463デフォルトの名無しさん
垢版 |
2018/10/15(月) 08:59:02.58ID:pyA/8yHB
キャッシュはどうやって見れますか?
mainでキャッシュ見れる関数を書くのですか?
0464デフォルトの名無しさん
垢版 |
2018/10/15(月) 09:32:04.81ID:vNVpiBIf
マジでアホの考えなんとやらだ
importするとクラッシュするモジュールを用意して
func1からimportしてみりゃーいいだろ
クラッシュすればimportされてるし、しないならimportされていない
0465デフォルトの名無しさん
垢版 |
2018/10/15(月) 09:56:16.94ID:XOcEM3KA
importするとクラッシュするモジュールが発見出来ませんでした・・
よければ名前を教えて貰えますか?pipで入れられたらなおありがたいです。
0467デフォルトの名無しさん
垢版 |
2018/10/15(月) 10:31:21.43ID:/DZZgAIK
importするmoduleを自分で書くなら
moduleの初期化時にprint('読まれたよ!')って書いて置けば桶
■ このスレッドは過去ログ倉庫に格納されています

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