Pythonオフィシャルサイト
http://www.python.org/
■前スレ
Pythonのお勉強 Part55
https://mevius.5ch.net/test/read.cgi/tech/1513919747/
Pythonのお勉強 Part56
レス数が950を超えています。1000を超えると書き込みができなくなります。
2018/02/24(土) 09:07:21.39ID:5jzCjhzv
851デフォルトの名無しさん
2018/06/13(水) 02:23:17.41ID:WszqQhwI そういう意味なら、最終的にプログラムが速く動くように使い分ける
(最後に本音がある)
以下、例外をスローする関数を関数t
事前条件を検証する関数を関数cとする
関数t: 呼び出しが低コスト、かつ呼び出し回数が少ない
→try~catch
関数c: 関数tと同等の呼び出しコスト
→try~catch
関数t: 呼び出しが高コスト、または呼び出し回数が多い
関数c: 事前条件の判定に成功したら関数tは例外をスローしない
→if
関数t: 呼び出しが高コスト、または呼び出し回数が多い
関数c: 事前条件の判定に成功しても関数tは例外をスローすることがある
→if+try~catch
…新人に聞かれたらこう答えるかな
実際は長時間ブン回す機械学習ならともかく、Pythonで速度を気にしても仕方がないケースが多いので
あまり厳密に考えてはいない…
(最後に本音がある)
以下、例外をスローする関数を関数t
事前条件を検証する関数を関数cとする
関数t: 呼び出しが低コスト、かつ呼び出し回数が少ない
→try~catch
関数c: 関数tと同等の呼び出しコスト
→try~catch
関数t: 呼び出しが高コスト、または呼び出し回数が多い
関数c: 事前条件の判定に成功したら関数tは例外をスローしない
→if
関数t: 呼び出しが高コスト、または呼び出し回数が多い
関数c: 事前条件の判定に成功しても関数tは例外をスローすることがある
→if+try~catch
…新人に聞かれたらこう答えるかな
実際は長時間ブン回す機械学習ならともかく、Pythonで速度を気にしても仕方がないケースが多いので
あまり厳密に考えてはいない…
852デフォルトの名無しさん
2018/06/13(水) 08:00:31.25ID:xCQwBm/v >>850
Python とかの例外機構が備わってる言語だとそれぐらいですむけどC言語とかでまともに異常処理を行うと 2/3 程度は異常処理になるのはよくある
Python とかの例外機構が備わってる言語だとそれぐらいですむけどC言語とかでまともに異常処理を行うと 2/3 程度は異常処理になるのはよくある
853デフォルトの名無しさん
2018/06/13(水) 09:05:52.82ID:nKOKvJ/8 何かとすぐ速度って言葉でマウント取るけど例外キャッチは書き手の意図を拾うって意味でも大事でしょ
例外を迂回しただけだったら例外でる可能性についてどこまで書き手が想定してるのか分からない
例外キャッチが明文化されていれば少なくとも意図された挙動の範疇かどうかはすぐにわかる
例外を迂回しただけだったら例外でる可能性についてどこまで書き手が想定してるのか分からない
例外キャッチが明文化されていれば少なくとも意図された挙動の範疇かどうかはすぐにわかる
854デフォルトの名無しさん
2018/06/13(水) 12:31:02.16ID:stoLLb9S 何かとマウントって言葉が出てくる繊細チンピラ。
死ぬまでママとだけお話しててくんねーかな。
死ぬまでママとだけお話しててくんねーかな。
855デフォルトの名無しさん
2018/06/13(水) 12:34:43.41ID:IIqCHZSl 今から大事な事言うからよく聞けおまけら
例外はキャッチするな
例外はキャッチするな
856デフォルトの名無しさん
2018/06/13(水) 12:42:59.42ID:K3GazO76 そしてイベントは発火する
857デフォルトの名無しさん
2018/06/13(水) 15:24:39.05ID:mbrmHeFX なんでpythonの例外の話してるのに
CとかJavaの例出してくるの?
馬鹿なの?
CとかJavaの例出してくるの?
馬鹿なの?
858デフォルトの名無しさん
2018/06/13(水) 17:11:58.37ID:f64ViDwD fuga = "{},{},{}\n".format(
hoge[0],
hoge[1],
hoge[2],
)
output.write(fuga)
って感じのことをしたいんですが、hoge[300]とかまで続くときはどうしたら良いのでしょう?
hoge[0],
hoge[1],
hoge[2],
)
output.write(fuga)
って感じのことをしたいんですが、hoge[300]とかまで続くときはどうしたら良いのでしょう?
859デフォルトの名無しさん
2018/06/13(水) 17:13:25.10ID:f64ViDwD \nは /nです><
860デフォルトの名無しさん
2018/06/13(水) 17:14:43.92ID:HXlAcUu8 "\n".join(hoge)
861デフォルトの名無しさん
2018/06/13(水) 17:50:47.15ID:mbrmHeFX fuga = '{}\n'.format(','.join(f'{_}' for _ in hoge))
862デフォルトの名無しさん
2018/06/13(水) 17:56:50.72ID:e5rB4/3b fmt = "{}" + (",{}" * (len(hoge) - 1)) + "\n"
fuga = fmt.format(*hoge)
fuga = fmt.format(*hoge)
863デフォルトの名無しさん
2018/06/13(水) 18:01:58.20ID:f64ViDwD 皆さん神ですね。
ありがとうございます
ありがとうございます
864デフォルトの名無しさん
2018/06/13(水) 18:22:34.93ID:f64ViDwD hoge = ["さんま","うなぎ","カッパ"]
fmt = "{}" + (",{}" * (len(hoge) - 1)) + "\n"
fuga = fmt.format(
hoge[0].replace("さんま","ぐんま")
)
これだと
hoge[1]
hoge[2]に変更が無いとしても書かないとエラーになりますよね?
hogeが300個くらいあるとき、どうしたら良いでしょう?
fmt = "{}" + (",{}" * (len(hoge) - 1)) + "\n"
fuga = fmt.format(
hoge[0].replace("さんま","ぐんま")
)
これだと
hoge[1]
hoge[2]に変更が無いとしても書かないとエラーになりますよね?
hogeが300個くらいあるとき、どうしたら良いでしょう?
865デフォルトの名無しさん
2018/06/13(水) 18:29:08.68ID:HXlAcUu8 イマイチやりたいことが見えないが、
fuga =",".join([str(s).replace("さんま","ぐんま") for s in hoge])+ "\n"
fuga =",".join([str(s).replace("さんま","ぐんま") for s in hoge])+ "\n"
866デフォルトの名無しさん
2018/06/13(水) 18:33:39.96ID:f64ViDwD867デフォルトの名無しさん
2018/06/13(水) 18:43:39.13ID:f64ViDwD なんというか列300、行400くらいのファイルが有りまして。
一行毎に変換処理を書いてるのですが、列は処理しない項目が多いのです。
300の内、10項目ほどしか処理が無いのです。
hoge[0]〜hoge[300]とか力技でも良いかなと思って書いてますが、"変換しない"箇所はスキップできないかなーと思っているしだいです。
一行毎に変換処理を書いてるのですが、列は処理しない項目が多いのです。
300の内、10項目ほどしか処理が無いのです。
hoge[0]〜hoge[300]とか力技でも良いかなと思って書いてますが、"変換しない"箇所はスキップできないかなーと思っているしだいです。
868デフォルトの名無しさん
2018/06/13(水) 19:00:21.31ID:f64ViDwD あ、ファイルはcsvでカンマでsplitしています。
869デフォルトの名無しさん
2018/06/13(水) 19:53:45.62ID:hQ1ezRY5 import csv
with open("1.csv") as input:
writer = csv.writer(output)
reader = csv.reader(input)
for row in reader:
row[0] = row[0].replace("さんま", "ぐんま")
writer.writerow(row)
with open("1.csv") as input:
writer = csv.writer(output)
reader = csv.reader(input)
for row in reader:
row[0] = row[0].replace("さんま", "ぐんま")
writer.writerow(row)
870デフォルトの名無しさん
2018/06/13(水) 19:55:11.91ID:hQ1ezRY5 あら
ごめん、 は空白に置き換えて
ごめん、 は空白に置き換えて
871デフォルトの名無しさん
2018/06/13(水) 20:28:49.06ID:c9M6jDul872デフォルトの名無しさん
2018/06/14(木) 10:01:22.21ID:b+x6hMO7 fuga =",".join(str(s).replace("さんま","ぐんま") for s in hoge if s == 0)+ "\n"
じゃないのか
じゃないのか
873デフォルトの名無しさん
2018/06/14(木) 10:07:09.32ID:zDlcM/ZJ >>868
csvならpandas使ったらいいよ。ちょっと慣れないとつかいにくいけど色々と処理も用意されてるし、速いし。
csvならpandas使ったらいいよ。ちょっと慣れないとつかいにくいけど色々と処理も用意されてるし、速いし。
874デフォルトの名無しさん
2018/06/14(木) 13:13:48.87ID:bu9zg9Xo ありがとう、pandasは選択肢に入っていますが基本的な処理を覚えたいので使用せずに試行錯誤しています
875デフォルトの名無しさん
2018/06/14(木) 19:34:53.33ID:HGnKAsKb spyderの変数エクスプローラーの表示を暗くしたいんだけど何かいい方法ないですか?
876デフォルトの名無しさん
2018/06/16(土) 07:00:13.60ID:rHcXKEyD prettytableについて質問です。
以下の場合、City nameは左揃え、AreaとAnnual Rainfallは右揃えになるんですが、
ヘッダのみ中央揃えにするにはどう書けばよいんでしょうか?
$ vim alignment.py
#!/usr/bin/python3
from prettytable import PrettyTable
x = PrettyTable()
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
x.align["City name"] = "l"
x.align["Area"] = "r"
x.align["Annual Rainfall"] = "r"
x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
print(x)
$ ./alignment.py
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
| Adelaide | 1295 | 1158259 | 600.5 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Darwin | 112 | 120900 | 1714.7 |
+-----------+------+------------+-----------------+
以下の場合、City nameは左揃え、AreaとAnnual Rainfallは右揃えになるんですが、
ヘッダのみ中央揃えにするにはどう書けばよいんでしょうか?
$ vim alignment.py
#!/usr/bin/python3
from prettytable import PrettyTable
x = PrettyTable()
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
x.align["City name"] = "l"
x.align["Area"] = "r"
x.align["Annual Rainfall"] = "r"
x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
print(x)
$ ./alignment.py
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
| Adelaide | 1295 | 1158259 | 600.5 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Darwin | 112 | 120900 | 1714.7 |
+-----------+------+------------+-----------------+
877デフォルトの名無しさん
2018/06/16(土) 10:20:34.77ID:jsEUCTRB878デフォルトの名無しさん
2018/06/16(土) 11:20:55.92ID:eJREzlFG すいませんめっちゃ初心者なんですけど
>>> "5" + 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
>>> "5" - 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
こんな感じで
"5" + 1と"5" - 1という非常に類似した二つの「異なる型どうしの操作で起こるエラー」が
全く違うエラー内容になるのはなぜですかね。
Python3です。
>>> "5" + 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
>>> "5" - 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
こんな感じで
"5" + 1と"5" - 1という非常に類似した二つの「異なる型どうしの操作で起こるエラー」が
全く違うエラー内容になるのはなぜですかね。
Python3です。
879デフォルトの名無しさん
2018/06/16(土) 11:28:35.03ID:tSBHlQGm 知らんけど文字列同士の+は定義されてるけど-はされてないからじゃないけ
880デフォルトの名無しさん
2018/06/16(土) 11:31:58.26ID:naGQb1Ef >>877
野良
野良
881デフォルトの名無しさん
2018/06/16(土) 11:35:39.24ID:Tvz9jTpd ゴミをつつくな
882デフォルトの名無しさん
2018/06/16(土) 16:05:58.30ID:TJIUHWP+ 研究室のMatlabが2017bから更新されないからPythonに移行したくてMatlabと似た使用感のSpyder使い始めたけど
古いMatlabでもグラフ作成はPythonより圧倒的にやりやすいから移行できない
下記のQiitaの記事読んだけどいまいち自由自在に操作できない
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
古いMatlabでもグラフ作成はPythonより圧倒的にやりやすいから移行できない
下記のQiitaの記事読んだけどいまいち自由自在に操作できない
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
883デフォルトの名無しさん
2018/06/16(土) 16:10:09.64ID:mGUvusUx >>882
だからどうしてほしいの?
だからどうしてほしいの?
884デフォルトの名無しさん
2018/06/16(土) 16:29:50.18ID:naGQb1Ef pythonをdisりに来ただけか
885デフォルトの名無しさん
2018/06/16(土) 16:31:48.39ID:4s08VDiG 何度も言われてるけど馬鹿には無理だから
886デフォルトの名無しさん
2018/06/16(土) 17:10:21.37ID:CxuEM3bO 一方のMatlabは馬鹿でも可能です!
887デフォルトの名無しさん
2018/06/16(土) 19:07:52.79ID:rHcXKEyD888デフォルトの名無しさん
2018/06/16(土) 19:39:36.19ID:V0Z3yofC >>878-879
文字列の+ は、文字列の連結じゃないの?
文字列の+ は、文字列の連結じゃないの?
889デフォルトの名無しさん
2018/06/16(土) 19:53:08.00ID:eJREzlFG890デフォルトの名無しさん
2018/06/16(土) 19:56:59.16ID:eJREzlFG ああなるほど
試しに
5 + "1"
とやると
"5" - 1
とやったときとほぼ一緒の内容の警告(strとintが逆、-と+演算子が違うだけ)が出力されました。
なにぶんこの時分になってPython初心者なので変な質問をしてすいませんでした。
とりあえず自分のなかでは納得できました。
「Pythonは他の一般的な言語と同様に左から解析をしていき、
演算子は左項の型推論で得られた結果によってその意味を変えることがある」
ということですね。
試しに
5 + "1"
とやると
"5" - 1
とやったときとほぼ一緒の内容の警告(strとintが逆、-と+演算子が違うだけ)が出力されました。
なにぶんこの時分になってPython初心者なので変な質問をしてすいませんでした。
とりあえず自分のなかでは納得できました。
「Pythonは他の一般的な言語と同様に左から解析をしていき、
演算子は左項の型推論で得られた結果によってその意味を変えることがある」
ということですね。
891デフォルトの名無しさん
2018/06/16(土) 21:22:52.11ID:V0Z3yofC Ruby と同じ。
2項演算子は、左側の型のメソッドになるのかな?
文字列型の、+ メソッドは、文字列の連結
2項演算子は、左側の型のメソッドになるのかな?
文字列型の、+ メソッドは、文字列の連結
892デフォルトの名無しさん
2018/06/16(土) 21:31:05.21ID:xo8+58G0 同じと言われましても、そのlubii?とか言う泡沫言語なんて知りませんし興味もありません。
本屋の棚に、そんな言語有りませんでしたよ?
pythonは一棚占有してましたが。
本屋の棚に、そんな言語有りませんでしたよ?
pythonは一棚占有してましたが。
893デフォルトの名無しさん
2018/06/16(土) 21:33:07.37ID:eJREzlFG >>891
あーなるほど
ちょっとというかかなり蛇足ですが
JavaScriptだと(有名なのでご存知かもしれません)
console.log("5" + 1)
51
console.log("5" - 1)
4
という処理をするんですよね。Pythonだとどうなのかなと気になったので。
あーなるほど
ちょっとというかかなり蛇足ですが
JavaScriptだと(有名なのでご存知かもしれません)
console.log("5" + 1)
51
console.log("5" - 1)
4
という処理をするんですよね。Pythonだとどうなのかなと気になったので。
894デフォルトの名無しさん
2018/06/16(土) 21:50:06.93ID:jsEUCTRB >>887
たぶんムリっぽいですね〜、分からないですけど、、見た感じムリっぽいですぅー
たぶんムリっぽいですね〜、分からないですけど、、見た感じムリっぽいですぅー
895デフォルトの名無しさん
2018/06/17(日) 00:58:14.74ID:Hwfrbz2H オライリー のPythonによるWebスクレイピングって本買ったんだがこれは機械翻訳か?
パラっと見てるがtreeが木でPrintは印刷となってて酷いぞ
意味のわからない日本語が時々出てくるんだがそれももしかして直訳なのかと思うとゾッとする
パラっと見てるがtreeが木でPrintは印刷となってて酷いぞ
意味のわからない日本語が時々出てくるんだがそれももしかして直訳なのかと思うとゾッとする
896デフォルトの名無しさん
2018/06/17(日) 01:01:10.30ID:QL/zJT52 ゾッとするバカやなコイツw
897デフォルトの名無しさん
2018/06/17(日) 02:35:57.34ID:JgwWYBD4 today = datetime.today()
today_date = datetime.strftime(today, '%Y-%m-%d')
print(today_date)
朝の5時から翌日の5時前今日の扱いにしたい時はどうしたらいいでしょうか?
today_date = datetime.strftime(today, '%Y-%m-%d')
print(today_date)
朝の5時から翌日の5時前今日の扱いにしたい時はどうしたらいいでしょうか?
898デフォルトの名無しさん
2018/06/17(日) 04:05:47.12ID:1HnG+cYb today -= timedelta(hours=5)
899デフォルトの名無しさん
2018/06/17(日) 04:38:25.48ID:Hwfrbz2H >>898
どうもありがとうございます!
どうもありがとうございます!
900デフォルトの名無しさん
2018/06/17(日) 14:05:34.76ID:sqEb+s4v numpyの
アダマール積の値が大きいほど
2つの行列は近似的な物だと判断できるんですか?
アダマール積の値が大きいほど
2つの行列は近似的な物だと判断できるんですか?
901デフォルトの名無しさん
2018/06/17(日) 15:22:07.52ID:Wo64nPZg 🌔の記事読んだな
902デフォルトの名無しさん
2018/06/17(日) 22:22:32.37ID:TCydU/Wg >>900
アダマール積?
アダマール積?
903デフォルトの名無しさん
2018/06/17(日) 23:17:37.34ID:1HnG+cYb 誰かが意味不明なことを主張してたっていう話?
904デフォルトの名無しさん
2018/06/18(月) 22:25:21.10ID:Gh94yMzJ905デフォルトの名無しさん
2018/06/18(月) 22:34:27.41ID:c52GmVnb スクリプトを動かしていて任意のタイミングで終了させるにはどんな方法がありますか?
例えば、キーボードのQを押すとスクリプトが終了するようにさせたいです。
例えば、キーボードのQを押すとスクリプトが終了するようにさせたいです。
906デフォルトの名無しさん
2018/06/18(月) 22:43:21.39ID:YbHtF4sg ctrl+cじゃダメなのかな。
907デフォルトの名無しさん
2018/06/18(月) 22:59:48.49ID:c52GmVnb コントロールCを使うのが一般的ですか?
popenのwaitを使ってみてるんですけれど、ctrl+Cで止めると
Traceback何々が数行表示されるので、この表示が出ない逃したいいなと思いました。
停止させたら、任意の文字も表示できればもっといいです。
popenのwaitを使ってみてるんですけれど、ctrl+Cで止めると
Traceback何々が数行表示されるので、この表示が出ない逃したいいなと思いました。
停止させたら、任意の文字も表示できればもっといいです。
908デフォルトの名無しさん
2018/06/18(月) 23:12:03.97ID:YbHtF4sg >>907
何が一般的か知らない。
任意のキーで停止できるようにしたいならcursesとか使うんだろうなと思うけど、おれは使ったことないからわからん。
お手軽にやりたいならctrl+cで止まるようにして、KeyboardInteruptを例外処理しとけば楽かと。
何が一般的か知らない。
任意のキーで停止できるようにしたいならcursesとか使うんだろうなと思うけど、おれは使ったことないからわからん。
お手軽にやりたいならctrl+cで止まるようにして、KeyboardInteruptを例外処理しとけば楽かと。
909デフォルトの名無しさん
2018/06/18(月) 23:12:37.41ID:c52GmVnb どうもありがとうございます
調べてみます
調べてみます
910デフォルトの名無しさん
2018/06/19(火) 02:45:16.28ID:2WBCmyr3911デフォルトの名無しさん
2018/06/19(火) 02:53:49.41ID:DGMT9Nzy https://docs.python.jp/3/library/venv.html
Python3のvenv仮想環境を使おうと思うのですが
インストール先の推奨パスとかありますかね。
ブログを見たりすると~/venv36とかみたいなんですが、できればホームディレクトリには置きたくないです。
もう少し体系化された場所に置きたいです。
Python3のvenv仮想環境を使おうと思うのですが
インストール先の推奨パスとかありますかね。
ブログを見たりすると~/venv36とかみたいなんですが、できればホームディレクトリには置きたくないです。
もう少し体系化された場所に置きたいです。
912デフォルトの名無しさん
2018/06/19(火) 03:29:26.55ID:DGMT9Nzy すいませんpython3-venvパッケージが提供されていたのでそれを使用することにしました。
ちなみに/usr/lib/python3.5/venvでした。
ちなみに/usr/lib/python3.5/venvでした。
913デフォルトの名無しさん
2018/06/19(火) 04:15:21.86ID:hCbA6sKc >>910
どうもありがとうございます。そちらも試してみます。
関数の勉強をしています。
画像のように書いて、print_info(program_id)を実行すると、111行目でエラーになってしまいます。
ためしに106行目をコメントアウトして107行目のコメントを外すと正常に動きました。
program_id()を実行すると、ちゃんと2018061867184という文字が取得出来るので、その文字を106行目と109行目のpprogram_idに入れたいです。
どこが間違えていますか?
https://i.imgur.com/4QzrsIM.jpg
どうもありがとうございます。そちらも試してみます。
関数の勉強をしています。
画像のように書いて、print_info(program_id)を実行すると、111行目でエラーになってしまいます。
ためしに106行目をコメントアウトして107行目のコメントを外すと正常に動きました。
program_id()を実行すると、ちゃんと2018061867184という文字が取得出来るので、その文字を106行目と109行目のpprogram_idに入れたいです。
どこが間違えていますか?
https://i.imgur.com/4QzrsIM.jpg
914デフォルトの名無しさん
2018/06/19(火) 05:04:41.55ID:2WBCmyr3 >>913
エラーには説明書いてないの?
requests.get()で失敗してるんだろうけど、area_id, service_id, apikey, info_url は使う前にそれぞれ値が入ってる(空じゃない)?それをそれぞれ print() してみよう
info_url を組み立てた後で、それをブラウザにコピーしてjsonが返ってくる?
エラーには説明書いてないの?
requests.get()で失敗してるんだろうけど、area_id, service_id, apikey, info_url は使う前にそれぞれ値が入ってる(空じゃない)?それをそれぞれ print() してみよう
info_url を組み立てた後で、それをブラウザにコピーしてjsonが返ってくる?
915デフォルトの名無しさん
2018/06/19(火) 05:28:56.39ID:6x0qbtHZ >>913
エラー内容を書かない時点で質問としてダメでしょう。
コードも回答する人が追試できるように、pastebinとか、ろだに貼らないと。
そもそも、program_id()の実行結果が取得できてるんでしょうかね。
人間に見えるからといって、pythonクンにわかるように伝えているとは限りません。
実行の結果として、一体どの項目を取得したいのでしょうか。
その結果として取得したいのはどのような類のものですか?
これらをきちんとpythonクンに伝えないと働いてくれませんよ。
エラー内容を書かない時点で質問としてダメでしょう。
コードも回答する人が追試できるように、pastebinとか、ろだに貼らないと。
そもそも、program_id()の実行結果が取得できてるんでしょうかね。
人間に見えるからといって、pythonクンにわかるように伝えているとは限りません。
実行の結果として、一体どの項目を取得したいのでしょうか。
その結果として取得したいのはどのような類のものですか?
これらをきちんとpythonクンに伝えないと働いてくれませんよ。
916デフォルトの名無しさん
2018/06/19(火) 05:43:58.35ID:6x0qbtHZ もう少し噛み砕くと、
実行結果を持ち出すおまじないと、
IDの種類を決めるかもしれないおまじない、
見たところ、この辺りがまず足りないようです。
実行結果を持ち出すおまじないと、
IDの種類を決めるかもしれないおまじない、
見たところ、この辺りがまず足りないようです。
917デフォルトの名無しさん
2018/06/19(火) 05:55:04.25ID:hCbA6sKc >>914, 915
どうもありがとうございます。
20行目のようにinfo_urlをプリントしてみた所、以下が出力されました。(ほげほげの部分は実際には自分のapikeyです)
2018061967188
http://api.nhk.or.jp/v2/pg/info/130/n1/<function program_id at 0x10ab248c8>.json?key=ほげほげ
15行目のprint_infoの引数と16行目の書き方が間違えているんじゃないかなと思っています。
13行目のprogram_id()を実行すると、今の時間だと
2018061967188
が出力されます。
その文字15行目のprint_infoに渡したい時は、15行目のようにprint_info関数の括弧の中にprogram_id関数をいれて、
19行目のinfo_urlのpprogram_idに1行目の結果を入れたい時は、16行目のように変数に入れるんだと思ったんですが。。。
https://pastebin.com/CH9vt19f
どうもありがとうございます。
20行目のようにinfo_urlをプリントしてみた所、以下が出力されました。(ほげほげの部分は実際には自分のapikeyです)
2018061967188
http://api.nhk.or.jp/v2/pg/info/130/n1/<function program_id at 0x10ab248c8>.json?key=ほげほげ
15行目のprint_infoの引数と16行目の書き方が間違えているんじゃないかなと思っています。
13行目のprogram_id()を実行すると、今の時間だと
2018061967188
が出力されます。
その文字15行目のprint_infoに渡したい時は、15行目のようにprint_info関数の括弧の中にprogram_id関数をいれて、
19行目のinfo_urlのpprogram_idに1行目の結果を入れたい時は、16行目のように変数に入れるんだと思ったんですが。。。
https://pastebin.com/CH9vt19f
918デフォルトの名無しさん
2018/06/19(火) 05:57:07.57ID:hCbA6sKc 画像のほうが見てもらえるかなと思ったんですが、pastbin使う事にします。ごめんなさい。
919デフォルトの名無しさん
2018/06/19(火) 06:00:33.27ID:hCbA6sKc >>916
IDの種類とはintとかfloatとかといったデータ型の事でしょうか?その辺りもう一度本を読んでみます。
IDの種類とはintとかfloatとかといったデータ型の事でしょうか?その辺りもう一度本を読んでみます。
920デフォルトの名無しさん
2018/06/19(火) 06:08:04.91ID:hCbA6sKc <function program_id at 0x10ab248c8>
となっているので、これだと関数なので、実行結果が持ち出せていないって事ですね。
持ち出すおまじないちゃんと調べてみます。
となっているので、これだと関数なので、実行結果が持ち出せていないって事ですね。
持ち出すおまじないちゃんと調べてみます。
921デフォルトの名無しさん
2018/06/19(火) 06:08:19.24ID:zVuDH3/r >>917
<function program_id at 0x10ab248c8> ここ文字列のはずが関数になってるんじゃないの
<function program_id at 0x10ab248c8> ここ文字列のはずが関数になってるんじゃないの
922デフォルトの名無しさん
2018/06/19(火) 06:15:45.77ID:hCbA6sKc >>921
そうです。
pprogram_id = program_id
こう書けば、program_id関数の実行結果をpprogram_idに入れてくれるんだと思ったんですが、
pprogram_id = program_id
これはただprogram_id関数にpprogram_idって名前を付けただけなんだということを今、理解出来ました。
そうです。
pprogram_id = program_id
こう書けば、program_id関数の実行結果をpprogram_idに入れてくれるんだと思ったんですが、
pprogram_id = program_id
これはただprogram_id関数にpprogram_idって名前を付けただけなんだということを今、理解出来ました。
923デフォルトの名無しさん
2018/06/19(火) 06:42:52.83ID:hCbA6sKc924デフォルトの名無しさん
2018/06/19(火) 06:48:28.15ID:6x0qbtHZ >>917
そもそも、関数program_id()の結果を、実行後の23行目の後(関数の外)で、取得できていないはず。
print()はあくまで"関数の中だけ"で"見えているだけ"ということをお忘れなく。 ←ここ重要
で、関数program_id()で何を取得したいのでしょうか?
見たところ、now_dataでいいんだよね?
ここで関数program_id()の外にこれを持ち出すおまじないが必要ですよ。
色々見えてきたようですが、
肝心なのはここです。
実は、自分も同じような勘違いをしていたので…
そもそも、関数program_id()の結果を、実行後の23行目の後(関数の外)で、取得できていないはず。
print()はあくまで"関数の中だけ"で"見えているだけ"ということをお忘れなく。 ←ここ重要
で、関数program_id()で何を取得したいのでしょうか?
見たところ、now_dataでいいんだよね?
ここで関数program_id()の外にこれを持ち出すおまじないが必要ですよ。
色々見えてきたようですが、
肝心なのはここです。
実は、自分も同じような勘違いをしていたので…
925デフォルトの名無しさん
2018/06/19(火) 07:25:41.33ID:hCbA6sKc >>924
23行目に書いてあるprogram_id()は必要なく、ちゃんとこの関数が動くか確認のために先ほどとりあず書いてみました。
関数program_id()で取得したい物は、関数program_idのJSONデータ( now_dataの中['nowonair_list'][service_id]['present']['id'] )のidに入っている文字列です。
その文字列をprint_infoに渡したいので、print_infoを実行する時に括弧の中にオブジェクトとしてprogram_id関数を入れました。
本の中で関数のページの中の「関数呼び出し」や「オブジェクト」について書かれてあるんですが、自分にはそこの理解が足りてないんだと思います。
本の中に以下のコードが書いてありました。run_something_with_argsの中でadd_argsを動かしているのは理解出来るんですが、14という文字列をrun_something_with_argsに送る方法が分かりませんでした。
def add_args(arg1, arg2):
print(arg1 + arg2)
def run_something_with_args(func, arg1, arg2):
func(arg1, arg2)
run_something_with_args(add_args, 5, 9)
23行目に書いてあるprogram_id()は必要なく、ちゃんとこの関数が動くか確認のために先ほどとりあず書いてみました。
関数program_id()で取得したい物は、関数program_idのJSONデータ( now_dataの中['nowonair_list'][service_id]['present']['id'] )のidに入っている文字列です。
その文字列をprint_infoに渡したいので、print_infoを実行する時に括弧の中にオブジェクトとしてprogram_id関数を入れました。
本の中で関数のページの中の「関数呼び出し」や「オブジェクト」について書かれてあるんですが、自分にはそこの理解が足りてないんだと思います。
本の中に以下のコードが書いてありました。run_something_with_argsの中でadd_argsを動かしているのは理解出来るんですが、14という文字列をrun_something_with_argsに送る方法が分かりませんでした。
def add_args(arg1, arg2):
print(arg1 + arg2)
def run_something_with_args(func, arg1, arg2):
func(arg1, arg2)
run_something_with_args(add_args, 5, 9)
926デフォルトの名無しさん
2018/06/19(火) 07:58:43.57ID:2WBCmyr3 >>925
1. program_id() 関数の最後を修正して program_id を返すようにする。具体的には12行目を有効にして14行目に return program_id とでも付け加えればよい
2. 23行目を id = program_id() として porgram_id() 関数が返した値を一旦 id に格納する。心配ならその後に print(id) で中身が入っているか確認
3. 24行目を print_info(id)とする
1. program_id() 関数の最後を修正して program_id を返すようにする。具体的には12行目を有効にして14行目に return program_id とでも付け加えればよい
2. 23行目を id = program_id() として porgram_id() 関数が返した値を一旦 id に格納する。心配ならその後に print(id) で中身が入っているか確認
3. 24行目を print_info(id)とする
927デフォルトの名無しさん
2018/06/19(火) 08:17:21.90ID:bQod7mqP 月3000でPyQ始めようかな。。
928デフォルトの名無しさん
2018/06/19(火) 08:37:12.54ID:hCbA6sKc >>926
どうもありがとうございます。
https://pastebin.com/JutGNtYk
上記を実行すると、ちゃんと以下のurlが出力されました。
http://api.nhk.or.jp/v2/pg/info/130/n3/2018061967375.json?key=ほげほげ
何が起こったのかまったく理解出来ずにいます。
16行目のprintと17行目のreturnの違いと、31行目の変数の意味について調べ理解出来るようにします。
※おまじないを調べているうちに関数内でグローバル変数を使うにはglobalキーワードを付ける必要があるとあったので試してみました。
どうもありがとうございます。
https://pastebin.com/JutGNtYk
上記を実行すると、ちゃんと以下のurlが出力されました。
http://api.nhk.or.jp/v2/pg/info/130/n3/2018061967375.json?key=ほげほげ
何が起こったのかまったく理解出来ずにいます。
16行目のprintと17行目のreturnの違いと、31行目の変数の意味について調べ理解出来るようにします。
※おまじないを調べているうちに関数内でグローバル変数を使うにはglobalキーワードを付ける必要があるとあったので試してみました。
929デフォルトの名無しさん
2018/06/19(火) 09:52:10.24ID:/oqopomm930デフォルトの名無しさん
2018/06/19(火) 10:12:36.50ID:bKeE7xb7 >>928ですが、
globalの使い方間違えてました。
関数Aの中の変数AAをグローバルで使いたい時に
関数Aの中にglobal AAと書くんですね。
関数BでそのAAを使いたい時は、
関数Bの中にA()と書けば関数Bの中で変数AAを扱える事が分かりました。
982でも試してみます。
失礼しました。
globalの使い方間違えてました。
関数Aの中の変数AAをグローバルで使いたい時に
関数Aの中にglobal AAと書くんですね。
関数BでそのAAを使いたい時は、
関数Bの中にA()と書けば関数Bの中で変数AAを扱える事が分かりました。
982でも試してみます。
失礼しました。
931デフォルトの名無しさん
2018/06/19(火) 10:14:19.54ID:bKeE7xb7932デフォルトの名無しさん
2018/06/19(火) 10:49:02.23ID:PE6yppG4 >>927
一冊本買った方がいいよ
一冊本買った方がいいよ
933デフォルトの名無しさん
2018/06/19(火) 10:51:31.37ID:/oqopomm globalどうこうは初心者スレに行ったほうが良い気がします。
またこういう基本的な内容を人に聞く前に自分で調べる癖をつけたほうが良いかと。
そうしないといつまでも成長しません。
またこういう基本的な内容を人に聞く前に自分で調べる癖をつけたほうが良いかと。
そうしないといつまでも成長しません。
934デフォルトの名無しさん
2018/06/19(火) 10:58:34.35ID:bKeE7xb7 何度もすみません。
>>926を書き直してみました。
https://pastebin.com/vpZvBD9z
>>930のグローバルを使ってみました。
https://pastebin.com/eaz2Nn8g
どちらも同じ結果が出力されますが、どちらがスマートな書き方ですか?
>>933
たしかにそうですね
聞いてばかりですみません
>>926を書き直してみました。
https://pastebin.com/vpZvBD9z
>>930のグローバルを使ってみました。
https://pastebin.com/eaz2Nn8g
どちらも同じ結果が出力されますが、どちらがスマートな書き方ですか?
>>933
たしかにそうですね
聞いてばかりですみません
935デフォルトの名無しさん
2018/06/19(火) 12:29:30.49ID:2Cg3sZFX pythonの
x = None
ってメモリどうなってんの?
x = None
ってメモリどうなってんの?
936デフォルトの名無しさん
2018/06/19(火) 13:12:44.92ID:o66PdNgP del x
937デフォルトの名無しさん
2018/06/19(火) 18:28:29.65ID:UoSE2jcW >>892
lubiiでなくてruby
lubiiでなくてruby
938デフォルトの名無しさん
2018/06/19(火) 20:32:26.53ID:HXOaqD/G pathlibで1万ファイルくらいあるディレクトリいじって遊んでたけどis_dir()ってクソみたいに遅いのな
内包表記で書いてもそれだけで1秒弱食うとかもうちょっと考え直せよ
内包表記で書いてもそれだけで1秒弱食うとかもうちょっと考え直せよ
939デフォルトの名無しさん
2018/06/19(火) 21:30:14.91ID:EPHYIqEL940デフォルトの名無しさん
2018/06/20(水) 00:29:26.45ID:OKtLg5rz 多変量解析で使用したいのですが、Rのbestglm関数のように与えた説明変数のうち有意なものを抽出してくれるような関数やパッケージってありますか?
sklearn使って簡単な重回帰分析まではできるのですが扱う説明変数が多くて困ってまして
sklearn使って簡単な重回帰分析まではできるのですが扱う説明変数が多くて困ってまして
941デフォルトの名無しさん
2018/06/20(水) 14:45:42.80ID:4+Bgobgp942デフォルトの名無しさん
2018/06/20(水) 15:13:54.82ID:OnxnZInx >>940
pandas
pandas
943デフォルトの名無しさん
2018/06/20(水) 15:41:53.52ID:a//gtxPI >>940
numpy
numpy
944デフォルトの名無しさん
2018/06/20(水) 18:07:49.63ID:AAtEE73s >>941
あるフォルダの直下のフォルダだけが欲しい(他はいらないしサブディレクトリもいらない)
いまのところcmdの dir [path] /ad /B の結果をそのまま流用してるけど多分もっとマシなやり方があるんだろうなぁ
あるフォルダの直下のフォルダだけが欲しい(他はいらないしサブディレクトリもいらない)
いまのところcmdの dir [path] /ad /B の結果をそのまま流用してるけど多分もっとマシなやり方があるんだろうなぁ
945デフォルトの名無しさん
2018/06/20(水) 18:30:02.96ID:R1zTWZY9 >>940
perogli
perogli
946デフォルトの名無しさん
2018/06/20(水) 21:53:50.45ID:wgXCtC7S なんで、スクレイピングでから始めようとする人が多いんだろう
webなら、チュートリアル的な事やったあと、どっかのAPI叩く事から始めた方がいいのに
webなら、チュートリアル的な事やったあと、どっかのAPI叩く事から始めた方がいいのに
947デフォルトの名無しさん
2018/06/20(水) 22:25:07.80ID:ObXvSnej 時代はRPAだからな
948デフォルトの名無しさん
2018/06/20(水) 22:29:19.76ID:t5KVEVLK >>946
自分の頭叩いとけw
自分の頭叩いとけw
949デフォルトの名無しさん
2018/06/20(水) 22:43:18.32ID:NQCW3xu6 >>944
Ruby では、これでファイル名の絶対パスを表示する
# . で始まる、directory, file を除く
# test 直下のフォルダー内の、ファイルのみ処理する
Dir.glob('C:/Users/Owner/Documents/Ruby/test/*/*') do |file|
next if File.directory? file # ファイルだけを処理する
puts file
end
Ruby では、これでファイル名の絶対パスを表示する
# . で始まる、directory, file を除く
# test 直下のフォルダー内の、ファイルのみ処理する
Dir.glob('C:/Users/Owner/Documents/Ruby/test/*/*') do |file|
next if File.directory? file # ファイルだけを処理する
puts file
end
950デフォルトの名無しさん
2018/06/20(水) 23:46:43.87ID:Ic2p64ce >>949
python2でもpython3でも動きませんでした。他の方お願いします
python2でもpython3でも動きませんでした。他の方お願いします
レス数が950を超えています。1000を超えると書き込みができなくなります。
