>>364
んなわけあるかっ!
探検
くだすれPython(超初心者用) その51【まず1嫁】
レス数が1000を超えています。これ以上書き込みはできません。
367デフォルトの名無しさん
2020/11/15(日) 11:56:58.93ID:4ZGD55Ii368デフォルトの名無しさん
2020/11/15(日) 13:03:57.44ID:Q3DWzppx plt.subplot(2, 2, 4)
plt.plot(ほにゃらら)
pltshow()
print('end')
みたいにplt.subplot使ってplt.show()するとplt.show()でグラフ表示した後フリーズして
print('end')
が実行されないのですが・・・、どうすればいいでしょう?
グラフ自体は望んだ通りのものが表示されているのですが、グラフウインドウを閉じてもprintが実行されません。
plt.plot(ほにゃらら)
pltshow()
print('end')
みたいにplt.subplot使ってplt.show()するとplt.show()でグラフ表示した後フリーズして
print('end')
が実行されないのですが・・・、どうすればいいでしょう?
グラフ自体は望んだ通りのものが表示されているのですが、グラフウインドウを閉じてもprintが実行されません。
369デフォルトの名無しさん
2020/11/15(日) 13:28:33.67ID://uHFZpN >>364
なぜsleepコマンドだと思ったのか
なぜsleepコマンドだと思ったのか
370デフォルトの名無しさん
2020/11/15(日) 13:50:29.62ID:1NoBqfO6 フリーズはしていない
戻って来て欲しい時は
plt.draw()
戻って来て欲しい時は
plt.draw()
371デフォルトの名無しさん
2020/11/15(日) 14:04:02.28ID:1NoBqfO6 ごめん間違った
この手順でやってみ
>>> from matplotlib import pyplot as plt
>>> plt.subplot(2, 2, 4)
>>> plt.plot([[1,2,3],[4,5,6]])
>>> plt.pause(0.1) # ここで表示されて 0.1 秒後に戻る
>>> plt.plot([[1,2,3],[4,5,8]])
>>> plt.gcf().canvas.draw() # 更新
この手順でやってみ
>>> from matplotlib import pyplot as plt
>>> plt.subplot(2, 2, 4)
>>> plt.plot([[1,2,3],[4,5,6]])
>>> plt.pause(0.1) # ここで表示されて 0.1 秒後に戻る
>>> plt.plot([[1,2,3],[4,5,8]])
>>> plt.gcf().canvas.draw() # 更新
372デフォルトの名無しさん
2020/11/15(日) 15:07:46.36ID:tav0pD0x 安易にsleep使う素人が多すぎて困る。
373デフォルトの名無しさん
2020/11/15(日) 16:53:25.64ID:lz+gXz1a sleepの使いどころも知らない自称玄人さんジワるw
374デフォルトの名無しさん
2020/11/15(日) 17:14:49.77ID:Q3DWzppx >>371
できました。ありがとうございます。m(_ _)m
でもなんでできたのか、わからない・・・???
plt.show()
でなんでフリーズして
plt.pause(0.1)
plt.gcf()canvas.draw()
だと戻ってくるんでしょう?
できました。ありがとうございます。m(_ _)m
でもなんでできたのか、わからない・・・???
plt.show()
でなんでフリーズして
plt.pause(0.1)
plt.gcf()canvas.draw()
だと戻ってくるんでしょう?
375デフォルトの名無しさん
2020/11/15(日) 17:25:25.17ID:U+/Dwi3J フリーズはしていない
376デフォルトの名無しさん
2020/11/15(日) 17:51:06.67ID:tav0pD0x >>373
sleepなんか使う必要ないから。
sleepなんか使う必要ないから。
377デフォルトの名無しさん
2020/11/15(日) 20:09:31.44ID:Q3DWzppx378デフォルトの名無しさん
2020/11/15(日) 20:29:01.79ID:8j4ATkh0 ここにprintfがないとなぜか動かないんだ
379デフォルトの名無しさん
2020/11/16(月) 12:36:25.59ID:A2ai6viK380デフォルトの名無しさん
2020/11/16(月) 12:44:51.86ID:sF1WJXNT381デフォルトの名無しさん
2020/11/16(月) 19:38:01.87ID:ZlvPcwtM Pythonおじさんがマイクロソフトに入ったから、EXCELにPython同梱して操作できるようにしてくれ(´・ω・`)
382デフォルトの名無しさん
2020/11/16(月) 19:45:47.18ID:ZYi19Xfa 普通にwatchdogモジュール使えばいいんじゃないの
383デフォルトの名無しさん
2020/11/16(月) 20:01:01.30ID:ysP24k7m はえーそんなのあるんだ
384デフォルトの名無しさん
2020/11/16(月) 21:09:34.49ID:lpvH3HhJ >>382
watchdog使ったところでビジーループの問題は解決しない
watchdog使ったところでビジーループの問題は解決しない
385デフォルトの名無しさん
2020/11/17(火) 10:43:44.47ID:KFJ2cj0W >>384
無能には無理なんだろうな…w
無能には無理なんだろうな…w
386デフォルトの名無しさん
2020/11/18(水) 15:35:14.76ID:cVTuS9Vl ウェブアプリのレスポンスをjsonで返そうとして
res = '{"status":"{status_code}","error":"{error}"}'
return res.format(status="200",error="")
みたいにすると変数res内の{とformatの{が干渉してエラーが出てしまいます
なので
res = '"status":"{status_code}","error":"{error}"'
return '{'+res.format(status="200",error="")+'}'
としたのですが、、なんかかっこ悪い気がしてもやもやします・・
もっといい方法はないでしょうか
json.dumpsを使うと
res['status'] = 200
res['error'] = ''
の行が増えてしまうのでそのあたりが気になります
res = '{"status":"{status_code}","error":"{error}"}'
return res.format(status="200",error="")
みたいにすると変数res内の{とformatの{が干渉してエラーが出てしまいます
なので
res = '"status":"{status_code}","error":"{error}"'
return '{'+res.format(status="200",error="")+'}'
としたのですが、、なんかかっこ悪い気がしてもやもやします・・
もっといい方法はないでしょうか
json.dumpsを使うと
res['status'] = 200
res['error'] = ''
の行が増えてしまうのでそのあたりが気になります
387デフォルトの名無しさん
2020/11/18(水) 16:02:18.01ID:/USRxP5S ちょっと何言ってるか分からないんだけど、
return json.dumps({“status":status_code,"error":error})って事ではないの?
return json.dumps({“status":status_code,"error":error})って事ではないの?
388デフォルトの名無しさん
2020/11/18(水) 16:19:03.18389デフォルトの名無しさん
2020/11/18(水) 16:31:36.23ID:/USRxP5S やっぱり何がしたいのかわからんわw
390デフォルトの名無しさん
2020/11/18(水) 16:55:17.63ID:grk01deG >>386
たぶん希望しているのはこういう事かな
res = '{{"status":"{status}","error":"{error}"}}'
https://docs.python.org/ja/3/library/string.html#formatstrings
たぶん希望しているのはこういう事かな
res = '{{"status":"{status}","error":"{error}"}}'
https://docs.python.org/ja/3/library/string.html#formatstrings
391デフォルトの名無しさん
2020/11/18(水) 16:59:39.36ID:cVTuS9Vl392デフォルトの名無しさん
2020/11/18(水) 17:21:35.12ID:vHQTDRO5 res.format(status=500, error='Error: "foobar”’)とかするとバグらない?
素直に関数化するかクラス化したほうが良いと思うな
def res(status_code, error):
__return json.dumps({'status': status_code, 'error': error})
res(500, 'Error: "foobar"')
素直に関数化するかクラス化したほうが良いと思うな
def res(status_code, error):
__return json.dumps({'status': status_code, 'error': error})
res(500, 'Error: "foobar"')
393デフォルトの名無しさん
2020/11/18(水) 22:53:36.69ID:uoMUJNdk 確かにJSONで返すなら、ちゃんとパーサーにお願いしたほうが確実だよね
394デフォルトの名無しさん
2020/11/18(水) 23:26:31.23ID:4/YKHsf6 ここに書いてある事がほとんど分からないんですが
本当に超初心者のスレですか?
本当に超初心者のスレですか?
395デフォルトの名無しさん
2020/11/18(水) 23:45:00.61ID:hkPPdx4I 簡単に説明←簡単じゃない
初心者向け←初心者向けじゃない(書いてる奴が初心者)
よくあること
初心者向け←初心者向けじゃない(書いてる奴が初心者)
よくあること
396デフォルトの名無しさん
2020/11/18(水) 23:47:39.86ID:cVTuS9Vl >>392,369
error以外のものを付加したいときとかは普通に関数化してますね
今回は例外処理含めstatsuとerrorがintとstrのみとわかっているので
よりスマートな書き方がないかなと模索してただけです
関数化するとプログラムを分けたときに
同じものを貼るのも、またはimportするのもあれだし、と思って。
その辺を気にしないうまい処理の仕方があるのかもしれませんが
error以外のものを付加したいときとかは普通に関数化してますね
今回は例外処理含めstatsuとerrorがintとstrのみとわかっているので
よりスマートな書き方がないかなと模索してただけです
関数化するとプログラムを分けたときに
同じものを貼るのも、またはimportするのもあれだし、と思って。
その辺を気にしないうまい処理の仕方があるのかもしれませんが
397デフォルトの名無しさん
2020/11/19(木) 06:48:28.38ID:SrLjxFgj398デフォルトの名無しさん
2020/11/19(木) 08:41:29.87ID:YoVNSJkp >>272
Macならhomebrewでpyenvで管理するのが1番楽
anaconda使いたきゃpyenvの中で管理されてるわけだし、pyenvからanacondaの好きなバージョン入れりゃ良いだけ
Macならhomebrewでpyenvで管理するのが1番楽
anaconda使いたきゃpyenvの中で管理されてるわけだし、pyenvからanacondaの好きなバージョン入れりゃ良いだけ
399デフォルトの名無しさん
2020/11/19(木) 10:53:10.35ID:z88yTjzg400デフォルトの名無しさん
2020/11/19(木) 12:09:45.64ID:oRKf5Y34 >>399
それだとstr()が環境によるのか仕様かはわかりませんが
”が'で表示されてしまいますね
実際そのコードをサーバー立てた試験はしてませんが
以前、JSONをバックエンド側でシングルクオートで書くと
クライアント側でエラーが起きた記憶があります
あと、毎回status_codeとerrorを変数に置く必要もない気がします
もしstr()のシングルクエート化が問題なく
statusもerrorも固定であればもうこれでいいのでは
return str({"status":200,"error":"err"})
自分は簡単な場合はこんな感じです
res = '{{"status":{},"{}":"{}"}}'
#分岐
return res.format(200,"msg","ok")
それだとstr()が環境によるのか仕様かはわかりませんが
”が'で表示されてしまいますね
実際そのコードをサーバー立てた試験はしてませんが
以前、JSONをバックエンド側でシングルクオートで書くと
クライアント側でエラーが起きた記憶があります
あと、毎回status_codeとerrorを変数に置く必要もない気がします
もしstr()のシングルクエート化が問題なく
statusもerrorも固定であればもうこれでいいのでは
return str({"status":200,"error":"err"})
自分は簡単な場合はこんな感じです
res = '{{"status":{},"{}":"{}"}}'
#分岐
return res.format(200,"msg","ok")
401デフォルトの名無しさん
2020/11/19(木) 15:47:35.30ID:EbSX4tjh402デフォルトの名無しさん
2020/11/19(木) 16:15:53.36ID:oRKf5Y34 >>401
>文字列をコピペして回るくらいなら
そんなこといい出したらimport行もプログラム毎にコピペしてません・・?
関数もコピペしてますよね
親で読み込むならまだしもモジュール名に困りますし。
gitで管理するほどのものでもないし
そういう簡単な用途でない場合は
普通に関数化するしjson.dumpsも使っていますし
gitで管理するレベルのモジュール化も実際してしますけどね
>文字列をコピペして回るくらいなら
そんなこといい出したらimport行もプログラム毎にコピペしてません・・?
関数もコピペしてますよね
親で読み込むならまだしもモジュール名に困りますし。
gitで管理するほどのものでもないし
そういう簡単な用途でない場合は
普通に関数化するしjson.dumpsも使っていますし
gitで管理するレベルのモジュール化も実際してしますけどね
403デフォルトの名無しさん
2020/11/19(木) 16:54:21.20ID:4Pgi61oy 質問です
「実用的でないPythonプログラミング」という本をやっているのですが
Pylintのところで
コマンドプロンプトに
> pylint -rn --max-line-length=79 --generate-rcfile > myconfig.pylintrc
という風に設定ファイルを作った後に
> pylint --rcfile myconfig.pylintrc pseudonyms_main(評価したいプログラム名です)
とすると
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python39\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
「実用的でないPythonプログラミング」という本をやっているのですが
Pylintのところで
コマンドプロンプトに
> pylint -rn --max-line-length=79 --generate-rcfile > myconfig.pylintrc
という風に設定ファイルを作った後に
> pylint --rcfile myconfig.pylintrc pseudonyms_main(評価したいプログラム名です)
とすると
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python39\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python39\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python39\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
404デフォルトの名無しさん
2020/11/19(木) 16:54:40.27ID:4Pgi61oy File "c:\users\owner\appdata\local\programs\python\python39\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python39\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
となって評価してくれません
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python39\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
となって評価してくれません
405デフォルトの名無しさん
2020/11/19(木) 17:09:06.67ID:4Pgi61oy OSはindows10でPythonのバージョンは3.9です
406デフォルトの名無しさん
2020/11/19(木) 17:11:36.55ID:4Pgi61oy407デフォルトの名無しさん
2020/11/19(木) 17:23:13.66ID:YSWc8XxM408デフォルトの名無しさん
2020/11/19(木) 17:28:17.91ID:ikoVfZxF 教えて下さい。
tkinterのテキストに処理の状況を表示していきたいのですが、処理終了後に
一気に再描画される感じになってしまいます。
printしてshellに出力されるような感じで、テキストに出力するにはどうしたら
よいでしょうか。
サンプルです。
------
import tkinter
import tkinter.scrolledtext as tkst
def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # 一気に描画される
print(str(i)+'回目') # このようにしたい
# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")
Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
# メインループ
root.mainloop()
------
どうかよろしくおねがいします。
tkinterのテキストに処理の状況を表示していきたいのですが、処理終了後に
一気に再描画される感じになってしまいます。
printしてshellに出力されるような感じで、テキストに出力するにはどうしたら
よいでしょうか。
サンプルです。
------
import tkinter
import tkinter.scrolledtext as tkst
def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # 一気に描画される
print(str(i)+'回目') # このようにしたい
# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")
Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
# メインループ
root.mainloop()
------
どうかよろしくおねがいします。
409デフォルトの名無しさん
2020/11/19(木) 17:32:51.21ID:YSWc8XxM >>408
flush()について調べてみるとハッピーになれるかもしれない
flush()について調べてみるとハッピーになれるかもしれない
410デフォルトの名無しさん
2020/11/19(木) 17:40:55.60ID:4Pgi61oy >>407
評価したいプログラムは
https://github.com/rlvaugh/Impractical_Python_Projects/blob/master/Chapter_1/pseudonyms_main.py
です、たぶん全角は入ってないと思います
いま3.9から3.8.6に変えてみて同じことをやってみても
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python38\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
評価したいプログラムは
https://github.com/rlvaugh/Impractical_Python_Projects/blob/master/Chapter_1/pseudonyms_main.py
です、たぶん全角は入ってないと思います
いま3.9から3.8.6に変えてみて同じことをやってみても
Traceback (most recent call last):
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\owner\AppData\Local\Programs\Python\Python38\Scripts\pylint.exe\__main__.py", line 7, in <module>
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\__init__.py", line 22, in run_pylint
PylintRun(sys.argv[1:])
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\lint\run.py", line 298, in __init__
linter.read_config_file(verbose=self.verbose)
File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\pylint\config\option_manager_mixin.py", line 290, in read_config_file
parser.read_file(fp)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 718, in read_file
self._read(f, source)
File "c:\users\owner\appdata\local\programs\python\python38\lib\configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
つづきます
411デフォルトの名無しさん
2020/11/19(木) 17:41:42.54ID:4Pgi61oy File "c:\users\owner\appdata\local\programs\python\python38\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python38\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
というふうになって同じみたいです
(result, consumed) = self._buffer_decode(data, self.errors, final)
File "c:\users\owner\appdata\local\programs\python\python38\lib\encodings\utf_8_sig.py", line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
というふうになって同じみたいです
412デフォルトの名無しさん
2020/11/19(木) 17:50:31.40ID:OpsIjeL3413デフォルトの名無しさん
2020/11/19(木) 17:51:00.78ID:KWn/SEv2414デフォルトの名無しさん
2020/11/19(木) 17:57:08.10ID:4Pgi61oy415デフォルトの名無しさん
2020/11/19(木) 18:03:30.56ID:EbSX4tjh >>402
値をあちこちにコピペして使うことと
値を参照してる変数や関数をあちこちで使うことの違い
複数のファイルで同じようなimportを何度も繰り返しやってるなら
__init__.pyとかでまとめればいい
gitは何の関係が?
値をあちこちにコピペして使うことと
値を参照してる変数や関数をあちこちで使うことの違い
複数のファイルで同じようなimportを何度も繰り返しやってるなら
__init__.pyとかでまとめればいい
gitは何の関係が?
416デフォルトの名無しさん
2020/11/19(木) 18:11:08.22ID:UFBeFMfP >>git
自分はそこそこできるんだぜアピールじゃないかなw
よくいるよね。こういうタイプの人。
自分はそこそこできるんだぜアピールじゃないかなw
よくいるよね。こういうタイプの人。
417デフォルトの名無しさん
2020/11/19(木) 18:23:43.14ID:NbNudS2h418デフォルトの名無しさん
2020/11/19(木) 18:26:14.64ID:YSWc8XxM >>414
じゃあBOMがついてるとか?
じゃあBOMがついてるとか?
419デフォルトの名無しさん
2020/11/19(木) 18:31:09.44ID:oRKf5Y34 >>415
>複数のファイルで同じようなimportを何度も繰り返しやってるなら
ええ、そういう用途のときはそうすればいいと思いますよ
>gitは何の関係が?
ホストPC以外で開発する場合、通常はクラウドでコンテナ作って云々すると思いますが
いちいち簡易レスポンスのためのimportをコピペするのが面倒なので
gitでリモートします
>複数のファイルで同じようなimportを何度も繰り返しやってるなら
ええ、そういう用途のときはそうすればいいと思いますよ
>gitは何の関係が?
ホストPC以外で開発する場合、通常はクラウドでコンテナ作って云々すると思いますが
いちいち簡易レスポンスのためのimportをコピペするのが面倒なので
gitでリモートします
420デフォルトの名無しさん
2020/11/19(木) 18:33:57.52ID:oRKf5Y34 というかホストPCで開発するときも
プロジェクト毎にcloneすると思うけど
毎回ファイルごとコピペしてる人が多いのかな
プロジェクト毎にcloneすると思うけど
毎回ファイルごとコピペしてる人が多いのかな
421デフォルトの名無しさん
2020/11/19(木) 18:43:27.44ID:4Pgi61oy >>418
BOMっていうのは知らなかったですけど
https://qiita.com/JINr/items/255429d6174fad76b9b7
ここに書いてあることをやってみたのですが
BOM付きっていうところをにはチェックは入ってなかったです
あらためてチェックなし状態で上書き保存して同じことしても
同じようなエラーが出ました
BOMっていうのは知らなかったですけど
https://qiita.com/JINr/items/255429d6174fad76b9b7
ここに書いてあることをやってみたのですが
BOM付きっていうところをにはチェックは入ってなかったです
あらためてチェックなし状態で上書き保存して同じことしても
同じようなエラーが出ました
422デフォルトの名無しさん
2020/11/19(木) 18:53:18.11ID:ikoVfZxF >> 409
コメントありがとうございます。
flush() 色々と調べてみましたが、まだ有効に使えていませんが、
調べているうちに、update()とsee()というメソッドがあるのが
わかり、組合せたら上手くいきました。
ヒントいただきありがとうございました。
一応、結果報告
import tkinter
import tkinter.scrolledtext as tkst
import sys
def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # OK
editArea.update()
editArea.see('end')
#sys.stdout.flush()
print(str(i)+'回目') # このようにしたい
# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")
Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
root.mainloop()
コメントありがとうございます。
flush() 色々と調べてみましたが、まだ有効に使えていませんが、
調べているうちに、update()とsee()というメソッドがあるのが
わかり、組合せたら上手くいきました。
ヒントいただきありがとうございました。
一応、結果報告
import tkinter
import tkinter.scrolledtext as tkst
import sys
def click():
for i in range(10000000):
# 10000回ループに1回テキスト出力
if (i / 10000 ) % 1 == 0:
editArea.insert('end',str(i)+'回目\n') # OK
editArea.update()
editArea.see('end')
#sys.stdout.flush()
print(str(i)+'回目') # このようにしたい
# メインウィンドウ作成
root = tkinter.Tk()
root.geometry("600x400")
Button1 = tkinter.Button(root,text='実行',command=click)
Button1.pack()
editArea = tkst.ScrolledText(root,wrap= tkinter.WORD, width=20,height = 10)
editArea.pack(expand=True,fill=tkinter.BOTH,padx=5, pady=5)
root.mainloop()
423デフォルトの名無しさん
2020/11/19(木) 19:00:41.46ID:j3QxrLZF424デフォルトの名無しさん
2020/11/19(木) 19:03:04.41ID:YSWc8XxM >>422解決おめ+報告乙
>sys.stdout.flush()
おう、これ↑は標準出力(Win系ならDOS窓)への出力をいますぐやれよ という命令だから・・・
sysのimportもコメントアウトしちゃって大丈夫にみえる
>sys.stdout.flush()
おう、これ↑は標準出力(Win系ならDOS窓)への出力をいますぐやれよ という命令だから・・・
sysのimportもコメントアウトしちゃって大丈夫にみえる
425デフォルトの名無しさん
2020/11/19(木) 19:04:21.67ID:YSWc8XxM426デフォルトの名無しさん
2020/11/19(木) 19:11:37.20ID:4Pgi61oy >>423
!!!その通りでした!!!
myconfig.pylintrcがBOMつきUTF-16になっていました・・・
本にフォルダでShiftを押しながら右クリックで
「コマンドウィンドウをここで開く」か「PowerShellウィンドウをここで開く」を選べと書いてあったので
PowerShellで開いてやってました
すいません正確な情報じゃなくて・・・
myconfig.pylintrcをUTF-8にしたらうまくできました!!!
ありがとうございます!
!!!その通りでした!!!
myconfig.pylintrcがBOMつきUTF-16になっていました・・・
本にフォルダでShiftを押しながら右クリックで
「コマンドウィンドウをここで開く」か「PowerShellウィンドウをここで開く」を選べと書いてあったので
PowerShellで開いてやってました
すいません正確な情報じゃなくて・・・
myconfig.pylintrcをUTF-8にしたらうまくできました!!!
ありがとうございます!
427デフォルトの名無しさん
2020/11/19(木) 22:17:37.25ID:Na4zD9bI >>419
クラウドでコンテナ云々とか別に普通じゃないと思うけど
場合によるでしょ
というか今どきはVSCodeのリモート開発がマジでローカルで開発してるみたいで便利でいいよ
あと、jsonモジュールはPython標準なのだから、よっぽど性能を出したいとかじゃなければ標準ライブラリ使った方がトラブらないと思う。自分のいい加減なコードより10万倍ぐらいテストされてるだろうから。
そもそも性能出したいときにPython使わないし、jsonモジュールを使わない方がいいケースがあまり思いつかないなあ。
クラウドでコンテナ云々とか別に普通じゃないと思うけど
場合によるでしょ
というか今どきはVSCodeのリモート開発がマジでローカルで開発してるみたいで便利でいいよ
あと、jsonモジュールはPython標準なのだから、よっぽど性能を出したいとかじゃなければ標準ライブラリ使った方がトラブらないと思う。自分のいい加減なコードより10万倍ぐらいテストされてるだろうから。
そもそも性能出したいときにPython使わないし、jsonモジュールを使わない方がいいケースがあまり思いつかないなあ。
428デフォルトの名無しさん
2020/11/19(木) 22:31:26.53ID:oRKf5Y34 >>427
いや普通に主にVSCodeでのリモート開発ですよ
>ローカルで開発してるみたいで
そのためのコンテナなんですけどね・・
場合によってVSCodeなり別だったりでgit管理、運用がコンテナってだけで。
普通は仮想環境下ならこれらはセットだと思いますよ・・
あと繰り返しになりますが
>intとstrのみとわかっている
みたいな単純な用途の場合ですよ
いや普通に主にVSCodeでのリモート開発ですよ
>ローカルで開発してるみたいで
そのためのコンテナなんですけどね・・
場合によってVSCodeなり別だったりでgit管理、運用がコンテナってだけで。
普通は仮想環境下ならこれらはセットだと思いますよ・・
あと繰り返しになりますが
>intとstrのみとわかっている
みたいな単純な用途の場合ですよ
429デフォルトの名無しさん
2020/11/19(木) 23:28:35.13ID:Na4zD9bI >>428
なるほど、ちゃんと読んでなかったけど
importを書きたくないからの主張なのか
なら、json.dumpsの1行上にimport jsonを書いて2行コピーするのはどうかな?
何回importがあっても問題ないし、文が書けるところならどこにでも書けるし、
式で完結させたければ
__import__('json').dumps(obj)
とすればいいみたい。(これにはちょっと驚いた)
自分はめちゃくちゃ簡単なはずのjsonでも固定のjsonを条件によって2個出し分ければいいとかじゃなければ、
たかだかjsonを出すのに、strに変な文字が入らないか考えたりintをstrに変換する方法を考えたりして、余計な判断が入るのが嫌だから、jsonモジュール任せだな。
まあ、楽な方法は人それぞれだと思うんでjsonモジュールを使わないのが楽と思う人もいるのは否定しないけど。
なるほど、ちゃんと読んでなかったけど
importを書きたくないからの主張なのか
なら、json.dumpsの1行上にimport jsonを書いて2行コピーするのはどうかな?
何回importがあっても問題ないし、文が書けるところならどこにでも書けるし、
式で完結させたければ
__import__('json').dumps(obj)
とすればいいみたい。(これにはちょっと驚いた)
自分はめちゃくちゃ簡単なはずのjsonでも固定のjsonを条件によって2個出し分ければいいとかじゃなければ、
たかだかjsonを出すのに、strに変な文字が入らないか考えたりintをstrに変換する方法を考えたりして、余計な判断が入るのが嫌だから、jsonモジュール任せだな。
まあ、楽な方法は人それぞれだと思うんでjsonモジュールを使わないのが楽と思う人もいるのは否定しないけど。
430デフォルトの名無しさん
2020/11/19(木) 23:38:08.43ID:zsB/MCGD 考え方は人それぞれなんでしょうけど、「スマートな書き方」という質問に対して、JSON形式で返すのならjson.dumps使ったほうが他人がコードを読んでも「あ、これはJSONで返すんだな」と意味が理解しやすいしスマートだと思うなぁ
自己満足的なスマートか、保守性も考えたスマートなのか、方向性の違いかしら。
自己満足的なスマートか、保守性も考えたスマートなのか、方向性の違いかしら。
431デフォルトの名無しさん
2020/11/19(木) 23:57:14.70ID:gzIvj2mX import書きたくないから文字列コピペするとかちょっと意味わからん
432デフォルトの名無しさん
2020/11/20(金) 00:20:07.13ID:aJFtJ7NQ >>429
>importを書きたくないからの主張
'{"status":200,"error":"hoge"}'
とか直接書いてもいいし
res(200,"hoge")とかでもしいし
json.dumps(res)とかでもいい
自作モジュールで管理するでもいいし
という前提があります
が今回は、関数に分けるまでもjsonモジュール使うまでもなさそうだな
という用途で、かつ汎用的に流用したい、かつ変数代入やimportの省略による行数の節約
などができないかと思ったときに
formatの使い勝手が良かったしかし、{の干渉があった
が、結果的にその干渉を除くことができました
ってだけの話です
書きたくないというより使うまでもないな
ということに尽きると思います
>importを書きたくないからの主張
'{"status":200,"error":"hoge"}'
とか直接書いてもいいし
res(200,"hoge")とかでもしいし
json.dumps(res)とかでもいい
自作モジュールで管理するでもいいし
という前提があります
が今回は、関数に分けるまでもjsonモジュール使うまでもなさそうだな
という用途で、かつ汎用的に流用したい、かつ変数代入やimportの省略による行数の節約
などができないかと思ったときに
formatの使い勝手が良かったしかし、{の干渉があった
が、結果的にその干渉を除くことができました
ってだけの話です
書きたくないというより使うまでもないな
ということに尽きると思います
433デフォルトの名無しさん
2020/11/20(金) 00:25:40.46ID:Y24NtUEO >>432
個人的な趣味だけど、まあC言語とかで書いてるなら言うことは同意できるよ。C言語で書いててそこからの移植とか。
個人的な趣味だけど、Python使ってて「使うまでもない」かどうか一々判断するのは面倒だなって思っちゃう。Pythonって、使えるものは何でも使ってやれの富豪プログラミングの精神に近いかなと。
まあ個人的な趣味でしかないんで、その判断をするのが異常だとは思わないよ。色々な理由があるのだろうし。
個人的な趣味だけど、まあC言語とかで書いてるなら言うことは同意できるよ。C言語で書いててそこからの移植とか。
個人的な趣味だけど、Python使ってて「使うまでもない」かどうか一々判断するのは面倒だなって思っちゃう。Pythonって、使えるものは何でも使ってやれの富豪プログラミングの精神に近いかなと。
まあ個人的な趣味でしかないんで、その判断をするのが異常だとは思わないよ。色々な理由があるのだろうし。
434デフォルトの名無しさん
2020/11/20(金) 01:08:25.18ID:kqUw2Oqc435デフォルトの名無しさん
2020/11/20(金) 01:22:02.94ID:aJFtJ7NQ 極論""返すだけだとしてもどんな場合でもチェックすべきだ
みたいな議論と同じでその主張はさすがに違和感あります >>434
みたいな議論と同じでその主張はさすがに違和感あります >>434
436デフォルトの名無しさん
2020/11/20(金) 01:28:55.33ID:1jDOgyGC statusコードを成型して返すだけのモジュールは別のケースで使っていて
今回はそれを使わないケースだった、というだけの話なのですが
もしかするとどんな場合でもformatを使った書き方でやっている
と勘違いしてる人がいるのかもしれない
今回はそれを使わないケースだった、というだけの話なのですが
もしかするとどんな場合でもformatを使った書き方でやっている
と勘違いしてる人がいるのかもしれない
437デフォルトの名無しさん
2020/11/20(金) 05:05:30.75ID:pwTm9Uxw >>272
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL を使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL を使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
438デフォルトの名無しさん
2020/11/20(金) 05:15:51.38ID:pwTm9Uxw Ruby on Rails では、API モードがあって、API 用のアプリも作れる
初心者は、そういう事を知らないから、
何でも時間をかけて、低品質なアプリを自分で作るw
初心者は、そういう事を知らないから、
何でも時間をかけて、低品質なアプリを自分で作るw
439デフォルトの名無しさん
2020/11/20(金) 05:29:48.35ID:pwTm9Uxw >>411
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
これで、検索してみれば?
UTF-8 は以下のように、先頭ニブル・4ビットで、1〜4バイト文字を判別しています
1バイト文字: 0000〜0111: 0〜7
多バイト文字の2バイト目以降
1000〜1011: 8〜11(8〜B)
2バイト文字: 1100〜1101: 12〜13(C〜D)
3バイト文字: 1110: 14(E)
4バイト文字: 1111: 15(F)
0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
これで、検索してみれば?
UTF-8 は以下のように、先頭ニブル・4ビットで、1〜4バイト文字を判別しています
1バイト文字: 0000〜0111: 0〜7
多バイト文字の2バイト目以降
1000〜1011: 8〜11(8〜B)
2バイト文字: 1100〜1101: 12〜13(C〜D)
3バイト文字: 1110: 14(E)
4バイト文字: 1111: 15(F)
0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
440デフォルトの名無しさん
2020/11/20(金) 05:43:06.55ID:pwTm9Uxw 我流の人は、Git のプルリクを知らなそう。
就職では必須項目
上の人が見たら、一発で書き直し。
バグりやすいコードは、プルリクを受け付けられないだけ
議論するだけムダ
チェックを通ったコードは、合法になるから、
皆が模範にしてコピペするから、我流はダメ!
就職では必須項目
上の人が見たら、一発で書き直し。
バグりやすいコードは、プルリクを受け付けられないだけ
議論するだけムダ
チェックを通ったコードは、合法になるから、
皆が模範にしてコピペするから、我流はダメ!
441デフォルトの名無しさん
2020/11/20(金) 06:50:20.26ID:DAmoUJMr442デフォルトの名無しさん
2020/11/20(金) 08:19:06.00ID:azkfkwLr >>431
んだんだ
んだんだ
443デフォルトの名無しさん
2020/11/20(金) 08:27:43.79ID:04W8lkpW パイソンって書いた事ねーんだけっども、ブロックってインデントで
表現するんだべ?するってーと、100行のブロックにifに入れてぇ
ときは、100行分インデントすんのけ?
表現するんだべ?するってーと、100行のブロックにifに入れてぇ
ときは、100行分インデントすんのけ?
444デフォルトの名無しさん
2020/11/20(金) 09:03:36.27ID:azkfkwLr445デフォルトの名無しさん
2020/11/20(金) 09:09:51.23ID:WciP5EDn でも範囲の指定は自分でやらんとならんよね。
他の言語ならブロックの開始と終了を書いてやればいいんだけど
pythonは自分で範囲指定してインデントしてやる必要がある。
他の言語ならブロックの開始と終了を書いてやればいいんだけど
pythonは自分で範囲指定してインデントしてやる必要がある。
446デフォルトの名無しさん
2020/11/20(金) 09:33:53.10ID:04W8lkpW やっぱりそれなりのエディタや統合環境が前提なのかな(もちろん批判ではない)。
マジレスありがとう。
マジレスありがとう。
447デフォルトの名無しさん
2020/11/20(金) 09:52:05.41ID:azkfkwLr448デフォルトの名無しさん
2020/11/20(金) 11:05:57.25ID:T+fLV2lq 行選択してtabキー押すだけじゃないの?
秀丸ってそうなの?
秀丸ってそうなの?
449デフォルトの名無しさん
2020/11/20(金) 11:14:42.02ID:azkfkwLr450デフォルトの名無しさん
2020/11/20(金) 11:26:50.71ID:E6icsWYy なんでVSCODE使わないの?
451デフォルトの名無しさん
2020/11/20(金) 11:33:54.21ID:iBr2xRx4 回答者側と思しき立場でただのgit管理にすら怪訝する人が上の方でちらほらいたので正直驚いたけど
個人開発であってもgitはほぼ必須になってくる場面があるのでまとめて覚えておいて損はない
個人開発であってもgitはほぼ必須になってくる場面があるのでまとめて覚えておいて損はない
452デフォルトの名無しさん
2020/11/20(金) 11:48:54.11ID:SYPK5ijx >>451
流れ軽く読んで来たけど
・実装の重複を防ぐためのクラス/メソッド抽出してモジュール化
⇒設計的な話
・Gitでモジュール化したものを管理する
⇒バージョン/ファイル管理的な話
この二つは本質的には別問題だけど、何故か混同された話になってて
よく分からん事になってるな
(実際の開発考えるとGit使ったやり方になるから分からん話でもないが)
流れ軽く読んで来たけど
・実装の重複を防ぐためのクラス/メソッド抽出してモジュール化
⇒設計的な話
・Gitでモジュール化したものを管理する
⇒バージョン/ファイル管理的な話
この二つは本質的には別問題だけど、何故か混同された話になってて
よく分からん事になってるな
(実際の開発考えるとGit使ったやり方になるから分からん話でもないが)
453デフォルトの名無しさん
2020/11/20(金) 11:58:33.01ID:azkfkwLr >>450
ネットブックだと動かない
ネットブックだと動かない
454デフォルトの名無しさん
2020/11/20(金) 12:11:55.05ID:pblrwhkp Notepad++にPython Indentを入れれば同じことができる。
455デフォルトの名無しさん
2020/11/20(金) 12:32:50.55ID:azkfkwLr だがおれは秀丸派
456デフォルトの名無しさん
2020/11/20(金) 12:47:59.38ID:27JFXKUI >>439
>4バイト文字: 1111: 15(F)
>0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
1バイト文字は0xxx-xxxx
2バイト文字は110x-xxxx
3バイト文字は1110-xxxx
4バイト文字は1111-0xxx
↑この制限だけでも4バイト文字の先頭バイトは0xF0~0xF7の範囲
実際はUnicodeのコードポイントの上限がU+10FFFFまでなので0xF0~0xF4(1111-0100)
>4バイト文字: 1111: 15(F)
>0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
1バイト文字は0xxx-xxxx
2バイト文字は110x-xxxx
3バイト文字は1110-xxxx
4バイト文字は1111-0xxx
↑この制限だけでも4バイト文字の先頭バイトは0xF0~0xF7の範囲
実際はUnicodeのコードポイントの上限がU+10FFFFまでなので0xF0~0xF4(1111-0100)
457デフォルトの名無しさん
2020/11/20(金) 13:12:12.59ID:pRZ0VqUl chromebookでも動くvscode(´・ω・`)
458440
2020/11/20(金) 13:17:17.31ID:pwTm9Uxw YouTube で有名な、雑食系エンジニア・KENTA が言ってる
Git のプルリクは、転職に必須項目だと
Git のプルリクは、転職に必須項目だと
459デフォルトの名無しさん
2020/11/20(金) 13:33:16.00ID:RwZlwr9h パソコンor通信環境のスペック次第だが仮想環境であればvscodeに限らず大体使える
スマホですら動く
スマホですら動く
461デフォルトの名無しさん
2020/11/20(金) 14:07:20.42ID:geOpYg9g462デフォルトの名無しさん
2020/11/20(金) 14:57:48.56ID:gfvoQY5i gitを持ち出したのは>>416の指摘通りだろうけど、書いてる内容見るとpythonのモジュールを理解してなさそう
自分が知らなかったことや見落としてたことを絶対に認めずに (本人にとっての)俺はできるんだぞアピールで返す人はスルーに限る
自分が知らなかったことや見落としてたことを絶対に認めずに (本人にとっての)俺はできるんだぞアピールで返す人はスルーに限る
463デフォルトの名無しさん
2020/11/20(金) 15:40:25.51ID:abuyzRZn464デフォルトの名無しさん
2020/11/20(金) 16:07:05.73ID:Cnjv1GAE いやプルリクそのものじゃなく今までにプルリクした実績のことじゃないの
GitHubアカウントを見せてこんなことしてきましたよと自己アピールする感じで
そんなん実際にするのか知らんけど
GitHubアカウントを見せてこんなことしてきましたよと自己アピールする感じで
そんなん実際にするのか知らんけど
465デフォルトの名無しさん
2020/11/20(金) 16:12:52.30ID:dRk/TXCB 日本語翻訳のプルリクでもええか?
466デフォルトの名無しさん
2020/11/20(金) 16:21:35.66ID:abuyzRZn467デフォルトの名無しさん
2020/11/20(金) 16:27:14.70ID:SYPK5ijx >>466
流石にそれは偏見すぎる
流石にそれは偏見すぎる
468デフォルトの名無しさん
2020/11/20(金) 16:51:03.75ID:zSvQnKz4 最初の質問が>>386だからな
こんなもんjsonモジュール使えで終わる話だろ
こんなもんjsonモジュール使えで終わる話だろ
469デフォルトの名無しさん
2020/11/20(金) 17:12:00.89ID:27JFXKUI プルリクはOSSに限らないよ
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
470デフォルトの名無しさん
2020/11/20(金) 17:38:21.51ID:AGMq159w すまん、それpython関係ある???
471デフォルトの名無しさん
2020/11/20(金) 17:53:38.81ID:04W8lkpW あげるなよ、何かを信じてる方々の啓蒙活動なんだから。
背景雑音だっぺ。
背景雑音だっぺ。
472デフォルトの名無しさん
2020/11/20(金) 19:34:59.52ID:M1wpYzhx モジュール化してimportするまでもない
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
473デフォルトの名無しさん
2020/11/20(金) 19:42:56.25ID:abuyzRZn >>472
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「〜するまでもない時はしないでいい」というのもポリシーだし
「どんな時も〜するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「〜するまでもない時はしないでいい」というのもポリシーだし
「どんな時も〜するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
474デフォルトの名無しさん
2020/11/20(金) 20:00:35.31ID:OHdUFTne >>462
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
475デフォルトの名無しさん
2020/11/20(金) 20:29:53.22ID:l5Hw5z7m 2行目で何をしてるのか教えて下さい
s = input()
print(max(map(len, s.split('S'))))
s = input()
print(max(map(len, s.split('S'))))
476デフォルトの名無しさん
2020/11/20(金) 20:35:44.50ID:azkfkwLr >>475
print、max、map、len、split
それぞれでggrks
続きは↓でな
https://mevius.5ch.net/test/read.cgi/tech/1258320456/
print、max、map、len、split
それぞれでggrks
続きは↓でな
https://mevius.5ch.net/test/read.cgi/tech/1258320456/
477デフォルトの名無しさん
2020/11/20(金) 20:47:13.53ID:uMSrjpcB JSONで返しますって言ってるAPIがJSON風の自前の文字列返してくるとか嫌がらせ以外のなにものでもない
何のためにJSONが存在してると思っている
何のためにJSONが存在してると思っている
478デフォルトの名無しさん
2020/11/20(金) 20:54:33.52ID:abuyzRZn >>475
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する
これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する
これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
479デフォルトの名無しさん
2020/11/20(金) 20:57:12.97ID:Y24NtUEO バージョン管理しない書き捨ての用途だとしてもjsonモジュール使う方が何も考えなくていいもの
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。
自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。
自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
480デフォルトの名無しさん
2020/11/20(金) 20:59:04.30 >>477
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
481デフォルトの名無しさん
2020/11/20(金) 21:00:33.44ID:Y24NtUEO482デフォルトの名無しさん
2020/11/20(金) 21:01:42.82ID:azkfkwLr483デフォルトの名無しさん
2020/11/20(金) 21:08:06.35ID:Y24NtUEO >>480
筋悪だな
json.dumps(json.loads('{"status": 200}')) == json.dumps({"status":200})
ぐらいにしないとFalseになる可能性は十分にある、今実験してTrueなったから未来永劫Trueだろう、というのは考えが甘いよ
それがTrueになるのはどのPythonの実装でなら担保されるのかな?
要は、いちいちJSONの仕様を100%確かめて、100%準拠した手書きJSONを書くというのは割りに合わないということ。
import jsonとかjson.dumpsと書くたったの10秒ぐらいの余計な時間で、
もし間違ったJSONを出力してパーサーの方でパースできない原因を究明することになったときに必要な何十分がなくなるんだから、
余計な10秒をかけない理由がない
変に手抜きすると結局その手抜きが原因で100倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
筋悪だな
json.dumps(json.loads('{"status": 200}')) == json.dumps({"status":200})
ぐらいにしないとFalseになる可能性は十分にある、今実験してTrueなったから未来永劫Trueだろう、というのは考えが甘いよ
それがTrueになるのはどのPythonの実装でなら担保されるのかな?
要は、いちいちJSONの仕様を100%確かめて、100%準拠した手書きJSONを書くというのは割りに合わないということ。
import jsonとかjson.dumpsと書くたったの10秒ぐらいの余計な時間で、
もし間違ったJSONを出力してパーサーの方でパースできない原因を究明することになったときに必要な何十分がなくなるんだから、
余計な10秒をかけない理由がない
変に手抜きすると結局その手抜きが原因で100倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
484デフォルトの名無しさん
2020/11/20(金) 21:09:07.64ID:l5Hw5z7m485デフォルトの名無しさん
2020/11/20(金) 21:14:07.28ID:Y24NtUEO >>484
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
486デフォルトの名無しさん
2020/11/20(金) 21:23:59.20ID:aJFtJ7NQ >>483
ただの書き方の解釈、開発環境での用途の話であって
Trueが担保されるかどうかは別の話
余計な10秒をかけたくないときに使えば良いだけ
ただの文字出力用途で100倍余計に時間がかかってしまう具体例を教えてほしい
ただの書き方の解釈、開発環境での用途の話であって
Trueが担保されるかどうかは別の話
余計な10秒をかけたくないときに使えば良いだけ
ただの文字出力用途で100倍余計に時間がかかってしまう具体例を教えてほしい
487デフォルトの名無しさん
2020/11/20(金) 21:39:21.22ID:Y24NtUEO >>486
え、「ちゃんとパース可能なJSON」を書き出したいんじゃなくて、「ただの文字出力」をしたいって話だったの?
ただ単純に「ちゃんとパース可能なJSON」を書き出すのが目的だとしたら、
1. JSONの規格を100%理解しているわけではないプログラマーがいい加減に書き出した文字列(テスト回数10回ぐらい)
2. Pythonの標準ライブラリとして用意されているjsonモジュールを使ってオブジェクトをJSON文字列に書き出した文字列(テスト回数100万回ぐらい)
のどっちが良いか、で、1が良いなんてことあるの?
1が良い場合もないとは言えないと思うけど、何かしら条件が必要だと思わない?
「いい加減に書き出した」せいで1時間デバッグに余計にかかったんだとしたら360倍時間かかってるわけで
そもそも{}がうまく出ないとか5chに質問してる時点で相当解決に時間かかってるのでは…?
え、「ちゃんとパース可能なJSON」を書き出したいんじゃなくて、「ただの文字出力」をしたいって話だったの?
ただ単純に「ちゃんとパース可能なJSON」を書き出すのが目的だとしたら、
1. JSONの規格を100%理解しているわけではないプログラマーがいい加減に書き出した文字列(テスト回数10回ぐらい)
2. Pythonの標準ライブラリとして用意されているjsonモジュールを使ってオブジェクトをJSON文字列に書き出した文字列(テスト回数100万回ぐらい)
のどっちが良いか、で、1が良いなんてことあるの?
1が良い場合もないとは言えないと思うけど、何かしら条件が必要だと思わない?
「いい加減に書き出した」せいで1時間デバッグに余計にかかったんだとしたら360倍時間かかってるわけで
そもそも{}がうまく出ないとか5chに質問してる時点で相当解決に時間かかってるのでは…?
488デフォルトの名無しさん
2020/11/20(金) 21:56:03.77ID:AGMq159w pythonでmap, filterあたり使う理由ってほぼないだろ
内包表記に比べて遅いしgeneratorで返ってくるし
内包表記に比べて遅いしgeneratorで返ってくるし
489デフォルトの名無しさん
2020/11/20(金) 22:04:18.19ID:V+7Wns2i490デフォルトの名無しさん
2020/11/20(金) 22:08:29.63ID:Y24NtUEO >>488
内包表記に比べて遅い、は最近のPythonだとFalseだよ
内包表記に比べて短く書けるわけではない、というのは場合によりTrue
map(lambda x: func(x, 2), arr)と書くよりは
[func(x, 2) for x in arr]と書くほうが短いが、
map(str, arr)とかだったら、
[str(x) for x in arr]より短いから意味がないということもないと思う
list付けてもこの場合はmapの方が短いしね
と言いつつ、関数の呼び出しの形の差でmapを使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
内包表記に比べて遅い、は最近のPythonだとFalseだよ
内包表記に比べて短く書けるわけではない、というのは場合によりTrue
map(lambda x: func(x, 2), arr)と書くよりは
[func(x, 2) for x in arr]と書くほうが短いが、
map(str, arr)とかだったら、
[str(x) for x in arr]より短いから意味がないということもないと思う
list付けてもこの場合はmapの方が短いしね
と言いつつ、関数の呼び出しの形の差でmapを使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
491デフォルトの名無しさん
2020/11/20(金) 22:10:42.73ID:aJFtJ7NQ >>487
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります
繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります
繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
492デフォルトの名無しさん
2020/11/20(金) 22:29:11.10ID:27JFXKUI493デフォルトの名無しさん
2020/11/20(金) 22:36:29.18ID:wMzkLTJS494デフォルトの名無しさん
2020/11/20(金) 22:40:22.91ID:Y24NtUEO >>491
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された
なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?
「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる
ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された
なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?
「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる
ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
495デフォルトの名無しさん
2020/11/20(金) 22:40:35.67ID:aJFtJ7NQ496デフォルトの名無しさん
2020/11/20(金) 22:43:05.19ID:abuyzRZn >>481
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
497デフォルトの名無しさん
2020/11/20(金) 22:43:14.36ID:8FBZ4Sqf498デフォルトの名無しさん
2020/11/20(金) 22:48:59.72ID:aJFtJ7NQ >>494
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか
>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか
>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
499デフォルトの名無しさん
2020/11/20(金) 22:50:34.06ID:Y24NtUEO >>496
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
3重内包表記ぐらいまでは書くことあるけど、書くときはノリノリで書いてシンプルに纏まったぜ、やった、って思っても、
後で2重目のループの処理を修正したいときに地獄を見ることがあったりするのは事実。
内包表記はその存在自体がややこしいので一切認めません、というのもポリシーとしては普通にありだと思う。
関数型言語からの取り入れという事実を後押しする形になるのだが、
数式を読み慣れてると、内包表記やmapは数式に近い形なので、逆に可読性は悪くない、と思うケースも多いのだよなぁ
リストの中身を2乗して全部足すみたいな場合とかね。forループで手続き的にやる方が見通しが悪くなると個人的に思う。
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
3重内包表記ぐらいまでは書くことあるけど、書くときはノリノリで書いてシンプルに纏まったぜ、やった、って思っても、
後で2重目のループの処理を修正したいときに地獄を見ることがあったりするのは事実。
内包表記はその存在自体がややこしいので一切認めません、というのもポリシーとしては普通にありだと思う。
関数型言語からの取り入れという事実を後押しする形になるのだが、
数式を読み慣れてると、内包表記やmapは数式に近い形なので、逆に可読性は悪くない、と思うケースも多いのだよなぁ
リストの中身を2乗して全部足すみたいな場合とかね。forループで手続き的にやる方が見通しが悪くなると個人的に思う。
500デフォルトの名無しさん
2020/11/20(金) 22:58:01.95ID:Y24NtUEO >>498
status = 200
error = None
とかいう値が入ってるとして
__import__('json').dumps({'status': status, 'error': error})
で終わりなんだけどな
result_obj = {'status': status, 'error': error}
__import__('json').dumps(result_obj)でもいいし
もちろん
__import__('json').dumps({'status': 200, 'error': None})
でもいい
JSONを書き出すのに、「文字列」なんて概念を持ち出す必要がないのよ
dictがそのままjsonモジュールで妥当なJSONになって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
status = 200
error = None
とかいう値が入ってるとして
__import__('json').dumps({'status': status, 'error': error})
で終わりなんだけどな
result_obj = {'status': status, 'error': error}
__import__('json').dumps(result_obj)でもいいし
もちろん
__import__('json').dumps({'status': 200, 'error': None})
でもいい
JSONを書き出すのに、「文字列」なんて概念を持ち出す必要がないのよ
dictがそのままjsonモジュールで妥当なJSONになって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
501デフォルトの名無しさん
2020/11/20(金) 22:58:07.55ID:GCIXM+fw502デフォルトの名無しさん
2020/11/20(金) 22:59:54.94ID:HBV8TmEn 一連のやりとり見てこれを思い出した
ほんとなんで自信満々なんだろう?
「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
ほんとなんで自信満々なんだろう?
「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
503デフォルトの名無しさん
2020/11/20(金) 23:02:30.97ID:aJFtJ7NQ504デフォルトの名無しさん
2020/11/20(金) 23:07:40.26ID:Y24NtUEO >>503
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
505デフォルトの名無しさん
2020/11/20(金) 23:10:29.05ID:P/qrHO+P 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル | Udemy
https://www.udemy.com/course/python-beginner/
https://www.udemy.com/course/python-beginner/
506デフォルトの名無しさん
2020/11/20(金) 23:12:44.36ID:998hZ133507デフォルトの名無しさん
2020/11/20(金) 23:17:41.85ID:wMzkLTJS >>495
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw
> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw
> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
508デフォルトの名無しさん
2020/11/20(金) 23:20:59.09ID:Y24NtUEO >>506
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
509デフォルトの名無しさん
2020/11/20(金) 23:26:46.17ID:aJFtJ7NQ >>504
もう上の方で書いてます
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
result_obj = {'status': 200, 'error': None}
__import__('json').dumps(result_obj)
__import__('json').dumps({'status': 200, 'error': None})
>逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
もう上の方で書いてます
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
result_obj = {'status': 200, 'error': None}
__import__('json').dumps(result_obj)
__import__('json').dumps({'status': 200, 'error': None})
>逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
510デフォルトの名無しさん
2020/11/20(金) 23:34:39.47ID:uMSrjpcB511デフォルトの名無しさん
2020/11/20(金) 23:37:51.38ID:Y24NtUEO >>509
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
と
__import__('json').dumps({'status': 200, 'error': None})
を比較して、前者のほうがスマートだと感じるなら、
他の人にも散々指摘されてるが、あなたはおそらく殆どの人が同意できない感覚の持ち主だろう
ゴーイングマイウェイで頑張ってくれ、ぶっちゃけ一緒に仕事はしたくないが
会社の経理のおばちゃんが、計算ミスばっかりするからどうしてかと思ったら、なんと算盤使って紙に向かって計算してて、
「頼むからExcel覚えてExcelでやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
と
__import__('json').dumps({'status': 200, 'error': None})
を比較して、前者のほうがスマートだと感じるなら、
他の人にも散々指摘されてるが、あなたはおそらく殆どの人が同意できない感覚の持ち主だろう
ゴーイングマイウェイで頑張ってくれ、ぶっちゃけ一緒に仕事はしたくないが
会社の経理のおばちゃんが、計算ミスばっかりするからどうしてかと思ったら、なんと算盤使って紙に向かって計算してて、
「頼むからExcel覚えてExcelでやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
512デフォルトの名無しさん
2020/11/20(金) 23:42:08.20ID:aJFtJ7NQ >>511
例えばstatusコードを複数吐くとき
どうなりますか
res = '{{"status":{},"error":"{}"}}'
res.format(201,"null")
res.format(202,"null")
res.format(203,"null")
res.format(204,"null")
res.format(205,"null")
__import__('json').dumps({'status': 201, 'error': None})
__import__('json').dumps({'status': 202, 'error': None})
__import__('json').dumps({'status': 203, 'error': None})
__import__('json').dumps({'status': 204, 'error': None})
__import__('json').dumps({'status': 205, 'error': None})
例えばstatusコードを複数吐くとき
どうなりますか
res = '{{"status":{},"error":"{}"}}'
res.format(201,"null")
res.format(202,"null")
res.format(203,"null")
res.format(204,"null")
res.format(205,"null")
__import__('json').dumps({'status': 201, 'error': None})
__import__('json').dumps({'status': 202, 'error': None})
__import__('json').dumps({'status': 203, 'error': None})
__import__('json').dumps({'status': 204, 'error': None})
__import__('json').dumps({'status': 205, 'error': None})
513デフォルトの名無しさん
2020/11/20(金) 23:48:08.89ID:Y24NtUEO >>512
複数回出すなら、
import json
json.dumps({'status': 201, 'error': None})
json.dumps({'status': 202, 'error': None})
とするだろうけど
本当に多いなら
res = lambda s, e: json.dumps({'status': s, 'error': e})
res(201, None)
res(202, None)
短く書くというのが目標ならlambdaでもまだ意図は明確だしformatより短いよ。
複数回出すなら、
import json
json.dumps({'status': 201, 'error': None})
json.dumps({'status': 202, 'error': None})
とするだろうけど
本当に多いなら
res = lambda s, e: json.dumps({'status': s, 'error': e})
res(201, None)
res(202, None)
短く書くというのが目標ならlambdaでもまだ意図は明確だしformatより短いよ。
514デフォルトの名無しさん
2020/11/20(金) 23:59:39.49ID:aJFtJ7NQ515デフォルトの名無しさん
2020/11/21(土) 00:01:48.28ID:TffSxZDq >>514
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
516デフォルトの名無しさん
2020/11/21(土) 00:11:54.22ID:RHs1PlgB >>515
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
517デフォルトの名無しさん
2020/11/21(土) 00:15:10.92ID:TffSxZDq えぇぇ、
いやまぁ納得してもらえたならいいけど、、、
良かったね
いやまぁ納得してもらえたならいいけど、、、
良かったね
518デフォルトの名無しさん
2020/11/21(土) 01:07:30.25ID:v5QqbOTJ そうか
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
519デフォルトの名無しさん
2020/11/21(土) 01:09:15.76ID:5FVo37Wp 普通にhttpレスポンスを生成する関数の中でモデルをjson化してれば
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
520デフォルトの名無しさん
2020/11/21(土) 06:50:26.86ID:XFVQeQAy521デフォルトの名無しさん
2020/11/21(土) 07:22:59.30ID:Va5Vhbzu こんにちは。
pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。
例:
df
はa〜zの列がある。
list = ('d', 'g', 'h')
にあるカラム名の列だけ取り出したい。
(listの中身はその都度変わって数も多い。)
よろしくお願いします。
pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。
例:
df
はa〜zの列がある。
list = ('d', 'g', 'h')
にあるカラム名の列だけ取り出したい。
(listの中身はその都度変わって数も多い。)
よろしくお願いします。
522521
2020/11/21(土) 07:40:18.66ID:Va5Vhbzu リストは()じゃなくて[]でした。
523デフォルトの名無しさん
2020/11/21(土) 07:54:32.25ID:v5QqbOTJ524521
2020/11/21(土) 08:22:43.36ID:Va5Vhbzu 自己解決しました。
data = df[df.columns.intersection(list)]
data = df[df.columns.intersection(list)]
525デフォルトの名無しさん
2020/11/21(土) 10:37:59.41ID:TffSxZDq >>524
細かいことだが、
listという名前は上書きしないほうが良い(list関数が使えなくなる)
のと、
listの要素がcolumnsに必ず含まれているのが保証されるなら、
data = df[list]だけでいけるよ
細かいことだが、
listという名前は上書きしないほうが良い(list関数が使えなくなる)
のと、
listの要素がcolumnsに必ず含まれているのが保証されるなら、
data = df[list]だけでいけるよ
526440
2020/11/21(土) 12:18:46.35ID:jQLdetle VSCode で、Microsoft の拡張機能を入れてない香具師とか、
git のプルリクを知らない香具師とか、
JSON ではなく文字列を結合する香具師とか、問題外
文字列の結合を認めたら、SQL・HTML タグを文字列で書いたりして、SQL インジェクションされる
新技術を学べない、老害に多い
日本人は植物油を多く使うから、脳にアミロイドが貯まって、新しく記憶できない。
全員が痴呆症w
動物油なら、こういう事はない
プルリクもKENTA が言ってるから、マコなりの学校にも、グループ学習がある。
グループ学習やっていない香具師は、採用されませんって。
でも、高い授業料を払って、グループ学習する意味はないと反論する人もいる
Ruby on Rails なんて、Rails Way・レールに乗る。
我流・レールに乗っていない方法は、すべて却下される
YouTube で有名なRubyist、伊藤淳一の動画でも、コードレビューしてる
git のプルリクを知らない香具師とか、
JSON ではなく文字列を結合する香具師とか、問題外
文字列の結合を認めたら、SQL・HTML タグを文字列で書いたりして、SQL インジェクションされる
新技術を学べない、老害に多い
日本人は植物油を多く使うから、脳にアミロイドが貯まって、新しく記憶できない。
全員が痴呆症w
動物油なら、こういう事はない
プルリクもKENTA が言ってるから、マコなりの学校にも、グループ学習がある。
グループ学習やっていない香具師は、採用されませんって。
でも、高い授業料を払って、グループ学習する意味はないと反論する人もいる
Ruby on Rails なんて、Rails Way・レールに乗る。
我流・レールに乗っていない方法は、すべて却下される
YouTube で有名なRubyist、伊藤淳一の動画でも、コードレビューしてる
527デフォルトの名無しさん
2020/11/21(土) 12:47:45.12ID:TffSxZDq 今どき香具師なんて言葉使ってるのが老害
528デフォルトの名無しさん
2020/11/21(土) 14:41:23.41ID:sC5Fd4g2 少し上の過去レスを追うこともできない古い人間 >439
529デフォルトの名無しさん
2020/11/21(土) 16:32:50.83ID:RuZftilT macOS での python の質問もここで良いのですか?それとも他に板やスレがありますか?
530デフォルトの名無しさん
2020/11/21(土) 18:06:02.09ID:9ThAje8p >>527
ルビ厨の相手すんなよ…
ルビ厨の相手すんなよ…
531デフォルトの名無しさん
2020/11/21(土) 19:18:21.04ID:G/gsSEBM ガイジはガイジ仲間を見つけると相手をしたくなる
532デフォルトの名無しさん
2020/11/21(土) 20:56:16.84ID:a8Ztm65P >>529
初心者の質問板
初心者の質問板
533529
2020/11/21(土) 23:22:52.56ID:yoIvpsjT >>532 その様な名前の板は今はないようです。
色々と探しましたが、他に適当な場所がなさそうなのでここで質問させてもらいます。
http://codepad.org/4R0nolza
の python コードが linux や FreeBSD では正常に動くのですが、macOS では動きません。
問題なく起動してウインドウは表示されるのですが、"Run" ボタンを押すと、
----------------------------------------------------------------
gi.repository.GLib.Error: g-io-error-quark: 子プロセス“/bin/ls”の起動に失敗しました: Failed to fdwalk: Too many open files in system (0)
----------------------------------------------------------------
となり機能しません。
理由や解決方法が分かる方がいましたら、よろしくお願いします。
pygobject3 と gtk+3 は brew install してあります。
maxfiles は 256 から 500000 に増やしても変わらないので関係ない様に思います。
macOS を持ってる方が居ましたら、同じ様に動かないか、試して貰えると助かります。危険なコードではないです。
色々と探しましたが、他に適当な場所がなさそうなのでここで質問させてもらいます。
http://codepad.org/4R0nolza
の python コードが linux や FreeBSD では正常に動くのですが、macOS では動きません。
問題なく起動してウインドウは表示されるのですが、"Run" ボタンを押すと、
----------------------------------------------------------------
gi.repository.GLib.Error: g-io-error-quark: 子プロセス“/bin/ls”の起動に失敗しました: Failed to fdwalk: Too many open files in system (0)
----------------------------------------------------------------
となり機能しません。
理由や解決方法が分かる方がいましたら、よろしくお願いします。
pygobject3 と gtk+3 は brew install してあります。
maxfiles は 256 から 500000 に増やしても変わらないので関係ない様に思います。
macOS を持ってる方が居ましたら、同じ様に動かないか、試して貰えると助かります。危険なコードではないです。
534デフォルトの名無しさん
2020/11/22(日) 00:11:27.43ID:XUuDe+rV535デフォルトの名無しさん
2020/11/22(日) 00:29:35.12ID:XkZ25nA+536529
2020/11/22(日) 03:46:53.92ID:cFZbur5B537デフォルトの名無しさん
2020/11/22(日) 16:28:51.73ID:G9NcntIf538デフォルトの名無しさん
2020/11/22(日) 19:43:13.90ID:ybcOLacK >>518
lispの内包表記って、どんなの?
lispの内包表記って、どんなの?
539デフォルトの名無しさん
2020/11/22(日) 19:57:14.75ID:8S0A0EeS540デフォルトの名無しさん
2020/11/23(月) 07:17:21.35ID:xSj92hSq Common Lispのloopマクロのことかな
多重ループの動作とか違うけど
多重ループの動作とか違うけど
541デフォルトの名無しさん
2020/11/23(月) 13:04:17.83ID:jG27y6sh javascriptとpython行ったり来たりすると変数宣言つけ忘れるのいらっとする
542デフォルトの名無しさん
2020/11/23(月) 16:16:30.12ID:8ahwCiT0 俺もjavascriptというかGASと行き来してるんだがセミコロンの有無とかごちゃごちゃになる
543デフォルトの名無しさん
2020/11/23(月) 17:33:21.21ID:QPYZ0Uk0 質問です
古いバージョンのPython(3.6など)と新しいバージョンのそれ(3.9など)が
同じパソコンにインストールされている時に、
バージョンを指定してコマンドプロンプトで起動するには
どうすればよいでしょうか?
古いバージョンのPython(3.6など)と新しいバージョンのそれ(3.9など)が
同じパソコンにインストールされている時に、
バージョンを指定してコマンドプロンプトで起動するには
どうすればよいでしょうか?
544デフォルトの名無しさん
2020/11/23(月) 17:47:33.05ID:I3+EYDwP >>543
起動したいバージョンの方が先にくるように環境変数を書き換える
起動したいバージョンの方が先にくるように環境変数を書き換える
545デフォルトの名無しさん
2020/11/23(月) 18:13:44.52ID:hekS2Nxq >>543
フルパスで起動する
フルパスで起動する
547デフォルトの名無しさん
2020/11/23(月) 19:38:33.80ID:ILFQzaXV py launcherにチェック入れてインストールしてあるなら
py -3.6 〜
py -3.9 〜
のようにバージョン番号指定で起動できる
py -3.6 〜
py -3.9 〜
のようにバージョン番号指定で起動できる
548デフォルトの名無しさん
2020/11/23(月) 20:56:03.18ID:uZZUCgAn549デフォルトの名無しさん
2020/11/24(火) 04:18:20.78ID:FGR0jZQZ550543
2020/11/24(火) 19:13:50.73ID:HZvvV0Lc やってみたら出来ました
答えてくれた方、ありがとうございました
答えてくれた方、ありがとうございました
551デフォルトの名無しさん
2020/11/24(火) 19:14:13.91ID:FWk6XcjL なんで相対Importこんな癖強いの
552デフォルトの名無しさん
2020/11/24(火) 19:22:37.02ID:1r1WUQcO pythonのimport周りはガチでゴミ
553デフォルトの名無しさん
2020/11/24(火) 20:20:37.92ID:FWk6XcjL 同じ階層なら何も引っかからずにすんなり通るのに(´・ω・`)
554デフォルトの名無しさん
2020/11/24(火) 23:51:24.27ID:rjI7LKiS カタカナの伸ばし棒がすべて半角ハイフン-になっているとして
・コ-ヒ- → コーヒー
・コ-ヒ--砂糖入り- → コーヒー-砂糖入り-
・カフェオレ-ミルク- → カフェオレ-ミルク-
こういうのってPythonで可能?規則性がない場合出現しうるあらゆる単語を手動で対策しないと無理かな
-の前がカタカナなら伸ばし棒に変換ってので単語としては成立するけどカフェオレーミルクーはお手上げ
・コ-ヒ- → コーヒー
・コ-ヒ--砂糖入り- → コーヒー-砂糖入り-
・カフェオレ-ミルク- → カフェオレ-ミルク-
こういうのってPythonで可能?規則性がない場合出現しうるあらゆる単語を手動で対策しないと無理かな
-の前がカタカナなら伸ばし棒に変換ってので単語としては成立するけどカフェオレーミルクーはお手上げ
555デフォルトの名無しさん
2020/11/24(火) 23:55:11.19ID:NI0G1gzk >>554
正規表現をご存知でない?
正規表現をご存知でない?
556デフォルトの名無しさん
2020/11/25(水) 00:20:42.57ID:e2GmmQnc 規則性ないから辞書がないと無理でしょ
カフェオレーミルクーというメニューがないと知らないといけないから
カフェオレーミルクーというメニューがないと知らないといけないから
557デフォルトの名無しさん
2020/11/25(水) 08:50:41.22ID:F6rJOYse 言語の問題でない気がするが・・・556に一票。
558デフォルトの名無しさん
2020/11/25(水) 09:34:58.20ID:RkyjIoNj559デフォルトの名無しさん
2020/11/25(水) 10:12:51.09ID:BL1+yQyO 主題副題分割なら、まずは全部の箇所で分割して、
コ -ヒ-
これはハイフンを閉じ括弧の亜種として対になってるから第一次判定に合格、
そしてコが主題でヒが副題、
しかし文字数判定であり得ない(主題副題共に1文字)から、主題でなければ副題でも無い、とすりゃいい
***
1 コ -ヒ--砂糖入り-
2 コ-ヒ --砂糖入り-
3 コ-ヒ- -砂糖入り-
4 コ-ヒ-- 砂糖入り-
1番はそれっぽいが「ハイフンは二つ重ならない」というルールで却下
2番も「副題主題はハイフンからは始まらない」として却下
4番は問題外
残るは3番は副題のハイフンが括弧対を形成しているので合格
コ -ヒ-
これはハイフンを閉じ括弧の亜種として対になってるから第一次判定に合格、
そしてコが主題でヒが副題、
しかし文字数判定であり得ない(主題副題共に1文字)から、主題でなければ副題でも無い、とすりゃいい
***
1 コ -ヒ--砂糖入り-
2 コ-ヒ --砂糖入り-
3 コ-ヒ- -砂糖入り-
4 コ-ヒ-- 砂糖入り-
1番はそれっぽいが「ハイフンは二つ重ならない」というルールで却下
2番も「副題主題はハイフンからは始まらない」として却下
4番は問題外
残るは3番は副題のハイフンが括弧対を形成しているので合格
560デフォルトの名無しさん
2020/11/25(水) 10:20:06.38ID:BL1+yQyO 丁度いいのがあった
フル-ル・ド・ラパンのハ-ブティ--ローズヒップ-
ttps://pbs.twimg.com/media/C-kqXNUUQAMoc-5.jpg
フル-ル・ド・ラパンのハ-ブティ--ローズヒップ-
ttps://pbs.twimg.com/media/C-kqXNUUQAMoc-5.jpg
561デフォルトの名無しさん
2020/11/25(水) 10:25:03.24ID:DoFzLzHw 後ろの-砂糖〜-とかのパターンは限られてそうだから、
こんな感じでだいたいはできないかな?
(?<!-)-(?!($|[ミ砂]))
こんな感じでだいたいはできないかな?
(?<!-)-(?!($|[ミ砂]))
562デフォルトの名無しさん
2020/11/25(水) 10:55:23.79ID:BeZXjuPe 11/20
Python の無料動画の神、キノコードの37分の新動画が出てる。
たぶん、以前の各動画をまとめたものだと思う
【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう!
https://www.youtube.com/watch?v=kb6op3-E_lg
Python の無料動画の神、キノコードの37分の新動画が出てる。
たぶん、以前の各動画をまとめたものだと思う
【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう!
https://www.youtube.com/watch?v=kb6op3-E_lg
563デフォルトの名無しさん
2020/11/25(水) 12:29:17.61ID:Eovv5MKD564デフォルトの名無しさん
2020/11/25(水) 12:54:47.49ID:Eovv5MKD C-1000タケダ-ミルク-はどうするよ
565デフォルトの名無しさん
2020/11/25(水) 13:06:14.77ID:BL1+yQyO どうにかするルールを考えればいいじゃん
でも今回は、
炭酸コ-ヒ--クリ-ム- は「ハイフンは二つ重ならない」のルールで何とかする
C-1000タケダ-ミルク- は「主題副題が短すぎる」のルールで何とかする
でも今回は、
炭酸コ-ヒ--クリ-ム- は「ハイフンは二つ重ならない」のルールで何とかする
C-1000タケダ-ミルク- は「主題副題が短すぎる」のルールで何とかする
566デフォルトの名無しさん
2020/11/25(水) 13:17:21.18ID:BL1+yQyO 主題副題分割なんだから、多分こういうのも念頭にあるんじゃないのか
ギャラクシ-エンジェル-激レアフォ-チュンクッキ--
本当のところの用途は知らんけど
ギャラクシ-エンジェル-激レアフォ-チュンクッキ--
本当のところの用途は知らんけど
567デフォルトの名無しさん
2020/11/25(水) 13:22:18.15ID:bqcTiXDb 本当の用途は歌手名/曲名なんじゃないか
あと炭酸コーヒーは美味しくないから法で規制した方がいい
あと炭酸コーヒーは美味しくないから法で規制した方がいい
568デフォルトの名無しさん
2020/11/25(水) 13:50:19.95ID:B0nrdhk4 プリティ-プロジェクトの孤高のビュ-ティ-プリンセス、るかにゃんこと姫乃川琉歌のクリスマスライブ衣装-にゃっぱれ恋泥棒バ-ジョン-
ちょっと規則性見いだせなかったわ
ちょっと規則性見いだせなかったわ
569デフォルトの名無しさん
2020/11/25(水) 14:22:40.62ID:BL1+yQyO 「装-」の「(漢字)ー」のパターンは無いとしていい
漢字の後に長音が続くパターンだ
すると、それはハイフンでなければならない
さらに、それが末尾でないなら、対括弧の開始ハイフンになる
漢字の後に長音が続くパターンだ
すると、それはハイフンでなければならない
さらに、それが末尾でないなら、対括弧の開始ハイフンになる
570デフォルトの名無しさん
2020/11/25(水) 14:26:29.69ID:s/U6WABr 終ー了ーw
571デフォルトの名無しさん
2020/11/25(水) 14:31:59.92ID:BL1+yQyO 1、主題副題の文字数が短すぎる
2、副題の後に文字があるパタンは実は副題ではなく、全文は分割できない
つまり、閉じ括弧相当のハイフンの後に文字は来ない、故に分割してはならない
2、副題の後に文字があるパタンは実は副題ではなく、全文は分割できない
つまり、閉じ括弧相当のハイフンの後に文字は来ない、故に分割してはならない
572デフォルトの名無しさん
2020/11/25(水) 15:47:17.11ID:RoX/Ogzq ゴ-ヤ-チャンプル-
ゴ-ヤ-マ-ボ-
ゴ-ヤ-マヨバタ-
ゴーヤ-チャンプル-、ゴーヤ-マーボ-、ゴーヤ-マヨバタ-なのか
ゴーヤーチャンプルー、ゴーヤーマーボー、ゴーヤーマヨバターなのか
どちらとも取れる単語がある限りは辞書使っても100%は無理なので
おおよそいけそうなルールを自分で決めてあとは諦める
ゴ-ヤ-マ-ボ-
ゴ-ヤ-マヨバタ-
ゴーヤ-チャンプル-、ゴーヤ-マーボ-、ゴーヤ-マヨバタ-なのか
ゴーヤーチャンプルー、ゴーヤーマーボー、ゴーヤーマヨバターなのか
どちらとも取れる単語がある限りは辞書使っても100%は無理なので
おおよそいけそうなルールを自分で決めてあとは諦める
573デフォルトの名無しさん
2020/11/25(水) 17:08:34.67ID:CO7swdP4 コーヒーくらいジャンルが限定されてれば末尾がーのものも限られるだろうからコーヒーとか特定ワードで引っ掛ければと思うがノンジャンルなら厳しいかもね
574554
2020/11/25(水) 19:06:50.76ID:Sppz/PEX いろいろレスサンクス
やはり当初の作戦通りン以外のひらがな、カタカナの後は伸ばし棒で基本処理するよ。
クリ-ム、ミルク、ローズヒップの後は-にすると、手前に来る単語で徐々に狭めていく。ジャンルが近い頻出単語はこれで潰せる
>>572こういうのがほんとに厄介、どちらの可能性もある単語。もう入力した本人に聞くしかないレベルのものとかもある
人間が判断するようなことをPythonにやらせるのはやはり難しいか
やはり当初の作戦通りン以外のひらがな、カタカナの後は伸ばし棒で基本処理するよ。
クリ-ム、ミルク、ローズヒップの後は-にすると、手前に来る単語で徐々に狭めていく。ジャンルが近い頻出単語はこれで潰せる
>>572こういうのがほんとに厄介、どちらの可能性もある単語。もう入力した本人に聞くしかないレベルのものとかもある
人間が判断するようなことをPythonにやらせるのはやはり難しいか
575デフォルトの名無しさん
2020/11/25(水) 19:11:55.38ID:nXT1AK4P > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
強姦と窃盗するために生きてるゴミw
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
強姦と窃盗するために生きてるゴミw
クソチョンw
576デフォルトの名無しさん
2020/11/25(水) 19:17:52.71ID:KvQs2Dst >>574
人間だって前提知識(単語力)がないと困るところだろJK
人間だって前提知識(単語力)がないと困るところだろJK
577デフォルトの名無しさん
2020/11/25(水) 20:32:05.96 全部googleに投げて「もしかして」を拾えばいいのでは
578デフォルトの名無しさん
2020/11/25(水) 20:34:43.45ID:zD7zhP2P ぼく「google死ね」
google「もしかして:お前が死ね」
google「もしかして:お前が死ね」
579デフォルトの名無しさん
2020/11/25(水) 20:44:05.71ID:YGLcy80q Pythonこそこういうの得意なんじゃないの
機械学習的なやつで
機械学習的なやつで
580デフォルトの名無しさん
2020/11/25(水) 20:50:30.10ID:V89kYTjd 本件のように、一件の間違いも許されないデータ処理に機械学習は適さないと思う
581デフォルトの名無しさん
2020/11/25(水) 21:40:05.68ID:7hZTXx85 半角スペースでも入れてくれりゃ楽なのにな
582デフォルトの名無しさん
2020/11/25(水) 21:47:27.42ID:Sppz/PEX583デフォルトの名無しさん
2020/11/25(水) 22:14:39.20ID:e2GmmQnc >>580
そもそも人間でも正答率100%じゃないこの手の問題は機械学習向けでしょ
ゴーヤーチャンプルーは沖縄料理だから日本人大体知ってるけど、人によるし、
マリ-ゴールド-コ-ヒ-とかだと、
マリ・ゴールド・コーヒーという名前のものがあるのかないのかで全然答え変わってくるし、
判定者(判定システム)がそういう名前のものがあるかないのかは知りようがないのでは?
まあ、どうしてもルールベースもやってくれ、と言われたなら仕方ないからルールは考えるけど、
辞書や機械学習なしにやるのは筋悪案件なのには変わりない。
そもそも人間でも正答率100%じゃないこの手の問題は機械学習向けでしょ
ゴーヤーチャンプルーは沖縄料理だから日本人大体知ってるけど、人によるし、
マリ-ゴールド-コ-ヒ-とかだと、
マリ・ゴールド・コーヒーという名前のものがあるのかないのかで全然答え変わってくるし、
判定者(判定システム)がそういう名前のものがあるかないのかは知りようがないのでは?
まあ、どうしてもルールベースもやってくれ、と言われたなら仕方ないからルールは考えるけど、
辞書や機械学習なしにやるのは筋悪案件なのには変わりない。
584デフォルトの名無しさん
2020/11/25(水) 22:47:17.02ID:GINPOaUE 答え(勝ち負けとか正解不正解)が分からなければ機械学習出来ない
何か機械学習を勘違いしてない?
何千何万何百万と間違って最適化していくのが機械学習
正解不正解の判定が出来なければ学習不可能
答えが分かるならこの問題は解決する
学習型spamフィルタみたいに人が教え込んで辞書なりフィルタ定義を構築していくのは機械学習とは違うぞ
何か機械学習を勘違いしてない?
何千何万何百万と間違って最適化していくのが機械学習
正解不正解の判定が出来なければ学習不可能
答えが分かるならこの問題は解決する
学習型spamフィルタみたいに人が教え込んで辞書なりフィルタ定義を構築していくのは機械学習とは違うぞ
585デフォルトの名無しさん
2020/11/25(水) 23:15:22.99ID:7hZTXx85 機械学習でやってみたら少し面白そうなテーマではある
'-'が'-'なのか'ー'なのかを間にある文字同士の結びつきで当てる分類タスクになるのかな
'-'が'-'なのか'ー'なのかを間にある文字同士の結びつきで当てる分類タスクになるのかな
586デフォルトの名無しさん
2020/11/25(水) 23:47:21.82ID:zhDDaAJr587デフォルトの名無しさん
2020/11/26(木) 00:12:14.66 raiseした直下ってreturnとかbreakとか必要?
588デフォルトの名無しさん
2020/11/26(木) 00:27:20.76ID:IMBwVNgm 本について質問です
友人にPythonスタートブックを勧められたのですが、
他にも良い入門書ってありますか?
友人にPythonスタートブックを勧められたのですが、
他にも良い入門書ってありますか?
589デフォルトの名無しさん
2020/11/26(木) 00:38:20.52ID:Ahy8UMnM590デフォルトの名無しさん
2020/11/26(木) 01:03:27.64ID:nrM3g88W 図書館使う人とかあまり好きになれない。身銭使って学べない奴は薄っぺらいんだよなあ。
592デフォルトの名無しさん
2020/11/26(木) 01:31:10.09ID:MXca/5hQ >>589
pythonは人気がありすぎて、図書館で借りようにも、なかなか読めないよw
まぁ、多言語経験者なら公式ドキュメントを読んだほうがよほどためになるとおもうし、
わざわざ自腹きって本を買って読まなきゃならないものでもないな。
立ち読み程度で十分。
pythonは人気がありすぎて、図書館で借りようにも、なかなか読めないよw
まぁ、多言語経験者なら公式ドキュメントを読んだほうがよほどためになるとおもうし、
わざわざ自腹きって本を買って読まなきゃならないものでもないな。
立ち読み程度で十分。
593デフォルトの名無しさん
2020/11/26(木) 01:31:12.38ID:X4oHX3Yn >>584
スパムメールのベイジアン学習も機械学習の一つの手法だと思うが
違うとしたら境目はなに?
大体、「答えが分からなければ機械学習できない」と、「人が教え込んでいくのは機械学習じゃない」は矛盾してない?
スパムメールのベイジアン学習も機械学習の一つの手法だと思うが
違うとしたら境目はなに?
大体、「答えが分からなければ機械学習できない」と、「人が教え込んでいくのは機械学習じゃない」は矛盾してない?
594デフォルトの名無しさん
2020/11/26(木) 02:02:57.72ID:KChL8khM >>592
自分の住んでるところでも貸し出し中は多かったよ
貸し出し中でも貸し出し予約出来るが
貸し出し中じゃないものから選んで借りた
ネット経由で最寄りの図書館受け取りだし気軽に借りれる
最近は逆引き系の書籍を借りてみたがそこそこ使えそうなの購入検討中
自分の住んでるところでも貸し出し中は多かったよ
貸し出し中でも貸し出し予約出来るが
貸し出し中じゃないものから選んで借りた
ネット経由で最寄りの図書館受け取りだし気軽に借りれる
最近は逆引き系の書籍を借りてみたがそこそこ使えそうなの購入検討中
595デフォルトの名無しさん
2020/11/26(木) 13:43:41.02ID:BC4iA6x5 >>590
別に金をけちるためと言ってるわけでもなく、図書館の正当な活用方法が何で気に入らないのか分からないが、お前のその決めつけも薄っぺらいものだと思うぞw
別に金をけちるためと言ってるわけでもなく、図書館の正当な活用方法が何で気に入らないのか分からないが、お前のその決めつけも薄っぺらいものだと思うぞw
596デフォルトの名無しさん
2020/11/26(木) 13:53:40.08ID:jm3BjrWz 図書館を選ぶのは金をケチりたいからでしょ
597デフォルトの名無しさん
2020/11/26(木) 14:18:20.57ID:dGdApgXM pythonの入門書とか時間と金の無駄
無駄なものにお金をケチって有意義なものにお金を使うのは賢い選択
無駄なものにお金をケチって有意義なものにお金を使うのは賢い選択
598デフォルトの名無しさん
2020/11/26(木) 14:22:28.77ID:pWRU7DEh そりゃPythonで食っていくぞーって人なら本買えよって思うけど、このスレはそんな人ばかりじゃないから
599デフォルトの名無しさん
2020/11/26(木) 14:23:24.62ID:ye1vQ6Qi 学び方は人それぞれ
本をじっくり読み込むスタイルが合う人もいれば、
キーボードを叩きながらPC画面で学べるオンライン学習サイトが合う人もいる
大切なことは毎日続けること
人は三日プログラミングから離れると、自分の書いたコードすら読めなくなる
本をじっくり読み込むスタイルが合う人もいれば、
キーボードを叩きながらPC画面で学べるオンライン学習サイトが合う人もいる
大切なことは毎日続けること
人は三日プログラミングから離れると、自分の書いたコードすら読めなくなる
600デフォルトの名無しさん
2020/11/26(木) 14:27:01.12ID:l+ppMWJa オンラインにも情報転がってるし金を出す意味はない
時間は惜しみなく出せ
時間は惜しみなく出せ
601デフォルトの名無しさん
2020/11/26(木) 15:41:49.21ID:nrM3g88W 愚者はそうやって時間を捨て老いていく。
賢者は金を払い、効率よく順序よく学びスキルを身につける。
賢者は金を払い、効率よく順序よく学びスキルを身につける。
602デフォルトの名無しさん
2020/11/26(木) 16:42:01.95ID:D+V6U/tS 本だけ買い揃えて満足してそう
603デフォルトの名無しさん
2020/11/26(木) 16:43:48.99ID:0+aT9pM+ 典型的な積読バカがいると聞いて
604デフォルトの名無しさん
2020/11/26(木) 16:47:36.29ID:xBQH8cKm 本読む価値があるのって設計とかCSの本とかじゃないの
言語単体なら本買うより公式リファレンス見た方がマシ
言語単体なら本買うより公式リファレンス見た方がマシ
605デフォルトの名無しさん
2020/11/26(木) 16:49:19.09ID:vejzC3OQ 自称賢者はカネさえ払えば効率が良いと考えているようだな
取捨選択すらできないで効率もへったくれもないと思うんだが
取捨選択すらできないで効率もへったくれもないと思うんだが
606デフォルトの名無しさん
2020/11/26(木) 16:50:37.84ID:ae4kcUSb >>604
それだとEffective Pythonが読めないぞ
それだとEffective Pythonが読めないぞ
607588
2020/11/26(木) 17:11:15.74ID:IMBwVNgm 書き込みとかしたいのでやはり買うことにしました
図書館を勧めてくれた方ごめんなさい
SBクリエイティブの「Python超入門」にしました
図書館を勧めてくれた方ごめんなさい
SBクリエイティブの「Python超入門」にしました
608デフォルトの名無しさん
2020/11/26(木) 17:44:52.48ID:StrviZCw 私、本に書き込む人って嫌い
609デフォルトの名無しさん
2020/11/26(木) 18:17:13.29ID:nrM3g88W610デフォルトの名無しさん
2020/11/26(木) 18:22:28.42ID:T0UZuAda >>600
オススメのサイトとかある?
オススメのサイトとかある?
611デフォルトの名無しさん
2020/11/26(木) 18:24:27.19ID:ko8YYDT7 Pythonの入門書を選ぶのは結構難しいよな
とある事情で他人に勧める参考書を探しているのだけれども、
基本を押さえていて、リファレンス的になりすぎず、かといって変に応用だけやるみたいにもなっておらず、間違いがない本を探すのはかなり難しかった。
他言語の経験がある人なら公式チュートリアル読めで終わりなんだけどね
とある事情で他人に勧める参考書を探しているのだけれども、
基本を押さえていて、リファレンス的になりすぎず、かといって変に応用だけやるみたいにもなっておらず、間違いがない本を探すのはかなり難しかった。
他言語の経験がある人なら公式チュートリアル読めで終わりなんだけどね
612デフォルトの名無しさん
2020/11/26(木) 18:41:18.80ID:fjpYUDuO 図書館にPythonの本は何冊かあるんだけど普通に10年前くらいのあるなぁ…
2015年出版とかの本は使えるのだろうか?
2015年出版とかの本は使えるのだろうか?
613デフォルトの名無しさん
2020/11/26(木) 18:42:37.49ID:YYN7U/8V >>611
だから図書館で複数纏めて借りたんだけどね
筆者毎に薦める開発環境も入り方も全く違うから
自分に合うのが1冊あれば他は返却するつもりだったし
合うのが無くてもそれぞれ読み合わせるつもりだった
だから図書館で複数纏めて借りたんだけどね
筆者毎に薦める開発環境も入り方も全く違うから
自分に合うのが1冊あれば他は返却するつもりだったし
合うのが無くてもそれぞれ読み合わせるつもりだった
614デフォルトの名無しさん
2020/11/26(木) 19:11:36.57ID:l+ppMWJa >>610
めちゃくちゃ叩かれそうだけど書く
paizaとqiitaを往復するのがいいと思う
paizaのスキルチェック受けながらわからないところを調べていく
pythonでなにか作りたいとかなければこれがベストなんじゃないかな
課題を与えてもうのはとても良いことだと個人的には思う
めちゃくちゃ叩かれそうだけど書く
paizaとqiitaを往復するのがいいと思う
paizaのスキルチェック受けながらわからないところを調べていく
pythonでなにか作りたいとかなければこれがベストなんじゃないかな
課題を与えてもうのはとても良いことだと個人的には思う
615デフォルトの名無しさん
2020/11/26(木) 19:20:10.25ID:zyTAEVOK616デフォルトの名無しさん
2020/11/26(木) 19:24:22.04ID:YYN7U/8V617デフォルトの名無しさん
2020/11/26(木) 20:18:23.65ID:zyTAEVOK618デフォルトの名無しさん
2020/11/26(木) 20:25:58.77ID:Su7UQCea >>609
だから自分で調べるなりここで聞けばいいだけだろ?
金出して教えを請うたりしたところで、大した違いはない
各種選択肢の中から結局自分で解決方法を選ぶことになるんだから
金出せば簡単にすむと思ってる輩には難しいのかもしれないけど、
自分でやろうとする気のないのは何やってもだめなんだよ
だから自分で調べるなりここで聞けばいいだけだろ?
金出して教えを請うたりしたところで、大した違いはない
各種選択肢の中から結局自分で解決方法を選ぶことになるんだから
金出せば簡単にすむと思ってる輩には難しいのかもしれないけど、
自分でやろうとする気のないのは何やってもだめなんだよ
619デフォルトの名無しさん
2020/11/26(木) 20:48:24.82ID:nrM3g88W620デフォルトの名無しさん
2020/11/26(木) 20:52:28.72ID:4zwvuqDK >>619
賢者モード 乙
賢者モード 乙
621デフォルトの名無しさん
2020/11/26(木) 21:55:47.46ID:H5c28v3A 自身がバグっていないと証明することは不完全性定理により不可能なんだっけ
賢い俺らは自身と外界の両方から情報を得てアップデートしていこうな!
賢い俺らは自身と外界の両方から情報を得てアップデートしていこうな!
622デフォルトの名無しさん
2020/11/26(木) 22:02:03.50ID:BC4iA6x5 >>619
高校生が背伸びして難しいことを言ってみたという感じかな?
高校生が背伸びして難しいことを言ってみたという感じかな?
623デフォルトの名無しさん
2020/11/26(木) 22:40:02.36ID:NeNbHCSj >>614
paizaってスキルチェックなんかもあったんだ…知らなかったなぁ…ありがとナス!
paizaってスキルチェックなんかもあったんだ…知らなかったなぁ…ありがとナス!
624デフォルトの名無しさん
2020/11/26(木) 22:56:41.34ID:nrM3g88W >>622
いいえ、アラフォーです
いいえ、アラフォーです
625デフォルトの名無しさん
2020/11/27(金) 13:46:54.91ID:m0c4MBXJ >>619
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
( ( ( ( ( (゚∀゚) ) ) ) ) )ユンユンユーン
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
( ( ( ( ( (゚∀゚) ) ) ) ) )ユンユンユーン
626588
2020/11/28(土) 12:23:46.13ID:bhBilOI2 この本コメントの書き方が載ってない… 信じられない…
まあ#で書くって知ってはいるけど
まあ#で書くって知ってはいるけど
627デフォルトの名無しさん
2020/11/28(土) 18:52:16.51ID:duaGF17R >>611
他の言語に比べると入門書の質が悪すぎると思う
他の言語に比べると入門書の質が悪すぎると思う
628デフォルトの名無しさん
2020/11/28(土) 21:20:00.04ID:wikslLsj629デフォルトの名無しさん
2020/11/28(土) 21:25:27.00ID:7MYLw5P/ マジか…Pythonは初心者にも分かりやすいって聞いて始めたんだけど…
630デフォルトの名無しさん
2020/11/28(土) 21:27:25.17ID:73Gx5wYa 純粋の母数の問題じゃねえか?
スタージョンの法則で90%はゴミ、
ただし業界のピラミッドがでかけりゃデカいほどクズ本は巷に溢れる
Haskell本の少なさを見てみろ
ネコも杓子もpython入門書を書いてる、
圧倒的なまでに量産されてる、
それが原因だ
スタージョンの法則で90%はゴミ、
ただし業界のピラミッドがでかけりゃデカいほどクズ本は巷に溢れる
Haskell本の少なさを見てみろ
ネコも杓子もpython入門書を書いてる、
圧倒的なまでに量産されてる、
それが原因だ
631デフォルトの名無しさん
2020/11/28(土) 21:28:57.39ID:Qx/oNDgY プログラミング自体の初心者が多いので、
畢竟、入門書もプログラミング自体の基礎から始める必要があるんじゃないかねぇ
畢竟、入門書もプログラミング自体の基礎から始める必要があるんじゃないかねぇ
632デフォルトの名無しさん
2020/11/28(土) 21:32:14.00ID:mMC1knSV633デフォルトの名無しさん
2020/11/28(土) 22:26:16.41ID:FGpMIdZG 「みんなのPython」など、多くの本の質が低下した
なぜ、文法が減ったかと言うと、
Jupyter Notebook, Pandas など、ライブラリの説明が増えたから
一方、Ruby では「たのしいRuby」1冊で、十分に文法が説明されている
なぜ、文法が減ったかと言うと、
Jupyter Notebook, Pandas など、ライブラリの説明が増えたから
一方、Ruby では「たのしいRuby」1冊で、十分に文法が説明されている
634633
2020/11/28(土) 22:36:37.55ID:FGpMIdZG YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つ以外は、出てこない
最初に、Python, PHP を学べとは、絶対に言わない。
将来的に、Pythonをやりたいからと言って、Pythonから始めてはいけないって言ってる
つまり小学生が将来、大学へ行きたいからと言って、
いきなり大学の試験勉強から始めてはいけない
小学生は、小学生の勉強から始めなければならない。
次に中学生になれば、中学生の勉強をする。
そして高校生の勉強をする
つまり、勉強の順番が大切
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる
この2つ以外は、出てこない
最初に、Python, PHP を学べとは、絶対に言わない。
将来的に、Pythonをやりたいからと言って、Pythonから始めてはいけないって言ってる
つまり小学生が将来、大学へ行きたいからと言って、
いきなり大学の試験勉強から始めてはいけない
小学生は、小学生の勉強から始めなければならない。
次に中学生になれば、中学生の勉強をする。
そして高校生の勉強をする
つまり、勉強の順番が大切
635デフォルトの名無しさん
2020/11/28(土) 22:55:57.26ID:9//L8RlG636デフォルトの名無しさん
2020/11/28(土) 23:25:18.30ID:bhBilOI2 >>634
ま た お 前 か
ま た お 前 か
637デフォルトの名無しさん
2020/11/29(日) 03:06:12.24ID:9kWt1Kcb でたルビおじw
638デフォルトの名無しさん
2020/11/29(日) 10:04:01.50ID:GnQH3nQR Python で デスクトップアプリwwww
とか言われてるの見て、違うんかなと思ってたけど、最近OKINI の MyPaint ってソフトのGITHUB みたらほぼ Python で書かれてたわ
ちゃんと快適に動作するんやね
PyQt とか、PyGTK とか、 Native Library をゴリゴリによんでるっぽいが、それが楽なのは良いよね
とか言われてるの見て、違うんかなと思ってたけど、最近OKINI の MyPaint ってソフトのGITHUB みたらほぼ Python で書かれてたわ
ちゃんと快適に動作するんやね
PyQt とか、PyGTK とか、 Native Library をゴリゴリによんでるっぽいが、それが楽なのは良いよね
639デフォルトの名無しさん
2020/11/29(日) 14:49:24.35ID:EaJiwQmK >>623
paizaスキルチェックは答えを公開してはいけない規約のせいで良いコードが見れない。
paizaスキルチェックはスキルを伸ばし終えた人が就職のためにやるものだと思う。
スキルを伸ばしたいならCheckiOで冒険するのがベストだゾ
https://checkio.org/
checkioでは問題を解いた後、Best Solutionsで他の人が書いたコードで高評価が多かったものが見れる。
そういうのを読んでいけばスキルが向上していくと思うわ。
paizaスキルチェックは答えを公開してはいけない規約のせいで良いコードが見れない。
paizaスキルチェックはスキルを伸ばし終えた人が就職のためにやるものだと思う。
スキルを伸ばしたいならCheckiOで冒険するのがベストだゾ
https://checkio.org/
checkioでは問題を解いた後、Best Solutionsで他の人が書いたコードで高評価が多かったものが見れる。
そういうのを読んでいけばスキルが向上していくと思うわ。
640デフォルトの名無しさん
2020/11/29(日) 15:42:13.31ID:nZSW4pQM じゃあ最初からいいモノだけを見せて純粋培養すればもっと効率よくなるじゃん
自分で解くだけ時間の無駄じゃん
自分で解くだけ時間の無駄じゃん
641デフォルトの名無しさん
2020/11/29(日) 16:31:12.91ID:krdYa2S6 インプットとアウトプットは別物だからなぁ
642デフォルトの名無しさん
2020/11/29(日) 17:49:42.57ID:yRBxHDUY AtCoderでいいかな
643デフォルトの名無しさん
2020/11/29(日) 17:59:19.66ID:QDwVKtUj >>610
<5分で始めるクリップボードにコピーしたテキストを検索>
退屈なことはPythonにやらせよう編
#! python
import webbrowser, sys, pyperclip
if len(sys.argv) > 1:
# この下の1行は半角スペース4個分あけてから書く(半角スペースを開けなかった時のエラーメッセージは"IndentationError: expected an indented block")
keyword = ' '.join(sys.argv[1:])
else:
# この下の1行は半角スペース4個分あけてから書く
keyword = pyperclip.paste()
# ttpsをhttpsに変更して使ってね
webbrowser.open("ttps://www.deepl.com/translator#xx/ja/" + keyword)
webbrowser.open("ttps://stackoverflow.com/search?q=" + keyword)
webbrowser.open("ttps://qiita.com/search?q=" + keyword + "&sort=like")
webbrowser.open("ttps://teratail.com/search?q=" + keyword)
webbrowser.open("ttps://www.google.com/search?q=" + keyword)
# ttps://duckduckgo.com/bang_lite.html
# Automate the Boring Stuff with Python > Chapter 11 – Web Scraping > Step 3: Handle the Clipboard Content and Launch the Browser
# ttps://automatetheboringstuff.com/chapter11/
# RUNNING PROGRAMS
# ttps://automatetheboringstuff.com/2e/appendixb/
# 翻訳版:退屈なことはPythonにやらせよう ――ノンプログラマーにもできる自動化処理プログラミング Al Sweigart 著、相川 愛三 訳
<5分で始めるクリップボードにコピーしたテキストを検索>
退屈なことはPythonにやらせよう編
#! python
import webbrowser, sys, pyperclip
if len(sys.argv) > 1:
# この下の1行は半角スペース4個分あけてから書く(半角スペースを開けなかった時のエラーメッセージは"IndentationError: expected an indented block")
keyword = ' '.join(sys.argv[1:])
else:
# この下の1行は半角スペース4個分あけてから書く
keyword = pyperclip.paste()
# ttpsをhttpsに変更して使ってね
webbrowser.open("ttps://www.deepl.com/translator#xx/ja/" + keyword)
webbrowser.open("ttps://stackoverflow.com/search?q=" + keyword)
webbrowser.open("ttps://qiita.com/search?q=" + keyword + "&sort=like")
webbrowser.open("ttps://teratail.com/search?q=" + keyword)
webbrowser.open("ttps://www.google.com/search?q=" + keyword)
# ttps://duckduckgo.com/bang_lite.html
# Automate the Boring Stuff with Python > Chapter 11 – Web Scraping > Step 3: Handle the Clipboard Content and Launch the Browser
# ttps://automatetheboringstuff.com/chapter11/
# RUNNING PROGRAMS
# ttps://automatetheboringstuff.com/2e/appendixb/
# 翻訳版:退屈なことはPythonにやらせよう ――ノンプログラマーにもできる自動化処理プログラミング Al Sweigart 著、相川 愛三 訳
644デフォルトの名無しさん
2020/11/30(月) 12:39:15.63ID:79yVLdeW Tweepyで3-leggedOAuth認証とAccessToken,AccessTokenSecretの取得方法教えて
645デフォルトの名無しさん
2020/11/30(月) 14:02:35.50ID:wCS2S4dQ 押忍
iniファイルの読み出しに付いて教えてほしいです
URLをブラウザからコピーするとURLエンコードされた状態でコピーされます
これをそのままiniファイルに貼り付けると、configparserで読み出すときにエラーになってしまいます
[example]
url = https://example.com/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
ini['example']['url']
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1255, in __getitem__
return self._parser.get(self._name, key)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 799, in get
return self._interpolation.before_get(self, section, option, value,
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 395, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 442, in _interpolate_some
raise InterpolationSyntaxError(
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/'
今は仕方なく適当なサイトでURLデコードして貼り付けてますが、結構な手間です
手間かけずに巧くやる方法はないでしょうか
ちなみにデコードすると以下になります
https://example.com/あいうえお/abcdefg/
iniファイルの読み出しに付いて教えてほしいです
URLをブラウザからコピーするとURLエンコードされた状態でコピーされます
これをそのままiniファイルに貼り付けると、configparserで読み出すときにエラーになってしまいます
[example]
url = https://example.com/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
ini['example']['url']
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1255, in __getitem__
return self._parser.get(self._name, key)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 799, in get
return self._interpolation.before_get(self, section, option, value,
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 395, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 442, in _interpolate_some
raise InterpolationSyntaxError(
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/'
今は仕方なく適当なサイトでURLデコードして貼り付けてますが、結構な手間です
手間かけずに巧くやる方法はないでしょうか
ちなみにデコードすると以下になります
https://example.com/あいうえお/abcdefg/
646デフォルトの名無しさん
2020/11/30(月) 14:06:29.94ID:mKaKPR0T >>645
つurllib.parse.unquote()
つurllib.parse.unquote()
647デフォルトの名無しさん
2020/11/30(月) 16:21:12.97ID:lAYyI3JE >>645
config = configparser.ConfigParser(interpolation=None)
https://stackoverflow.com/questions/14340366/configparser-and-string-with/62592195#62592195
https://docs.python.org/ja/3/library/configparser.html#interpolation-of-values
config = configparser.ConfigParser(interpolation=None)
https://stackoverflow.com/questions/14340366/configparser-and-string-with/62592195#62592195
https://docs.python.org/ja/3/library/configparser.html#interpolation-of-values
648デフォルトの名無しさん
2020/11/30(月) 18:40:04.84ID:wCS2S4dQ649デフォルトの名無しさん
2020/12/03(木) 22:55:54.00ID:KIgHVg2T とあるサイトでrequests.postでうまく投稿ができない
ポストすると
投稿成功のときは”投稿に成功しました”
投稿内容が不正だったときは”投稿内容を確認してください”
というhtmlが返ってくる
pythonのrequestsから投稿するとこの”投稿内容を確認してください”が返ってくる
ブラウザ側でも試したところクッキーを消したときにだけ同じ投稿ミスになることは確定だが
”投稿に失敗しました”ではなく”投稿内容を確認してください”というエラー表示に糸口がありそうな気がする
s = requests.Session()でs.post()とやってみたけどやはりポスト内容が反映されていない
headersつけたりもしたけど同じ
ブラウザからajaxでの投稿には成功
パラメータを.encode("utf-8")したり
dataにjson.dumpsでやってもだめだった
他のサイトでは大抵sessionの問題だけで普通にrequests.postでできるけど
そのサイトではなぜか上で書いたようにいろいろやってもことごとく投稿ミスする
曖昧な情報しかだせないけど、他に考えられる要因があれば教えてください
どうせcookie周りの問題だと思うけどsession.cookiesで確認した内容と
ブラウザで確認したcookieにそう変わり無かったしお手上げ状態
ポストすると
投稿成功のときは”投稿に成功しました”
投稿内容が不正だったときは”投稿内容を確認してください”
というhtmlが返ってくる
pythonのrequestsから投稿するとこの”投稿内容を確認してください”が返ってくる
ブラウザ側でも試したところクッキーを消したときにだけ同じ投稿ミスになることは確定だが
”投稿に失敗しました”ではなく”投稿内容を確認してください”というエラー表示に糸口がありそうな気がする
s = requests.Session()でs.post()とやってみたけどやはりポスト内容が反映されていない
headersつけたりもしたけど同じ
ブラウザからajaxでの投稿には成功
パラメータを.encode("utf-8")したり
dataにjson.dumpsでやってもだめだった
他のサイトでは大抵sessionの問題だけで普通にrequests.postでできるけど
そのサイトではなぜか上で書いたようにいろいろやってもことごとく投稿ミスする
曖昧な情報しかだせないけど、他に考えられる要因があれば教えてください
どうせcookie周りの問題だと思うけどsession.cookiesで確認した内容と
ブラウザで確認したcookieにそう変わり無かったしお手上げ状態
650デフォルトの名無しさん
2020/12/03(木) 23:23:43.14ID:XMGdMuHX >>649
フォームでノンス入ってんじゃないの?
フォームでノンス入ってんじゃないの?
651デフォルトの名無しさん
2020/12/03(木) 23:39:07.22ID:Glofd6fS >>649
1. Chrome -> デベロッパーツール -> ネットワークタブを開いて成功するリクエストを投げる
2. ネットワークタブから該当のPOSTリクエストをCopy as cURLでコピる
3. ターミナルにペーストしてcURL使ってPOSTリクエストを投げる
(5chみたいに重複ではじかれる仕組みがあるならリクエスト内容を変えること)
まずはこれで切り分け
cURLでもリクエストが成功するなら
その内容を徐々に削っていけば最小限必要なものが何か分かる
でそれをpythonに実装する
1. Chrome -> デベロッパーツール -> ネットワークタブを開いて成功するリクエストを投げる
2. ネットワークタブから該当のPOSTリクエストをCopy as cURLでコピる
3. ターミナルにペーストしてcURL使ってPOSTリクエストを投げる
(5chみたいに重複ではじかれる仕組みがあるならリクエスト内容を変えること)
まずはこれで切り分け
cURLでもリクエストが成功するなら
その内容を徐々に削っていけば最小限必要なものが何か分かる
でそれをpythonに実装する
652デフォルトの名無しさん
2020/12/03(木) 23:44:55.74ID:KIgHVg2T >>650-651
パラメータは成功したものをそのコンソールでコピペしてるからタイプミスはないとして
そのパラメータも簡単で、idとnameとcommentとnonce(3文字の数字)だけだった
(リダイレクトもないタイプだったのでpreserve logする必要もなかった)
そのnonceに対応する値もパラメータには無かった
簡略して書くと文字通りこんな感じのパラメータをポストしてるだけだった
prm = {"id":"id","name":"name","comment":"comment","nonce":"123"}
(もちろん重複エラーを出されないようにポストするときにはポスト内容を変えて何回もテストしてる)
数字認証にもタイムアウトがあると思って、ブラウザでサイト開いて数字をメモしてpython側で投稿テストした
書いてて思ったけど、もしかするとその数字認証の数字発行のタイミングとセッションに関係性があるのかもしれない
(発行された数値から作られたcookieを使う必要?)ので
それで試してみるd
パラメータは成功したものをそのコンソールでコピペしてるからタイプミスはないとして
そのパラメータも簡単で、idとnameとcommentとnonce(3文字の数字)だけだった
(リダイレクトもないタイプだったのでpreserve logする必要もなかった)
そのnonceに対応する値もパラメータには無かった
簡略して書くと文字通りこんな感じのパラメータをポストしてるだけだった
prm = {"id":"id","name":"name","comment":"comment","nonce":"123"}
(もちろん重複エラーを出されないようにポストするときにはポスト内容を変えて何回もテストしてる)
数字認証にもタイムアウトがあると思って、ブラウザでサイト開いて数字をメモしてpython側で投稿テストした
書いてて思ったけど、もしかするとその数字認証の数字発行のタイミングとセッションに関係性があるのかもしれない
(発行された数値から作られたcookieを使う必要?)ので
それで試してみるd
653デフォルトの名無しさん
2020/12/04(金) 00:11:56.59ID:V5csDP6P654デフォルトの名無しさん
2020/12/04(金) 00:55:14.15ID:mbGy2PTH >>653
すまn書き忘れたがそれでコピーしたヘッダーとかポストパラメータを整えて
まずajaxで投稿成功したものを、pythonにて(header設定の有無など)投稿テストしてる
とりあえず解決した
(python側のセッションと依存関係のない)ブラウザで開いた問題のサイトを開いて得た認証数字とcookieを使って
python側のrequestsでそのcookieを設定しつつその認証数字をpostしたところ
投稿に成功した
どうやらcookieと数字認証を紐づけしてセッションとして扱うという
そのサイトの仕様だったっぽい
ありやした
すまn書き忘れたがそれでコピーしたヘッダーとかポストパラメータを整えて
まずajaxで投稿成功したものを、pythonにて(header設定の有無など)投稿テストしてる
とりあえず解決した
(python側のセッションと依存関係のない)ブラウザで開いた問題のサイトを開いて得た認証数字とcookieを使って
python側のrequestsでそのcookieを設定しつつその認証数字をpostしたところ
投稿に成功した
どうやらcookieと数字認証を紐づけしてセッションとして扱うという
そのサイトの仕様だったっぽい
ありやした
655デフォルトの名無しさん
2020/12/04(金) 03:07:55.96ID:2+VKdPy1 opencvのセットアップ本当にめんどくさくてワロタwww
散々漁った挙げ句ビルドツール揃えてgtkフラグ立てて自分でビルドしろとかなんじゃそりゃwwww
散々漁った挙げ句ビルドツール揃えてgtkフラグ立てて自分でビルドしろとかなんじゃそりゃwwww
656デフォルトの名無しさん
2020/12/04(金) 08:25:51.51ID:hUNPjPlE657デフォルトの名無しさん
2020/12/04(金) 09:52:22.67ID:AvYQsRML cmakeとかlibなんちゃらみたいなのが入ってないとpipで入らない
658デフォルトの名無しさん
2020/12/04(金) 11:36:09.84ID:J43e5p8N 3.5サポート終了か
3.6終了されるとヤバいんだよなあ
深層学習の色んなモジュールで安定してるのが全部ダメになる
3.6終了されるとヤバいんだよなあ
深層学習の色んなモジュールで安定してるのが全部ダメになる
659デフォルトの名無しさん
2020/12/04(金) 12:12:28.38ID:QkN7upSm660デフォルトの名無しさん
2020/12/04(金) 18:19:21.77ID:huRYsfdX Pythonは3.3のyield fromで完成した
それ以降はどうでもいい機能追加ばかりで言語の簡潔さが損なわれる一方だ
それ以降はどうでもいい機能追加ばかりで言語の簡潔さが損なわれる一方だ
661デフォルトの名無しさん
2020/12/04(金) 18:36:46.19ID:cMvL3wzj >>660
お前f-string使うの禁止な
お前f-string使うの禁止な
662デフォルトの名無しさん
2020/12/04(金) 18:41:31.28ID:AvYQsRML >>660
type hints使うなよな
type hints使うなよな
663デフォルトの名無しさん
2020/12/04(金) 18:57:25.08ID:0C1YXDY5 趣味レベルでしかプログラミングしないから遅延評価?とかジェネレーター?って使ったことないわ
使いみちがイマイチ思い浮かばないんだけど何に使ってんの?
使いみちがイマイチ思い浮かばないんだけど何に使ってんの?
664デフォルトの名無しさん
2020/12/04(金) 21:48:57.69ID:vKhGRfH5 >>663
ジェネレーターはメモリ節約以外で使わんなぁ
ジェネレーターはメモリ節約以外で使わんなぁ
665デフォルトの名無しさん
2020/12/05(土) 03:39:12.78ID:qj4AFT3z 遅延評価って、lazy getter みたいなのかと思ったら、yield のことか
666デフォルトの名無しさん
2020/12/05(土) 06:15:08.82ID:FCSL7Haz ジェネレータは動作テストなんかで簡易的なステップ実行をさせる時に便利
コマンドラインでnext()を打つたびに一個ずつデータが返ってくるから
コマンドラインでnext()を打つたびに一個ずつデータが返ってくるから
667デフォルトの名無しさん
2020/12/05(土) 10:13:37.67ID:gZAhFzLL デバッガでステップ実行中すればいいだろ
わざわざコード書くのかw
わざわざコード書くのかw
668デフォルトの名無しさん
2020/12/05(土) 12:40:24.70ID:Na39OKS5 ブログ書いてたら彼女と無料で海外留学という名のデートに行けた話【影響力やばい】
https://www.youtube.com/watch?v=Y8Q1z3Mi7BQ
若いうちから人を雇ったり、任せるクセをつけるべき理由とは?
https://www.youtube.com/watch?v=6yAvDQxhldI
【対談】インフルエンサーマーケティングに300万円突っ込んでみた結果...
https://www.youtube.com/watch?v=AMjWD0F8PLQ
収入を上げたければ、自分の影分身を作るべし
https://www.youtube.com/watch?v=V3Kc-lUxH88
勉強のために10日間で21個のアプリを作った話【初心者時のプログラミング学習】
https://www.youtube.com/watch?v=JkN5kmR9dgk
学校では教えてくれないことの中にはお宝が眠っている
https://www.youtube.com/watch?v=oq92u9nJ7FY
ブロガーからステップアップしていくために必要なスキル
https://www.youtube.com/watch?v=F6qsOyRIaQE
https://www.youtube.com/watch?v=Y8Q1z3Mi7BQ
若いうちから人を雇ったり、任せるクセをつけるべき理由とは?
https://www.youtube.com/watch?v=6yAvDQxhldI
【対談】インフルエンサーマーケティングに300万円突っ込んでみた結果...
https://www.youtube.com/watch?v=AMjWD0F8PLQ
収入を上げたければ、自分の影分身を作るべし
https://www.youtube.com/watch?v=V3Kc-lUxH88
勉強のために10日間で21個のアプリを作った話【初心者時のプログラミング学習】
https://www.youtube.com/watch?v=JkN5kmR9dgk
学校では教えてくれないことの中にはお宝が眠っている
https://www.youtube.com/watch?v=oq92u9nJ7FY
ブロガーからステップアップしていくために必要なスキル
https://www.youtube.com/watch?v=F6qsOyRIaQE
669デフォルトの名無しさん
2020/12/05(土) 13:28:53.84ID:ZDhFj9p4 今オブジェクト指向勉強してるんですが
同一クラスの中で関数の継承って出来ないんですか?
抽象化した関数を1つ定義してそこから継承して微妙に役割の違う関数をいくつか生やしたいんですが
class Hoge():
def abstract():
def concrete1(abstract):
def concrete2(abstract):
同一クラスの中で関数の継承って出来ないんですか?
抽象化した関数を1つ定義してそこから継承して微妙に役割の違う関数をいくつか生やしたいんですが
class Hoge():
def abstract():
def concrete1(abstract):
def concrete2(abstract):
670デフォルトの名無しさん
2020/12/05(土) 13:34:53.57ID:v7lcL9sk できない
関数の継承っていうのがよくわからない
関数の継承っていうのがよくわからない
671デフォルトの名無しさん
2020/12/05(土) 13:42:39.17ID:ZDhFj9p4 なるほど
それでは大本の処理は同じで細部だけが異なる関数を定義したい場合ってどう書けば良いんですか?
関数ごとに抽象クラス継承した新しいクラス定義するしか無いんですかね?
それでは大本の処理は同じで細部だけが異なる関数を定義したい場合ってどう書けば良いんですか?
関数ごとに抽象クラス継承した新しいクラス定義するしか無いんですかね?
672デフォルトの名無しさん
2020/12/05(土) 13:45:09.96ID:En2ZUb0e673デフォルトの名無しさん
2020/12/05(土) 13:46:47.29ID:3OUqO/Qz Ruby では、lazy を付ければ無限配列も扱える
最初に、無限配列を実体化しない。
必要な所までしか演算しない
p ( 1..Float::INFINITY ).lazy.select{ |n| n.even? }.first( 3 )
出力
[2, 4, 6]
最初に、無限配列を実体化しない。
必要な所までしか演算しない
p ( 1..Float::INFINITY ).lazy.select{ |n| n.even? }.first( 3 )
出力
[2, 4, 6]
674デフォルトの名無しさん
2020/12/05(土) 14:28:45.82ID:IToZisS4 結局実装はイテレーター使うようなもんだろ。。そんなクソ機能どうでもええわ
675デフォルトの名無しさん
2020/12/05(土) 15:04:02.90ID:2CGyf7zj >>672横レスだが
簡潔にして要点をおさえてるすばらしいレスage
簡潔にして要点をおさえてるすばらしいレスage
676デフォルトの名無しさん
2020/12/05(土) 16:42:25.74ID:En2ZUb0e >>674
そんなどうでもいいクソ機能はPythonにもあるんですけど・・・
そんなどうでもいいクソ機能はPythonにもあるんですけど・・・
677デフォルトの名無しさん
2020/12/05(土) 17:20:49.97ID:gZAhFzLL >>674横レスだが
簡潔にして要点をおさえてるすばらしいレスage
簡潔にして要点をおさえてるすばらしいレスage
678デフォルトの名無しさん
2020/12/05(土) 18:10:26.12ID:2n9rdHeb 関数を受け取ってちょっと処理をつけ足したり変更したりした
新しい関数を返すのって、それデコレータって機能の出番じゃないかな
勉強始めたけどちょっと難しくて一時挫折中の機能だわ
新しい関数を返すのって、それデコレータって機能の出番じゃないかな
勉強始めたけどちょっと難しくて一時挫折中の機能だわ
679デフォルトの名無しさん
2020/12/06(日) 11:47:20.63ID:Ki7zJHSL680デフォルトの名無しさん
2020/12/06(日) 12:52:46.51ID:jZtFYDuX 筋がいいか分からんがメソッド名で引数調整するとか?
def func_core(self,format)
# 処理
def func_csv(self,*args,**kwargs)
kwargs['format']='csv'
self.func_core(*args,**kwargs)
def func_core(self,format)
# 処理
def func_csv(self,*args,**kwargs)
kwargs['format']='csv'
self.func_core(*args,**kwargs)
681デフォルトの名無しさん
2020/12/06(日) 18:07:14.38ID:boBfQzjD # get image pixel count using opencv
imgCV = cv2.imread(file_name)
height, width, channel = imgCV.shape
height, width, channel = imgCV.shape
AttributeError: 'NoneType' object has no attribute 'shape'
となるんですが、なんでだろう?
前はこのコードで動いていたように思うのですが・・・
imgCV = cv2.imread(file_name)
height, width, channel = imgCV.shape
height, width, channel = imgCV.shape
AttributeError: 'NoneType' object has no attribute 'shape'
となるんですが、なんでだろう?
前はこのコードで動いていたように思うのですが・・・
682デフォルトの名無しさん
2020/12/06(日) 18:12:46.84ID:mEKOV6LG >>681
まず1嫁
まず1嫁
683デフォルトの名無しさん
2020/12/06(日) 19:14:40.59ID:SvaTNPrC 画像読み込みに失敗してる
たから、imgCVにNoneが入っている
たから、imgCVにNoneが入っている
684デフォルトの名無しさん
2020/12/06(日) 22:17:30.03ID:cg3234iv python 3.7.9
win10
bs4
requests
データ収集中に発生した問題につきお答えいただければ幸いです
<span class =“calcHEADas1”>40</span>
上のようなspanという要素に囲まれた40というテキストがあります。そして下に書かれたものを実行すると空文字が返ってきてしまいました。確かに40というテキストはあるのになぜ空文字が返ってくるのでしょうか。同じ境遇の方いらっしゃいましたら是非知恵を貸していただきたいです。
s = soup.select_one('span[class="calcHEADas1"]')
print(span.text)
win10
bs4
requests
データ収集中に発生した問題につきお答えいただければ幸いです
<span class =“calcHEADas1”>40</span>
上のようなspanという要素に囲まれた40というテキストがあります。そして下に書かれたものを実行すると空文字が返ってきてしまいました。確かに40というテキストはあるのになぜ空文字が返ってくるのでしょうか。同じ境遇の方いらっしゃいましたら是非知恵を貸していただきたいです。
s = soup.select_one('span[class="calcHEADas1"]')
print(span.text)
685デフォルトの名無しさん
2020/12/06(日) 22:36:23.87ID:mEKOV6LG686デフォルトの名無しさん
2020/12/06(日) 22:44:06.26ID:Ki7zJHSL >>684
spanの後ろにスペース入れて[class=…]としてるから
spanより下位の要素でクラス名が’calcHEADas1’のものを探しにいってる
span要素のクラス名ならスペースを入れちゃだめ
CSSのルール
spanの後ろにスペース入れて[class=…]としてるから
spanより下位の要素でクラス名が’calcHEADas1’のものを探しにいってる
span要素のクラス名ならスペースを入れちゃだめ
CSSのルール
687デフォルトの名無しさん
2020/12/06(日) 22:49:17.73ID:cg3234iv688デフォルトの名無しさん
2020/12/07(月) 07:04:38.96ID:IkSRrVfT 解決報告乙
がんがれー
がんがれー
689デフォルトの名無しさん
2020/12/07(月) 13:08:18.23ID:LDzktyL7 全角文字が混じっているだろ。
半角英数字以外はダメ!
Ruby では、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<span>xyz</span>
<span class="abc">あいう</span>
EOT
elements = doc.css( 'span[class="abc"]' )
puts elements.first.content #=> あいう
半角英数字以外はダメ!
Ruby では、
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<span>xyz</span>
<span class="abc">あいう</span>
EOT
elements = doc.css( 'span[class="abc"]' )
puts elements.first.content #=> あいう
690デフォルトの名無しさん
2020/12/07(月) 16:08:47.46ID:ezb7MAV6 >>689
死ねキチガイ
死ねキチガイ
691デフォルトの名無しさん
2020/12/07(月) 17:17:34.51ID:eJ2ObSAu >>689
ニシキヘビに食われればいいんだ
ニシキヘビに食われればいいんだ
692デフォルトの名無しさん
2020/12/07(月) 19:06:04.12ID:kUJZ7+dL 今loggingとtqdmで表示がぐちゃぐちゃになるから困ってて
調べたらカスタムハンドラー使えって出てきたんだけど
logging.confでcustom handlerを実装する方法ってあるのかな?
https://stackoverflow.com/questions/5346661/
調べたらカスタムハンドラー使えって出てきたんだけど
logging.confでcustom handlerを実装する方法ってあるのかな?
https://stackoverflow.com/questions/5346661/
693デフォルトの名無しさん
2020/12/08(火) 12:58:50.73ID:QO/1LqBg ファイルパスのデータ列のデリミタは何が適切ですか?
カンマはファイル名に入力出来るからダメだし
コロンはドライブ名称にくっついてるからダメだし
ひとまず半角アスタリスクとかクエスチョンマークで妥協してますけどこれでいいんですかね?
パス1*パス2*...*パスn
のような感じです今
カンマはファイル名に入力出来るからダメだし
コロンはドライブ名称にくっついてるからダメだし
ひとまず半角アスタリスクとかクエスチョンマークで妥協してますけどこれでいいんですかね?
パス1*パス2*...*パスn
のような感じです今
694デフォルトの名無しさん
2020/12/08(火) 13:10:57.97ID:qUjj4bQw ワイルドカードと被るやん
セミコロンでよくね?
セミコロンでよくね?
695デフォルトの名無しさん
2020/12/08(火) 14:02:18.54ID:lZ/QPFbs unix系ではほんとの文字がファイル名に使えてしまうし
プラットフォーム依存したくないのなら何らかのエスケープした上で適当なデリミタ使えばいいんじゃね?
プラットフォーム依存したくないのなら何らかのエスケープした上で適当なデリミタ使えばいいんじゃね?
696デフォルトの名無しさん
2020/12/08(火) 14:33:43.81ID:CDSUfSjl697デフォルトの名無しさん
2020/12/08(火) 14:39:55.69ID:Xg+JZs6m 普通に、CSV で、カンマ区切りで良い
要素内に、列区切り文字(カンマ)・行区切り文字(改行)・クォート文字(")があれば、
クォート文字で囲まれるだけ
あ,"a,b"
いう, xy
ファイルに、: ; * などを使うと、バグる。
ハイフン・アンダーバーだけにしておくべき
要素内に、列区切り文字(カンマ)・行区切り文字(改行)・クォート文字(")があれば、
クォート文字で囲まれるだけ
あ,"a,b"
いう, xy
ファイルに、: ; * などを使うと、バグる。
ハイフン・アンダーバーだけにしておくべき
698デフォルトの名無しさん
2020/12/08(火) 14:53:31.44ID:O6ovwbXJ タブ区切りのTSVでいいんじゃないか
そもそも一行に繋げて書く意味あるのか
そしてここは5chなんで正式なデリミタは<>だ
そもそも一行に繋げて書く意味あるのか
そしてここは5chなんで正式なデリミタは<>だ
699デフォルトの名無しさん
2020/12/08(火) 18:55:43.08ID:lpLUbgnY >>693
普通にCSVでカンマかTSV(タブ区切り)でええやろ
別にファイル名にカンマが混じっててもエスケープするなり
むしろアスタリスクとか変なもん混ぜると後でくそっそ面倒だぞ
(アスタリスクなんて正規表現のワイルドカードと被るから、絶対に揉める)
普通にCSVでカンマかTSV(タブ区切り)でええやろ
別にファイル名にカンマが混じっててもエスケープするなり
むしろアスタリスクとか変なもん混ぜると後でくそっそ面倒だぞ
(アスタリスクなんて正規表現のワイルドカードと被るから、絶対に揉める)
700デフォルトの名無しさん
2020/12/09(水) 00:11:56.51ID:f0tiUfmU 質問です
統合開発環境を使うのと、
テキストエディタ+コマンドプロンプトで作業するのとでは
どちらが良いでしょうか?
統合開発環境を使うのと、
テキストエディタ+コマンドプロンプトで作業するのとでは
どちらが良いでしょうか?
701デフォルトの名無しさん
2020/12/09(水) 00:36:04.09ID:XzWvmoKM702デフォルトの名無しさん
2020/12/09(水) 01:10:02.17ID:/cMUVFNS Python入門者ってわけじゃないならPyCharmが開発しやすい
とりあえずやってみたいって感じならAnacondaでJypyterNotebook
VSCodeでやりたいならVSCode
とりあえずやってみたいって感じならAnacondaでJypyterNotebook
VSCodeでやりたいならVSCode
703デフォルトの名無しさん
2020/12/09(水) 01:26:35.17ID:jODQKuwy I Don't Like Notebooks (by Joel Grus)
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/
704デフォルトの名無しさん
2020/12/09(水) 08:10:15.18ID:psoc2su5 プログラミング完全初心者で、初めて学ぶ言語がpythonです。pycharmを使って勉強しています。
指定された任意の時間で動作するプログラム(アラームのようなもの)を作っており、自分のPCでは期待通り動く状態まで持っていくことが出来ました。
これをネット上で公開して不特定多数の人に使ってみてもらいたいと思うのですが、ここから先何を勉強・用意すれば良いのかアドバイス頂けると幸いです。
今一番わからないのは「pythonで書いたプログラムをどうやってweb上で動かすのか」という点です。
その他のポイントとしては
・プロのエンジニアを目指しているわけではないが、ニッチな需要に応える簡素なサービスを作ってみたい
・xserverを使ってwordpressでブログを公開しているが、同じサーバーにこのプログラムを置けるのか?
・FlaskとかDjangoを使うべきなのか
以上、よろしくおねがいします。
指定された任意の時間で動作するプログラム(アラームのようなもの)を作っており、自分のPCでは期待通り動く状態まで持っていくことが出来ました。
これをネット上で公開して不特定多数の人に使ってみてもらいたいと思うのですが、ここから先何を勉強・用意すれば良いのかアドバイス頂けると幸いです。
今一番わからないのは「pythonで書いたプログラムをどうやってweb上で動かすのか」という点です。
その他のポイントとしては
・プロのエンジニアを目指しているわけではないが、ニッチな需要に応える簡素なサービスを作ってみたい
・xserverを使ってwordpressでブログを公開しているが、同じサーバーにこのプログラムを置けるのか?
・FlaskとかDjangoを使うべきなのか
以上、よろしくおねがいします。
705デフォルトの名無しさん
2020/12/09(水) 08:30:00.61ID:aEFgnzx2 693
皆さんありがとう
そっかタブとかもあるのかあ・・
皆さんありがとう
そっかタブとかもあるのかあ・・
706デフォルトの名無しさん
2020/12/09(水) 12:26:26.93ID:7lJYNuqP >>704
ウェブサーバの知識が必要かな
王道なのはapacheかnginxだけど、pythonだけなら
python -m http.server
でウェブサーバになるから、そこに肉付けしていけばいい
ウェブサーバの知識が必要かな
王道なのはapacheかnginxだけど、pythonだけなら
python -m http.server
でウェブサーバになるから、そこに肉付けしていけばいい
707デフォルトの名無しさん
2020/12/09(水) 12:41:15.63ID:rIU0lDlE 中華からの謎の大量アクセスで一撃で落ちるけどな
708デフォルトの名無しさん
2020/12/09(水) 12:51:57.91ID:/MUc+cdS709デフォルトの名無しさん
2020/12/09(水) 15:06:10.60ID:y7KEYUhD ベンチャーでは、AWS, Ruby on Rails が多い
AWS Lambda, Batch などのサーバーレスとか
AWS Lambda, Batch などのサーバーレスとか
710デフォルトの名無しさん
2020/12/09(水) 15:53:48.69ID:psoc2su5 >>706-709
返答ありがとうございます。お教えいただいた点について勉強してみます。
返答ありがとうございます。お教えいただいた点について勉強してみます。
711700
2020/12/09(水) 16:39:45.80ID:f0tiUfmU712デフォルトの名無しさん
2020/12/09(水) 19:43:21.29ID:oTqbLT2F Pythonで競馬予想ソフト作りたいんですがどう勉強していけばいいですかね?
C言語は趣味程度に書いてたのでPythonの基礎的なところはすぐにモノになりそうなんですが
C言語は趣味程度に書いてたのでPythonの基礎的なところはすぐにモノになりそうなんですが
713デフォルトの名無しさん
2020/12/09(水) 19:53:12.28ID:9U2YLq5f714デフォルトの名無しさん
2020/12/09(水) 20:27:08.07ID:oTqbLT2F715デフォルトの名無しさん
2020/12/09(水) 20:28:39.57ID:oTqbLT2F716デフォルトの名無しさん
2020/12/09(水) 20:37:34.05ID:/MUc+cdS チュートリアルとアルゴリズムの違いがわからないってどういうことだ
Cとやらもハローワールドうごきません(^O^) ってかんじなのか
Cとやらもハローワールドうごきません(^O^) ってかんじなのか
717デフォルトの名無しさん
2020/12/09(水) 20:45:18.86ID:/MUc+cdS >>714-715 = >>712
広義のマルチポストするようなクサレ精神をまず矯正しろ
https://mevius.5ch.net/test/read.cgi/tech/1600035173/246
はなしはそれからだな
広義のマルチポストするようなクサレ精神をまず矯正しろ
https://mevius.5ch.net/test/read.cgi/tech/1600035173/246
はなしはそれからだな
718デフォルトの名無しさん
2020/12/09(水) 20:48:09.46ID:fxsKXvPp 最近はなんでも機械学習だよ
過去3年分くらいのデータ集めて学習させるだけで的中率9割くらいなら軽く出るよ
過去3年分くらいのデータ集めて学習させるだけで的中率9割くらいなら軽く出るよ
719デフォルトの名無しさん
2020/12/09(水) 20:59:03.75ID:oTqbLT2F >>717
せやな(笑)
せやな(笑)
720デフォルトの名無しさん
2020/12/09(水) 21:01:36.45ID:/MUc+cdS 716が図星すぎてヌカみそがうけつけないんですねわかります
721デフォルトの名無しさん
2020/12/09(水) 21:05:46.65ID:oTqbLT2F >>720
ありがとうございました!
ありがとうございました!
722デフォルトの名無しさん
2020/12/09(水) 23:43:18.95ID:aOSmD5C7723デフォルトの名無しさん
2020/12/10(木) 05:13:21.20ID:lCcaS4oF # >>643のShell Script版
#!/bin/bash
CLIPB=$(exec xclip -o -selection clipboard)
CHON=''\'''
[ "$#" -ge 1 ] && ERROR="$CHON""$@""$CHON"
[ "$#" -eq 0 ] && ERROR="$CHON""$CLIPB""$CHON"
GOOGLE=$(rev <<< '=q?hcraes/moc.elgoog.www//:sptth')"$ERROR"
QIITA=$(rev <<< '=q?hcraes/moc.atiiq//:sptth')"$ERROR""&sort=like"
TERATAIL=$(rev <<< '=q?hcraes/moc.liataret//:sptth')"$ERROR"
echo 'DuckDuckGo !Bang一覧:'$(rev <<< 'lmth.etil_gnab/moc.ogkcudkcud//:sptth')
SHUFFLE_BANGS=$(shuf -e '!yjr' '!hashtag' '!gnuk' '!yt' '!so' '!ig' '!bili' '!r' '!qiita' -n 1)
SHUFFLE_KEYWORDS="$CHON"$(shuf -e 'python' 'shell script' '日本人' '料理' 'つまった' -n 1)"$CHON"
DUCKDUCKGO_BANG=$(rev <<< '=q?/moc.ogkcudkcud//:sptth')"$SHUFFLE_BANGS"' '"$SHUFFLE_KEYWORDS"
STUDY_KEYWORDS="$CHON"$(shuf -e '# Bash' '# grep' '# shuf' '# ヒアドキュメント' -n 1)"$CHON"
grep -B 2 -A 3 -n "$STUDY_KEYWORDS" "$HOME/Documents/studyRecord.md"
sleep $(shuf -i 5-7 -n 1)'s'
google-chrome "$GOOGLE" "$QIITA" "$TERATAIL" "$DUCKDUCKGO_BANG"
#!/bin/bash
CLIPB=$(exec xclip -o -selection clipboard)
CHON=''\'''
[ "$#" -ge 1 ] && ERROR="$CHON""$@""$CHON"
[ "$#" -eq 0 ] && ERROR="$CHON""$CLIPB""$CHON"
GOOGLE=$(rev <<< '=q?hcraes/moc.elgoog.www//:sptth')"$ERROR"
QIITA=$(rev <<< '=q?hcraes/moc.atiiq//:sptth')"$ERROR""&sort=like"
TERATAIL=$(rev <<< '=q?hcraes/moc.liataret//:sptth')"$ERROR"
echo 'DuckDuckGo !Bang一覧:'$(rev <<< 'lmth.etil_gnab/moc.ogkcudkcud//:sptth')
SHUFFLE_BANGS=$(shuf -e '!yjr' '!hashtag' '!gnuk' '!yt' '!so' '!ig' '!bili' '!r' '!qiita' -n 1)
SHUFFLE_KEYWORDS="$CHON"$(shuf -e 'python' 'shell script' '日本人' '料理' 'つまった' -n 1)"$CHON"
DUCKDUCKGO_BANG=$(rev <<< '=q?/moc.ogkcudkcud//:sptth')"$SHUFFLE_BANGS"' '"$SHUFFLE_KEYWORDS"
STUDY_KEYWORDS="$CHON"$(shuf -e '# Bash' '# grep' '# shuf' '# ヒアドキュメント' -n 1)"$CHON"
grep -B 2 -A 3 -n "$STUDY_KEYWORDS" "$HOME/Documents/studyRecord.md"
sleep $(shuf -i 5-7 -n 1)'s'
google-chrome "$GOOGLE" "$QIITA" "$TERATAIL" "$DUCKDUCKGO_BANG"
724デフォルトの名無しさん
2020/12/10(木) 12:39:28.70ID:OCEZ6BZz 693だけどタブはダメやった。
c:\tempみたいなパスが入ってた時にデリミタ扱いされた・・
*と?はワイルドカードで揉めるみたいだから
半角の<か>で区切ってみる。これならどうだぁ
c:\tempみたいなパスが入ってた時にデリミタ扱いされた・・
*と?はワイルドカードで揉めるみたいだから
半角の<か>で区切ってみる。これならどうだぁ
725デフォルトの名無しさん
2020/12/10(木) 16:12:02.86ID:V5qSWfNd726デフォルトの名無しさん
2020/12/10(木) 16:59:38.88ID:YnqEzhEp ファイルパスのリストをわざわざ連結したい理由が思いつかない
727デフォルトの名無しさん
2020/12/10(木) 17:23:44.75ID:+R9MuRqA てかPythonで使うだけならpickleで十分だろ
csvに書き出すなら改行するのが一番楽だろうに
csvに書き出すなら改行するのが一番楽だろうに
728デフォルトの名無しさん
2020/12/10(木) 17:34:45.19ID:PyjUl2il >>724
\はエスケープするよ普通は
\はエスケープするよ普通は
729デフォルトの名無しさん
2020/12/10(木) 18:51:00.01ID:HstTQkWC ファイルパスの\ を、/ に変換すれば?
Windows でも、/ が使えるでしょ?
Windows でも、/ が使えるでしょ?
730デフォルトの名無しさん
2020/12/10(木) 19:07:01.26ID:Jj6v3tGp >>724
どうしてもCSV使いたくないなら、せめて先人の知恵に倣えよ。
どうしてもCSV使いたくないなら、せめて先人の知恵に倣えよ。
731デフォルトの名無しさん
2020/12/10(木) 20:52:17.08ID:JL8Xc0jO SQLiteの分離レベルってどういうときに使うの。。
入門サイト見てみたけどほとんどどこも使ってないんだけど
入門サイト見てみたけどほとんどどこも使ってないんだけど
732デフォルトの名無しさん
2020/12/10(木) 22:02:25.46ID:8O7UePfH 速度を要求されるシステムとかで使う
733デフォルトの名無しさん
2020/12/10(木) 22:47:51.03ID:7mTcrT9w >>731
pythonのsqlite3モジュールにあるコネクションのisolation_levelは
トランザクションタイプの指定でDBMSの分離レベルとは何の関係もない
Noneを渡せばimplicit transaction
それ以外はexplicit transactionでロックの取り方が変わる
https://docs.python.org/3/library/sqlite3.html#sqlite3-controlling-transactions
https://sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions
pythonのsqlite3モジュールにあるコネクションのisolation_levelは
トランザクションタイプの指定でDBMSの分離レベルとは何の関係もない
Noneを渡せばimplicit transaction
それ以外はexplicit transactionでロックの取り方が変わる
https://docs.python.org/3/library/sqlite3.html#sqlite3-controlling-transactions
https://sqlite.org/lang_transaction.html#deferred_immediate_and_exclusive_transactions
734デフォルトの名無しさん
2020/12/11(金) 00:35:35.74ID:ZvpiNjnc735デフォルトの名無しさん
2020/12/11(金) 01:14:57.41ID:slOz+bz6 質問です
下のコードの9行目は、なぜコメントのような結果(num_list1と同じ内容)
にならないのでしょうか?
https://paiza.io/projects/Qpy8sFx-h5avv5Gl83RZoQ
どなたかよろしくお願いします
下のコードの9行目は、なぜコメントのような結果(num_list1と同じ内容)
にならないのでしょうか?
https://paiza.io/projects/Qpy8sFx-h5avv5Gl83RZoQ
どなたかよろしくお願いします
736デフォルトの名無しさん
2020/12/11(金) 01:30:44.54ID:ahD9n8Mk Python結構人いるんだな
737デフォルトの名無しさん
2020/12/11(金) 04:45:14.45ID:U3Oy8MkO738737
2020/12/11(金) 04:47:46.13ID:U3Oy8MkO739737
2020/12/11(金) 04:52:28.06ID:U3Oy8MkO740デフォルトの名無しさん
2020/12/11(金) 09:18:34.13ID:J0GcYQf+ プルダウンメニューを自動選択→カートに入れるという自動購入の動作をさせたいのですが、セレクトボックスのidがあらかじめわからない場合はこの動作をさせる事は不可能ですか?
販売時間にならないと、購入ページが前もってわからないタイプのものです
販売時間にならないと、購入ページが前もってわからないタイプのものです
741デフォルトの名無しさん
2020/12/11(金) 12:12:30.12ID:s+ujdTab >>735
変数に新しい参照を代入しているのかそれとも参照先の値を変更しているのかの違い
num_list1 = [1, 2, 3]
num_list2 = num_list1
num_list1 = [4, 5, 6]
↑新しい参照を代入している(俗に言う参照の値渡し)
num_list1[0] = 10
↑num_list1が参照している先の値を変更している
変数に新しい参照を代入しているのかそれとも参照先の値を変更しているのかの違い
num_list1 = [1, 2, 3]
num_list2 = num_list1
num_list1 = [4, 5, 6]
↑新しい参照を代入している(俗に言う参照の値渡し)
num_list1[0] = 10
↑num_list1が参照している先の値を変更している
742デフォルトの名無しさん
2020/12/11(金) 13:03:04.49ID:/AL4j9WO743デフォルトの名無しさん
2020/12/11(金) 17:46:58.96ID:QKh+o6Fo cssセレクタでselectを指定すれば要素特定出来るだろ。どうせセレクトボックスなんてページにそれ一つしかないんだろ。
745デフォルトの名無しさん
2020/12/11(金) 20:48:28.78ID:OnRhFRT3 > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
746デフォルトの名無しさん
2020/12/12(土) 07:26:05.11ID:ch7aCOL8 numpyでnumpy.ndarray.appendしても、ビューが生成されるだけです。
元のndarrayに追加するような方法はありますか?
元のndarrayに追加するような方法はありますか?
748デフォルトの名無しさん
2020/12/12(土) 13:37:27.43ID:cOibJfw/ 以下のコードで
https://pypi.org/project/python-osc/
以下のような箇所がありますが、これはどのような処理ですか?
{0}の部分に、args[0]の値を埋め込んでprintするような処理に見えますが~{1}の部分は何のために書かれているのかよく分かりません。
特に意味はないんでしょうか?
def print_volume_handler(unused_addr, args, volume):
print("[{0}] ~ {1}".format(args[0], volume))
https://pypi.org/project/python-osc/
以下のような箇所がありますが、これはどのような処理ですか?
{0}の部分に、args[0]の値を埋め込んでprintするような処理に見えますが~{1}の部分は何のために書かれているのかよく分かりません。
特に意味はないんでしょうか?
def print_volume_handler(unused_addr, args, volume):
print("[{0}] ~ {1}".format(args[0], volume))
749デフォルトの名無しさん
2020/12/12(土) 13:51:37.21ID:G9l4ULGH volumeも書き出してる
750デフォルトの名無しさん
2020/12/12(土) 13:58:17.22ID:cOibJfw/ >>749
なるほど、ありがとうございます。
なるほど、ありがとうございます。
751デフォルトの名無しさん
2020/12/12(土) 14:04:22.44ID:o4Bj7yJm f文字使った方がわかりやすいよね
752デフォルトの名無しさん
2020/12/12(土) 15:00:38.21ID:efKG+ZBS f文字使うと古いPythonで動かないコードを世に放つことになるからなあ
少なくとも3系のPythonで動くように書かないと世のためにならない
少なくとも3系のPythonで動くように書かないと世のためにならない
753デフォルトの名無しさん
2020/12/12(土) 19:23:58.03ID:04B3jJ4R そんなんfに限らないだろ
754デフォルトの名無しさん
2020/12/12(土) 19:50:36.86ID:EiovETKX 俺が総理大臣に就任した暁には、全てのpythonライブラリにはtype hintの使用を義務づける
そして引数のファイルパスの型にstrしか受け付けないライブラリには罰則を与える
そして引数のファイルパスの型にstrしか受け付けないライブラリには罰則を与える
755デフォルトの名無しさん
2020/12/12(土) 20:28:20.19ID:RWVkhqgv じゃあAny型で
756デフォルトの名無しさん
2020/12/12(土) 20:49:24.20ID:K2sR/21p 型ヒントはさらにまずいね
f文字はなんならformat版に機械的に変換できそうだけど
型ヒントの付いてるコードからヒントを取り除くのは骨が折れそうだ
f文字はなんならformat版に機械的に変換できそうだけど
型ヒントの付いてるコードからヒントを取り除くのは骨が折れそうだ
757デフォルトの名無しさん
2020/12/12(土) 22:39:53.01ID:nX9tiJMr 最近はどんどん古いバージョン切って捨てるのがトレンドやろ
誰がこんな世の中にしたんやろなあ
大迷惑
誰がこんな世の中にしたんやろなあ
大迷惑
758デフォルトの名無しさん
2020/12/12(土) 22:55:43.15ID:lNVasAwT 新しいほうがいいじゃん?
どうせPythonなんて作っては捨て、
作っては捨ての繰り返しだから。
その場でちょっとしたもの
作るときに使う言語だから。
Pythonなんてバカでもチョンでも
使えんだからさ
どうせPythonなんて作っては捨て、
作っては捨ての繰り返しだから。
その場でちょっとしたもの
作るときに使う言語だから。
Pythonなんてバカでもチョンでも
使えんだからさ
759デフォルトの名無しさん
2020/12/12(土) 23:11:17.51ID:IXV68dFS 正直保守が必要な物をPythonで開発するのは馬鹿だろ
760デフォルトの名無しさん
2020/12/12(土) 23:14:04.79ID:aMZWlLv7 でも3.6が良い
761デフォルトの名無しさん
2020/12/13(日) 00:08:48.22ID:4S8DBomt flaskってどうよ
762デフォルトの名無しさん
2020/12/13(日) 00:12:29.23ID:17gHgA0W fastapiのほうがいい
763デフォルトの名無しさん
2020/12/13(日) 00:23:18.51ID:5jMUJn8y >>759
枯れていて商用に耐えうるメジャーな現役言語ってCかCOBOLしかなくて
しかもこれらの言語はひどく生産性が悪いというソフトウェア界の闇
Pythonはこの辺で仕様凍結宣言をして、COBOLの代替を目指すべき時期に来ている
枯れていて商用に耐えうるメジャーな現役言語ってCかCOBOLしかなくて
しかもこれらの言語はひどく生産性が悪いというソフトウェア界の闇
Pythonはこの辺で仕様凍結宣言をして、COBOLの代替を目指すべき時期に来ている
764デフォルトの名無しさん
2020/12/13(日) 00:44:13.02ID:wYkyDrTo fはintでもそのまま放り込んでエラー出ないから楽
765デフォルトの名無しさん
2020/12/13(日) 02:24:10.75ID:1g8P/X2h pythonでRSSリーダー作れましゅか?
766デフォルトの名無しさん
2020/12/13(日) 08:33:14.93ID:5x8B+jfI >>765
むしろどうしてむりだとおもったんでちゅっかー
むしろどうしてむりだとおもったんでちゅっかー
767デフォルトの名無しさん
2020/12/13(日) 11:11:56.15ID:EpHdNzxH Web 系でごにょごにょするなら TypeScript おすすめしましゅ!
768デフォルトの名無しさん
2020/12/13(日) 11:26:07.69ID:5jMUJn8y 済まないがブロックにカッコを使う言語はノーサンキュー
769デフォルトの名無しさん
2020/12/13(日) 12:45:14.88ID:17gHgA0W えーカッコいいじゃん
カッコだけに
カッコだけに
カッコだけに
カッコだけに
770デフォルトの名無しさん
2020/12/13(日) 16:53:54.07ID:LGBnBUYf a.jp/1.jpgからa.jp/500.jpgまでの画像をダウンロードするにはどんなふうに書けばいいの
771蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 17:08:01.88ID:zFOj0dh9 for i in range(1, 501):
s = "a.jp/" + i + ".jpg"
...
s = "a.jp/" + i + ".jpg"
...
772デフォルトの名無しさん
2020/12/13(日) 17:38:40.19ID:LGBnBUYf >>771
こう?
import requests
for i in range(1, 501):
url = ""https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/" + i + ".jpg""
file_name = " i + ".jpg""
response = requests.get(url)
image = response.content
with open(file_name, "wb") as aaa:
aaa.write(image)
こう?
import requests
for i in range(1, 501):
url = ""https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/" + i + ".jpg""
file_name = " i + ".jpg""
response = requests.get(url)
image = response.content
with open(file_name, "wb") as aaa:
aaa.write(image)
774デフォルトの名無しさん
2020/12/13(日) 17:55:43.28ID:25RZkjwi これ、ちょっと間違えると攻撃に間違われるから気を付けてね
775デフォルトの名無しさん
2020/12/13(日) 18:10:55.43ID:LGBnBUYf >>773
見直してもわからないので教えてください
見直してもわからないので教えてください
776デフォルトの名無しさん
2020/12/13(日) 18:14:05.73ID:m4Wl6k1W ggrks
777蟻人間 ◆T6xkBnTXz7B0
2020/12/13(日) 18:17:26.94ID:zFOj0dh9 「連番 ダウンロード Python」
778デフォルトの名無しさん
2020/12/13(日) 18:23:08.09ID:LGBnBUYf python 複数画像ダウンロード
とかでググってたわ
thx
とかでググってたわ
thx
779デフォルトの名無しさん
2020/12/13(日) 20:55:03.28ID:4MwCzqHm 世の中みんなhomebrew使ってパッケージ管理してるみたいですが、pip3だけでなんとかなりますかね
当方homebrewがインストールできない環境です。
当方homebrewがインストールできない環境です。
780デフォルトの名無しさん
2020/12/13(日) 21:00:09.98ID:w38sGQBv >>771
TypeError: can only concatenate str (not "int") to str
このぐらいは実行しなくてもTypeErrorになるのがわかんなきゃ初心者から脱却できてないぞ
TypeError: can only concatenate str (not "int") to str
このぐらいは実行しなくてもTypeErrorになるのがわかんなきゃ初心者から脱却できてないぞ
781デフォルトの名無しさん
2020/12/13(日) 22:02:44.00ID:aUJFbM7m >>770
単に連番の画像ダウンロードするだけならcURL使うといいぞ
$ curl -O https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/[1-500].jpg
リトライも帯域制御も並列化も簡単にできる
後処理でpython使いたいとしてもたいていのユースケースはファイル連携で十分
単に連番の画像ダウンロードするだけならcURL使うといいぞ
$ curl -O https://cz-cdn.shoeisha.jp/static/actibook/9784798155302/books/images/2/[1-500].jpg
リトライも帯域制御も並列化も簡単にできる
後処理でpython使いたいとしてもたいていのユースケースはファイル連携で十分
782デフォルトの名無しさん
2020/12/13(日) 22:47:51.42ID:QWR2aP5/783デフォルトの名無しさん
2020/12/13(日) 22:58:51.46ID:bSx7ciZe784デフォルトの名無しさん
2020/12/13(日) 23:42:26.71ID:aUJFbM7m785デフォルトの名無しさん
2020/12/14(月) 00:13:16.38ID:H9Yj00dL # >>643のpyperclipを使って
# Python Documetationで学んだことをメモ用ファイルにコピペ
import pyperclip
clipb = pyperclip.paste() + '\n' # クリップボードの中身を取得
print('コレをコピペ -> ' + clipb)
open('memo_pythonDoc.txt','a').write(clipb) # 追記モード('a')でopenして変数clipbの中身をwrite
# Python Documetationで学んだことをメモ用ファイルにコピペ
import pyperclip
clipb = pyperclip.paste() + '\n' # クリップボードの中身を取得
print('コレをコピペ -> ' + clipb)
open('memo_pythonDoc.txt','a').write(clipb) # 追記モード('a')でopenして変数clipbの中身をwrite
786デフォルトの名無しさん
2020/12/14(月) 12:34:28.18ID:IWkHCo3l787デフォルトの名無しさん
2020/12/14(月) 12:52:19.29ID:KsIuaWid やっぱf文字は強制にした方が新規には分かりやすそう
Python3.10からはデフォルトにしよう
それかPython4
Python3.10からはデフォルトにしよう
それかPython4
788デフォルトの名無しさん
2020/12/14(月) 13:15:39.31ID:r/dWM1IA PEP582採用して仮想環境を抹殺
型ヒント強制
fstring強制
頼んだぞ、Python Foundation
型ヒント強制
fstring強制
頼んだぞ、Python Foundation
789デフォルトの名無しさん
2020/12/14(月) 14:16:48.83ID:v8t5CwIX >>787
その前にf-stringをf文字列と訳すよう矯正する必要ありそう
その前にf-stringをf文字列と訳すよう矯正する必要ありそう
790デフォルトの名無しさん
2020/12/14(月) 19:04:53.73ID:hG9yFSan fを付けない通教の文字列を標準でf-stringにする向きもあるらしいな
791デフォルトの名無しさん
2020/12/14(月) 21:40:54.17ID:ycPwgo2u %s %d %fの挿入絶滅した?
792デフォルトの名無しさん
2020/12/14(月) 23:29:40.38ID:30kSf89N コンパイル可能にする動きはないの?
配布が面倒すぎて困る
配布が面倒すぎて困る
793デフォルトの名無しさん
2020/12/15(火) 00:51:27.65ID:+RD1gPFt exeで配布しようとするからでしょ
パッケージ配布なら何も面倒なことはない
パッケージ配布なら何も面倒なことはない
794デフォルトの名無しさん
2020/12/15(火) 11:21:51.02ID:GRKD/Ma/ shift-jisのサイトのソースコードを取得し文字コードをutf8に変換する方法を教えてください
import nkf
import requests
url = "https://kakaku.com"
body = requests.get(url).text.encode('UTF-8')
body = nkf.nkf("-w", body)
print(body)
こんな感じでやったのですが文字化けしてしまいます
BeautifulSoupは使えません
import nkf
import requests
url = "https://kakaku.com"
body = requests.get(url).text.encode('UTF-8')
body = nkf.nkf("-w", body)
print(body)
こんな感じでやったのですが文字化けしてしまいます
BeautifulSoupは使えません
795デフォルトの名無しさん
2020/12/15(火) 11:55:29.71ID:XKndzQaP response = requests.get(url)
response.encoding = response.apparent_encoding
body = response.text
response.encoding = response.apparent_encoding
body = response.text
796デフォルトの名無しさん
2020/12/15(火) 12:18:50.95ID:sett0sNL Pythonで〇〇できますかって質問ここでしていいですか?
797デフォルトの名無しさん
2020/12/15(火) 12:22:33.10ID:GRKD/Ma/ >>795
できましたありがとうございます!!
できましたありがとうございます!!
798デフォルトの名無しさん
2020/12/15(火) 15:52:44.91ID:hTSxdvaB799デフォルトの名無しさん
2020/12/15(火) 22:17:03.19ID:fn0JFbgC 他の言語ちょっとやったことあるってレベルならどの参考書買えばいいんだろうか。チュートリアルはちょっと読みにくい
800デフォルトの名無しさん
2020/12/15(火) 23:14:40.71ID:vYGb7HVK プロ向きなら、パーフェクトシリーズだけど、
猿向きなら、スッキリシリーズかな?
パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
猿向きなら、スッキリシリーズかな?
パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020/6
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/7
801デフォルトの名無しさん
2020/12/16(水) 00:03:04.29ID:LU6zCuge802デフォルトの名無しさん
2020/12/16(水) 00:57:01.88ID:J2/86fXM オライリーのはじめてのpython
803デフォルトの名無しさん
2020/12/16(水) 07:31:45.32ID:VaidjUHq スッキリシリーズは流石にダメでしょ
804デフォルトの名無しさん
2020/12/16(水) 11:49:30.65ID:E5QK4Bac SBクリエイティブのpython超入門しか買ってないけど理解できた
805デフォルトの名無しさん
2020/12/16(水) 18:00:40.16ID:LU6zCuge806デフォルトの名無しさん
2020/12/17(木) 20:17:02.64ID:me3npDEa pyautoguiで特定アプリ内の画像認識をしようとしているのですが、
ウィンドウの指定をして、
そのウィンドウが見えていない、バックグラウンドでも認識させる方法はありますでしょうか
RPAを作ってみたのですが、そのRPAを動かしている間、パソコンに触れなくなるため
バックグラウンドでの動作にしたいです。
pyautogui.locateOnScreen →アクティブウィンドウしかだめ
ウィンドウの指定をして、
そのウィンドウが見えていない、バックグラウンドでも認識させる方法はありますでしょうか
RPAを作ってみたのですが、そのRPAを動かしている間、パソコンに触れなくなるため
バックグラウンドでの動作にしたいです。
pyautogui.locateOnScreen →アクティブウィンドウしかだめ
807デフォルトの名無しさん
2020/12/17(木) 20:21:07.32ID:nC3KtugT 複数のデスクトップを変える、仮想デスクトップでも、ダメなのか?
808デフォルトの名無しさん
2020/12/17(木) 21:18:19.91ID:HOK8mWEY 給与計算のチェックとかpythonでできますか?
エクセルvbaより楽にできますか!?
エクセルvbaより楽にできますか!?
809デフォルトの名無しさん
2020/12/17(木) 21:54:36.97ID:FF9ZK33o810デフォルトの名無しさん
2020/12/17(木) 22:09:02.55ID:E6QqmaoP エクセルvbaのように書式を保って処理できないんですね!
残念です!
残念です!
811デフォルトの名無しさん
2020/12/17(木) 22:50:55.00ID:5gjmPPN4 できるよ。わざわざpandas使うのは809の趣味
812デフォルトの名無しさん
2020/12/18(金) 00:16:31.15ID:9JHdyeAr 何をもってできないと思ったのか逆に気になるな
813デフォルトの名無しさん
2020/12/18(金) 09:15:36.09ID:hahJhxSX 言ってもない処理を809がわざわざ書いたから
それしかできないのはしょうがないんだろうと思ったんどろう
それしかできないのはしょうがないんだろうと思ったんどろう
814デフォルトの名無しさん
2020/12/18(金) 09:24:12.07ID:ZgbltKIK どろう
815デフォルトの名無しさん
2020/12/18(金) 09:26:26.05ID:6XgFq4AT 給与計算で書式を保ちたいと要求していないし「一番いい」と言ってることから他にやり方があることが示されているし809のやり方が特別悪いとも思わんな
816デフォルトの名無しさん
2020/12/18(金) 10:10:14.37ID:tG03PZfz そんなにムキにならなくてもw
何でもかんでもpythonでやれば楽になるわけじゃないんだから
何でもかんでもpythonでやれば楽になるわけじゃないんだから
817デフォルトの名無しさん
2020/12/18(金) 14:20:04.01ID:8Pq4G6/a Excelに限らずGUI周りの処理はPython避けたほうが賢明
818sage
2020/12/18(金) 21:18:36.14ID:a9/WYqr/ 808です。
手当の変更のインプットやアップロードはがんばっていれて
チェックは一瞬で楽にできればと思いました。パイソン勉強いたします。
パソコン教室にいきます。
ちなみに810はほかの人です。
手当の変更のインプットやアップロードはがんばっていれて
チェックは一瞬で楽にできればと思いました。パイソン勉強いたします。
パソコン教室にいきます。
ちなみに810はほかの人です。
819デフォルトの名無しさん
2020/12/18(金) 22:00:33.26ID:9JHdyeAr excel操作とGUIは関係なくないか?
ファイル名指定してCUIでいじるんだし。
ファイル名指定してCUIでいじるんだし。
820デフォルトの名無しさん
2020/12/19(土) 09:30:15.24ID:zKdXY8Ql python 3.7.9でimport win32com.clientを使おうとしとるんやが
importエラーで先に進めない
pip install pywin32 :インストールできたがimportエラー
githubからexe落としてきてインストール :やっぱり動かない
importで詰まったの初めてなんだが
win32comどうやったら使えるん
importエラーで先に進めない
pip install pywin32 :インストールできたがimportエラー
githubからexe落としてきてインストール :やっぱり動かない
importで詰まったの初めてなんだが
win32comどうやったら使えるん
821デフォルトの名無しさん
2020/12/19(土) 11:16:43.59ID:zKdXY8Ql 820だが自己解決できたわ
ここからや
ここからや
822デフォルトの名無しさん
2020/12/19(土) 19:52:27.72ID:5S97jaCy >>821
解決方法も書いてね
解決方法も書いてね
823デフォルトの名無しさん
2020/12/19(土) 23:27:44.16ID:KNibJcyt これからpython始めたいのですがOSはmacの方が良いんでしょうか
windowsしか使った事が無いけどググると環境構築や情報量はmacが優位との事で迷ってます
目的としてはexcelメールの自動化やwebスクレイピングを業務の中で出来るようになればと考えており、結局windowsで動かす事になりそうなのですがmac↔windowsで環境を跨ぐと支障は出るものでしょうか
windowsしか使った事が無いけどググると環境構築や情報量はmacが優位との事で迷ってます
目的としてはexcelメールの自動化やwebスクレイピングを業務の中で出来るようになればと考えており、結局windowsで動かす事になりそうなのですがmac↔windowsで環境を跨ぐと支障は出るものでしょうか
824デフォルトの名無しさん
2020/12/19(土) 23:34:28.88ID:Uc1plkB7 その程度の用途でmacにする意味はまったくない
825デフォルトの名無しさん
2020/12/19(土) 23:43:59.81ID:OsP/HwCY >>823
AnacondaかWSLでPython使えば大丈夫だと思う
AnacondaかWSLでPython使えば大丈夫だと思う
826デフォルトの名無しさん
2020/12/20(日) 00:02:14.02ID:dQ4w2OO8 情報ならubuntuの方が多そう
827デフォルトの名無しさん
2020/12/20(日) 00:45:13.65ID:BAtdGKu+ >>823
windowsでもインストーラー落として実行するだけ
windowsでもインストーラー落として実行するだけ
828デフォルトの名無しさん
2020/12/20(日) 07:14:52.70ID:zJwsC3QS 普段使いしてるWindowsに入れればいいよ
セットアップの項目でpythonを環境変数に追加すれば使いやすさは変わらん
セットアップの項目でpythonを環境変数に追加すれば使いやすさは変わらん
829デフォルトの名無しさん
2020/12/20(日) 12:08:39.60ID:llRQx8oF830デフォルトの名無しさん
2020/12/20(日) 14:17:31.37ID:vakUvLku WindowsとMacではターミナルの使いやすさが違う
Windows Terminalでかなり改善されてるけどね
Windows Terminalでかなり改善されてるけどね
831デフォルトの名無しさん
2020/12/20(日) 16:43:50.35ID:8E3b/swc プログラム初心者にWSLを薦めるのは鬼だな
832デフォルトの名無しさん
2020/12/20(日) 16:50:04.61ID:CqW8rd2f WinならNative Pythonにpipenv入れるのが一番良くないか?
Anacondaは個人のライブラリとか入れていくと環境グチャグチャになるから面倒くさいわ
Anacondaは個人のライブラリとか入れていくと環境グチャグチャになるから面倒くさいわ
833デフォルトの名無しさん
2020/12/20(日) 21:48:57.73ID:VdeMiIWR >>832
anacondaにpipenvみたいな機能あるけど使ってないの?
anacondaにpipenvみたいな機能あるけど使ってないの?
834デフォルトの名無しさん
2020/12/20(日) 22:54:35.97ID:8E3b/swc anacondaのがバグったとき捨てて一から作り直ししやすいってのはある。
835デフォルトの名無しさん
2020/12/20(日) 23:26:08.37ID:fYZvWS3R 自分の書いたプログラムを周りの人間と共有する必要があって
その周りの大半がanaconda使ってる状況以外でconda系から始めるのはやめとけ
anacondaとtkinterは初心者をつまづかせる2大無用の長物
最初は直接python入れときゃいい
その周りの大半がanaconda使ってる状況以外でconda系から始めるのはやめとけ
anacondaとtkinterは初心者をつまづかせる2大無用の長物
最初は直接python入れときゃいい
836デフォルトの名無しさん
2020/12/20(日) 23:53:36.33ID:tNXdbpIs 今更、anaconda勧めてくるのは無視していいと思う
837デフォルトの名無しさん
2020/12/20(日) 23:55:27.38ID:VdeMiIWR >>835
まあそうかも。
ある程度他のビルドが通りやすい他のOSでPython使ってからだと、 Pure Pythonじゃない部分も面倒見てくれるAnacondaはいいんだけど、
ほんとの初心者でpipで入らないモジュールに困るまではいらないかもね。
Anacondaの癖なのかそうでないか見定められるまではAnaconda使わない方がいいかもね。
まあそうかも。
ある程度他のビルドが通りやすい他のOSでPython使ってからだと、 Pure Pythonじゃない部分も面倒見てくれるAnacondaはいいんだけど、
ほんとの初心者でpipで入らないモジュールに困るまではいらないかもね。
Anacondaの癖なのかそうでないか見定められるまではAnaconda使わない方がいいかもね。
838デフォルトの名無しさん
2020/12/21(月) 09:40:55.51ID:bAOWuplU 科学計算、データサイエンスの環境を手っ取り早く作りたいというわけでなければ、anacondaはすすめないかな。
839デフォルトの名無しさん
2020/12/21(月) 09:44:51.81ID:bAOWuplU ここ一年ぐらいに出版された入門書って環境構築どう解説してるんだろう
840デフォルトの名無しさん
2020/12/21(月) 10:01:11.52ID:M/flfVv0 >>833
conda cloudにないけどpypiにだけはあるみたいなライブラリをpip経由で入れると依存関係壊れるのが嫌
逆は基本ないからpip使うのが結局総合的には楽でいいと思う
あとOpenCVみたいなのは自分でビルドしちゃうのが使えない機能があったりしなくて楽
conda cloudにないけどpypiにだけはあるみたいなライブラリをpip経由で入れると依存関係壊れるのが嫌
逆は基本ないからpip使うのが結局総合的には楽でいいと思う
あとOpenCVみたいなのは自分でビルドしちゃうのが使えない機能があったりしなくて楽
841デフォルトの名無しさん
2020/12/21(月) 13:22:58.36ID:G5T16kgS >>839
WSLにDocker 、構築済みコンテナマウント、ローカルにVC-CODE、
WSLにDocker 、構築済みコンテナマウント、ローカルにVC-CODE、
842デフォルトの名無しさん
2020/12/21(月) 15:21:20.98ID:XP0/uvDJ Windows 10 Home 版に、WSL2, Docker を入れた
OS の連続アップデートに、3時間掛かった。
CPU-i3, 8GB メモリを、CPU・電力エコモードで使っているから、コンパイルが遅いのかも
その後、WSL1 から、WSL2への変更。
Dockerのインストール自体は簡単だった
これで、Windows10 プロ版じゃなくても、Dockerを使える。
Kubernetes も入っていた
君らには、CPU-i7, 16GBメモリ、SSD-256GB以上を勧める
念のために、Windows 10 プロ版もプリインストールしておけ。
プリインストールなら、5千円と安いから
16GBメモリあれば、WSL2の互換性が悪い場合に、
Virtual Box で直接、Linuxも使える
OS の連続アップデートに、3時間掛かった。
CPU-i3, 8GB メモリを、CPU・電力エコモードで使っているから、コンパイルが遅いのかも
その後、WSL1 から、WSL2への変更。
Dockerのインストール自体は簡単だった
これで、Windows10 プロ版じゃなくても、Dockerを使える。
Kubernetes も入っていた
君らには、CPU-i7, 16GBメモリ、SSD-256GB以上を勧める
念のために、Windows 10 プロ版もプリインストールしておけ。
プリインストールなら、5千円と安いから
16GBメモリあれば、WSL2の互換性が悪い場合に、
Virtual Box で直接、Linuxも使える
843デフォルトの名無しさん
2020/12/21(月) 18:09:40.54ID:YgDTrDhJ >>832
おそらくその目的ならanacondaでも全く問題ない
おそらくその目的ならanacondaでも全く問題ない
844デフォルトの名無しさん
2020/12/21(月) 18:18:57.29ID:YgDTrDhJ >>835,836
たまにはanacondaを触ってみるといいよ
昔の問題だらけの時代とは全然違うから
今はpyenv+pipenvを教えるよりもminicondaだな
tkinterだけは特定のmacOSでトラブルになるから公式のがいいかな
たまにはanacondaを触ってみるといいよ
昔の問題だらけの時代とは全然違うから
今はpyenv+pipenvを教えるよりもminicondaだな
tkinterだけは特定のmacOSでトラブルになるから公式のがいいかな
845デフォルトの名無しさん
2020/12/21(月) 18:22:34.07ID:X2UxBsP1 PythonでもSmoozみたいなアプリ作れますか?閲覧してる情報まるごとぶっこ抜くってなかなかにシビれます。
846デフォルトの名無しさん
2020/12/21(月) 18:30:40.24ID:YgDTrDhJ >>845
kivyを使えば作れないことはないがネイティブアプリ開発にpythonを使うのは大変だと思う
kivyを使えば作れないことはないがネイティブアプリ開発にpythonを使うのは大変だと思う
847デフォルトの名無しさん
2020/12/21(月) 18:52:08.50ID:ym6gHmkT numpyやscikit-learnなんかはanacondaがデフォルトでintel-mkl使うバージョンが入ってて速いそうだが
それらを使うならanacondaの方がいいかもな
Vanillaでmkl使う方をインストール出来るならそれでいいんだろうけど
それらを使うならanacondaの方がいいかもな
Vanillaでmkl使う方をインストール出来るならそれでいいんだろうけど
848デフォルトの名無しさん
2020/12/21(月) 20:03:41.57ID:+4hTUwSB 弘法筆を選ばず
弘法環境を選ばず
厨房環境を論ずるのみ
弘法環境を選ばず
厨房環境を論ずるのみ
849デフォルトの名無しさん
2020/12/21(月) 22:28:54.80ID:UbzYfHI9 WSL, virtualbox, 直python勧めるくらいなら明らかにanacondaのがマシだわ。
こいつら勧めるとかまともにプログラムやってないとしか思えんわ。
こいつら勧めるとかまともにプログラムやってないとしか思えんわ。
850デフォルトの名無しさん
2020/12/21(月) 22:36:10.92ID:RFvP+jrS851デフォルトの名無しさん
2020/12/21(月) 22:40:16.48ID:+4hTUwSB >>850
上手くない人があーでもないこーでもない言ってる
上手くない人があーでもないこーでもない言ってる
852デフォルトの名無しさん
2020/12/21(月) 22:41:07.37ID:+4hTUwSB プログラムは
センス9割
環境1割
センス9割
環境1割
853デフォルトの名無しさん
2020/12/21(月) 22:45:52.65ID:+4hTUwSB かつて「プログラムは環境で決まる」という宣伝があったそうな
「決まる」というのは、最後の詰めのことを言っているのだろう
良い環境を使うか駄目な環境を使うかによって90点のプログラムになるか、95点のプログラムになるかは重大であろうから
環境を選ばなくてはいけないのだろう
しかし50点のプログラムを書いてる者が環境で5点プラスして何になるのだね
anacondaよりpipenvの方が環境が良いとしても
その環境の差が重要になるほどのプログラムを書いているのかね?
環境、構築、と主張するのはその環境構築が必要になるほどのプログラムを書いている者だけでいい
「決まる」というのは、最後の詰めのことを言っているのだろう
良い環境を使うか駄目な環境を使うかによって90点のプログラムになるか、95点のプログラムになるかは重大であろうから
環境を選ばなくてはいけないのだろう
しかし50点のプログラムを書いてる者が環境で5点プラスして何になるのだね
anacondaよりpipenvの方が環境が良いとしても
その環境の差が重要になるほどのプログラムを書いているのかね?
環境、構築、と主張するのはその環境構築が必要になるほどのプログラムを書いている者だけでいい
854デフォルトの名無しさん
2020/12/21(月) 22:51:42.32ID:+4hTUwSB 釣り、ゴルフ、ゲーム、書道、絵画、カメラ、ドライビング、SEX
855デフォルトの名無しさん
2020/12/21(月) 22:58:48.82ID:JGiC8qIT 要約:俺は苦労して覚えた。おまえらも苦労しろ
そう言ってるようにしか聞こえない
そう言ってるようにしか聞こえない
856デフォルトの名無しさん
2020/12/21(月) 23:00:06.72ID:JTbvcCyB 人に勧める時はちゃんと環境選んでやれよ
857デフォルトの名無しさん
2020/12/21(月) 23:21:37.69ID:U66hSQRf858デフォルトの名無しさん
2020/12/21(月) 23:44:56.81ID:+4hTUwSB 50点乙
859デフォルトの名無しさん
2020/12/21(月) 23:45:31.80ID:+4hTUwSB >>857だと
90 < 55だってさ
90 < 55だってさ
860デフォルトの名無しさん
2020/12/21(月) 23:47:49.32ID:56qSn/9L 環境周りは基本的なことが理解できてからでいいんだって
このスレでもanacondaでつまづいてるやつ腐るほど見てきただろ?
プロジェクト単位の依存性管理や
Pythonのバージョン管理をどうするのがいいの?
って段階になってから考えればいいよ
これからpython始めたいんですがってやつに即anaconda入れろはホント頭おかしいよ
余計なレイヤーを学ぶ必要がない方法があるならそれに越したこと無い
このスレでもanacondaでつまづいてるやつ腐るほど見てきただろ?
プロジェクト単位の依存性管理や
Pythonのバージョン管理をどうするのがいいの?
って段階になってから考えればいいよ
これからpython始めたいんですがってやつに即anaconda入れろはホント頭おかしいよ
余計なレイヤーを学ぶ必要がない方法があるならそれに越したこと無い
861デフォルトの名無しさん
2020/12/22(火) 00:13:37.49ID:Fh2P5wuU862デフォルトの名無しさん
2020/12/22(火) 00:21:37.04ID:PFh/rGOz863デフォルトの名無しさん
2020/12/22(火) 00:25:13.93ID:PFh/rGOz >>861
大概Python始めたいんですけどどうしたらいいですか?なんて聞く奴はPATH?何それ??状態だから
大概Python始めたいんですけどどうしたらいいですか?なんて聞く奴はPATH?何それ??状態だから
864デフォルトの名無しさん
2020/12/22(火) 00:37:55.16ID:T7BUya2f ひたすら書くだけのコード屋が偉そうに
865デフォルトの名無しさん
2020/12/22(火) 00:55:31.77ID:AKmT4Cni >>863
そのレベルだとpipenvも全く同じでは?
そのレベルだとpipenvも全く同じでは?
866デフォルトの名無しさん
2020/12/22(火) 01:04:27.16ID:CkUf338T かつて環境アセスメントという
地球環境から職場環境までいっしょくたに扱うわけのわからん国の通知があって
なんじゃこりゃっておもった
環境って開発環境のことか?
地球環境から職場環境までいっしょくたに扱うわけのわからん国の通知があって
なんじゃこりゃっておもった
環境って開発環境のことか?
867デフォルトの名無しさん
2020/12/22(火) 03:20:24.57ID:HVt96BYo これでいいだろ
【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう! - YouTube
https://www.youtube.com/watch?v=kb6op3-E_lg
【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう! - YouTube
https://www.youtube.com/watch?v=kb6op3-E_lg
868デフォルトの名無しさん
2020/12/22(火) 08:13:39.37ID:/GVtgweb MACでコードを書いて、WINDOWSでそれを使うってことできるのでしょうか?
869デフォルトの名無しさん
2020/12/22(火) 09:25:53.47ID:jdNtdfk4 >>868
普通に出来るぞ
普通に出来るぞ
870デフォルトの名無しさん
2020/12/22(火) 16:47:04.00ID:GKhnHiXj プログラマーとして自分は無理だと判断すりゃ次の人生を考え少しでも若いうちに早めに転職した方が良い
老婆心ながら忠告しておく
老婆心ながら忠告しておく
871デフォルトの名無しさん
2020/12/22(火) 16:49:45.44ID:ZGF4ip3s >>843
Anacondaってpipとconda混ぜて使っても依存関係解決してくれるようになったの?
Anacondaってpipとconda混ぜて使っても依存関係解決してくれるようになったの?
872デフォルトの名無しさん
2020/12/22(火) 17:06:55.26ID:uVrRPi3R 思いたったら
何歳からでも始めれば良いさ
何歳からでも始めれば良いさ
873デフォルトの名無しさん
2020/12/22(火) 17:29:06.72ID:uzy9az6A >>871
pipを使う場合は、環境構築だけconda createで作成して、あとは全部pipでインストール
condaで後からインストールしても良いけど、依存関係を解消しようとした頑張った挙句、どうしても解決できないものはコンフリクトして失敗する
pipを使う場合は、環境構築だけconda createで作成して、あとは全部pipでインストール
condaで後からインストールしても良いけど、依存関係を解消しようとした頑張った挙句、どうしても解決できないものはコンフリクトして失敗する
874デフォルトの名無しさん
2020/12/22(火) 17:39:49.72ID:FC/vybFL すまん、パッケージマネージャはもうpoetryの一強だから
875デフォルトの名無しさん
2020/12/22(火) 18:28:41.61ID:Hji39els >>874
povertyみたいで嫌
povertyみたいで嫌
876デフォルトの名無しさん
2020/12/23(水) 20:18:46.69ID:9M0dxGbs 質問です
listの要素をごっそり型変換するにはmap関数を使えばいいとあったのですが、
map関数の戻り値がイテレータであるとはどういうことでしょうか?
listの要素をごっそり型変換するにはmap関数を使えばいいとあったのですが、
map関数の戻り値がイテレータであるとはどういうことでしょうか?
877デフォルトの名無しさん
2020/12/23(水) 20:33:31.77ID:/fS+7Fr+ >>876
イテレータはlistと同様にfor分等で一つずつ取り出せるけど、実際の中身は取り出すまでメモリ確保しない
listに1億個の要素があったとするとlistならメモリを沢山必要とするけど、イテレータなら問題ない
使い方はほとんど同じだけどprint()で見ると違いが分かる
イテレータはlistと同様にfor分等で一つずつ取り出せるけど、実際の中身は取り出すまでメモリ確保しない
listに1億個の要素があったとするとlistならメモリを沢山必要とするけど、イテレータなら問題ない
使い方はほとんど同じだけどprint()で見ると違いが分かる
879デフォルトの名無しさん
2020/12/25(金) 00:08:02.52ID:eWDcI5x6 pythonをソースインストールしてんだけど
./configureの--without-PACKAGEのPACKAGE一覧ってどっかにないかな?
--with-PACKAGE=noでも良いんだけど
このオプションがマトモに機能してる気がしない
要らないパッケージ省いたスリムなpython作りたいんだけど
ソースのREADMEもgithubの記事もどこにも書いてないんよね
./configureの--without-PACKAGEのPACKAGE一覧ってどっかにないかな?
--with-PACKAGE=noでも良いんだけど
このオプションがマトモに機能してる気がしない
要らないパッケージ省いたスリムなpython作りたいんだけど
ソースのREADMEもgithubの記事もどこにも書いてないんよね
880デフォルトの名無しさん
2020/12/25(金) 01:08:46.07ID:8LlCCPCm >>879
pythonに適した使い方じゃないだろそれ。
pythonに適した使い方じゃないだろそれ。
881デフォルトの名無しさん
2020/12/25(金) 13:56:38.42ID:BaOphPzO そのPACKAGE一覧が./configure --helpでその下にずらっとでてくるやつでしょ
ただ、それで、そのスリムなPythonが作れるわけじゃないけど
ただ、それで、そのスリムなPythonが作れるわけじゃないけど
882デフォルトの名無しさん
2020/12/26(土) 11:45:48.33ID:URkT4AMD 変数の宣言位置について質問です
下記のようなコードでは、if文が始まる前に
変数new_nameを宣言しておいた方がいいでしょうか?
https://paiza.io/projects/SG9gLGhkhsAzxAZ4UKz4mQ
下記のようなコードでは、if文が始まる前に
変数new_nameを宣言しておいた方がいいでしょうか?
https://paiza.io/projects/SG9gLGhkhsAzxAZ4UKz4mQ
883デフォルトの名無しさん
2020/12/26(土) 14:06:08.04ID:CIvbBvts >>882
必要ないです
必要ないです
884デフォルトの名無しさん
2020/12/26(土) 14:32:22.42ID:CIvbBvts885882
2020/12/26(土) 16:01:56.86ID:URkT4AMD886デフォルトの名無しさん
2020/12/26(土) 16:29:43.05ID:ItMdJLnh887デフォルトの名無しさん
2020/12/26(土) 16:38:56.17ID:S22m+gw3 すみません、ここを見てPythonをインストールしたのですが、
エディタというのはどこにインストールされているのでしょうか
MACに標準にあるテキストエディットをつかっても、pyという拡張子は作れませんでした
>エディタで先程作成したフォルダ「python_lesson」を開き、その中に「script.py」ファイルを作成してください。
https://prog-8.com/docs/python-env
エディタというのはどこにインストールされているのでしょうか
MACに標準にあるテキストエディットをつかっても、pyという拡張子は作れませんでした
>エディタで先程作成したフォルダ「python_lesson」を開き、その中に「script.py」ファイルを作成してください。
https://prog-8.com/docs/python-env
888デフォルトの名無しさん
2020/12/26(土) 16:47:26.77ID:ItMdJLnh >>887
標準のテキストエディタでも別に行けるぞ
多分、拡張子の表示辺りが無くて分かりづらいと思うが
script.py.txtみたいな状態になってるはず
ちなみに、そこのチュートリアルで出てくるエディタはVSCodeで
別ページにインストール手順が書いてある
(そのページの一番上に
・テキストエディタ
HTML & CSS の開発環境を用意しよう! を参考にしてください。って書いてある)
標準のテキストエディタでも別に行けるぞ
多分、拡張子の表示辺りが無くて分かりづらいと思うが
script.py.txtみたいな状態になってるはず
ちなみに、そこのチュートリアルで出てくるエディタはVSCodeで
別ページにインストール手順が書いてある
(そのページの一番上に
・テキストエディタ
HTML & CSS の開発環境を用意しよう! を参考にしてください。って書いてある)
889デフォルトの名無しさん
2020/12/26(土) 18:35:57.65ID:pHrrDNwV VSCodeのような支援ツールは使わない方がいい
一文字ずつ自分の指でタイプして書き上げたコードこそが自分の財産になる
一文字ずつ自分の指でタイプして書き上げたコードこそが自分の財産になる
890デフォルトの名無しさん
2020/12/26(土) 18:51:29.24ID:4mRY/k01 素手でトイレ掃除してそう
891デフォルトの名無しさん
2020/12/26(土) 19:06:03.65ID:5Glc6mpm そもそもプログラミング使ってる時点で甘えてんだよ
全部紙に書いてそれをファイリングしてデータ管理すべきだわ
ハンコ・紙の申請書・手書き・対面受け渡し
この4つを徹底した業務を10年以上やってから初めてプログラミングをやるべき
ちゃんと自分の財産が形成されてるからコード一行一行から良い風味が出てくる
全部紙に書いてそれをファイリングしてデータ管理すべきだわ
ハンコ・紙の申請書・手書き・対面受け渡し
この4つを徹底した業務を10年以上やってから初めてプログラミングをやるべき
ちゃんと自分の財産が形成されてるからコード一行一行から良い風味が出てくる
893デフォルトの名無しさん
2020/12/26(土) 19:26:11.90ID:Q9Cqduz6 >>891
wwwwwくやしいわろたwwww
wwwwwくやしいわろたwwww
894デフォルトの名無しさん
2020/12/26(土) 19:34:47.99ID:wXkuq1W2895デフォルトの名無しさん
2020/12/26(土) 20:07:32.21ID:JYcv42HE896デフォルトの名無しさん
2020/12/26(土) 20:26:26.68ID:lTeoZ7+5 パンチカード使うとか甘えてんのかよ
男なら黙ってプラグボードに決まってるだろ
男なら黙ってプラグボードに決まってるだろ
897デフォルトの名無しさん
2020/12/26(土) 22:39:38.47ID:xNQiwGF7 フォンノイマン型コンピュータを使うことが甘え
TTLロジックで論理をハードコードすべき
TTLロジックで論理をハードコードすべき
898デフォルトの名無しさん
2020/12/26(土) 22:45:42.78ID:Pu0ECC81899デフォルトの名無しさん
2020/12/26(土) 23:48:20.74ID:aomFNOZx Ruby にはブロックスコープがあるから、プログラミングしやすい
MicroPython か
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25
この本を読んだ印象では、
宇宙開発などの組み込み用、Lua, Squirrel の代替になる
Apache などのミドルウェアに組み込んで、拡張機能を作る。
ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い
MicroPython か
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11/25
この本を読んだ印象では、
宇宙開発などの組み込み用、Lua, Squirrel の代替になる
Apache などのミドルウェアに組み込んで、拡張機能を作る。
ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い
900デフォルトの名無しさん
2020/12/27(日) 06:31:17.91ID:vuz4qqtK >>888
昔、方眼紙にチャート手書きしてたっけな。
昔、方眼紙にチャート手書きしてたっけな。
901デフォルトの名無しさん
2020/12/27(日) 07:13:24.57ID:+tApAhgR >>899
るびおじおったw
るびおじおったw
902デフォルトの名無しさん
2020/12/27(日) 08:27:33.49ID:CaXXLtf4 Ruby
をNGワードに追加。
をNGワードに追加。
903デフォルトの名無しさん
2020/12/27(日) 09:36:53.54ID:0MIy7os4 BASIC,COBOL,Pythonと学んできた身からすると
ブロックスコープって何それ状態なのだが
つまりPythonの関数スコープがifやforにもあるってこと?
頭おかしくなりそう
ブロックスコープって何それ状態なのだが
つまりPythonの関数スコープがifやforにもあるってこと?
頭おかしくなりそう
904デフォルトの名無しさん
2020/12/27(日) 09:56:36.92ID:JDlKWc3Q905デフォルトの名無しさん
2020/12/27(日) 10:35:02.77ID:vBqHOnr5 >>899
そんなに楽な言語じゃ気持ちがこもらないダルルォ?
そんなに楽な言語じゃ気持ちがこもらないダルルォ?
906デフォルトの名無しさん
2020/12/27(日) 10:50:21.84ID:0MIy7os4907デフォルトの名無しさん
2020/12/27(日) 10:51:09.98ID:mqWB+gDR ブロックスコープが無いのはスクリプト言語でもPHPとPythonくらい
バグの温床になりやすい
バグの温床になりやすい
908デフォルトの名無しさん
2020/12/27(日) 13:14:13.85ID:vBqHOnr5909デフォルトの名無しさん
2020/12/27(日) 13:22:56.67ID:2030r+Fs910デフォルトの名無しさん
2020/12/27(日) 13:35:42.01ID:ZwH7MfQO withはスコープ外れたらファイル閉じるから無理なんじゃないの?
if文ならそうだけど
if文ならそうだけど
911デフォルトの名無しさん
2020/12/27(日) 13:52:55.21ID:SKaFVEwY 勿論 closeされるがファイルオブジェクトは残る
912デフォルトの名無しさん
2020/12/27(日) 14:19:22.56ID:+iG1rhj8 インデント下げてる場所 だったらこんなんじゃあないの
with open(‘test.txt’, ‘w’) as f:
____count = 1
____print(f)
printf(count)
with open(‘test.txt’, ‘w’) as f:
____count = 1
____print(f)
printf(count)
913デフォルトの名無しさん
2020/12/27(日) 14:47:56.00ID:bhLcvV8F まずそもそもスコープを生成しないし、宣言キーワード無いからねぇ
某言語のブロックにしてもその実はクロージャというか別物だし…
仕様自体よりも思い込み・勘違い・混同の方が問題であろうかなと
某言語のブロックにしてもその実はクロージャというか別物だし…
仕様自体よりも思い込み・勘違い・混同の方が問題であろうかなと
914デフォルトの名無しさん
2020/12/27(日) 18:29:26.40ID:MlpROiPU >>913
嘘ついちゃダメ
nonlocalやglobalは宣言キーワード
スコープ周りが貧弱なので使いにくいハックが必要になってる
javascriptもブロックスコープがない時代はそんなのいらないと強弁してる人が沢山いたんだよねー
嘘ついちゃダメ
nonlocalやglobalは宣言キーワード
スコープ周りが貧弱なので使いにくいハックが必要になってる
javascriptもブロックスコープがない時代はそんなのいらないと強弁してる人が沢山いたんだよねー
915デフォルトの名無しさん
2020/12/27(日) 18:52:35.43ID:0MIy7os4916デフォルトの名無しさん
2020/12/27(日) 19:22:15.13ID:bhLcvV8F >>914
代入文が暗黙的なローカル宣言でも、そもそも既出のブロックではスコープを作らないって話から
そこだけ切り取って嘘と言われましても…。明らかにlet相当も無いよねって文脈ですし
そうなっているので参照できるよって事で、要る要らないの話でもないですしね…
代入文が暗黙的なローカル宣言でも、そもそも既出のブロックではスコープを作らないって話から
そこだけ切り取って嘘と言われましても…。明らかにlet相当も無いよねって文脈ですし
そうなっているので参照できるよって事で、要る要らないの話でもないですしね…
917デフォルトの名無しさん
2020/12/27(日) 19:45:54.90ID:JDlKWc3Q >>915
初めてpython触るヤツには違和感しかないぞ
初めてpython触るヤツには違和感しかないぞ
918デフォルトの名無しさん
2020/12/27(日) 19:54:56.15ID:+iG1rhj8 本物の初心者なら違和感ゼロじゃね
919デフォルトの名無しさん
2020/12/27(日) 21:17:25.27ID:VS6+Jx70 Pythonからプログラミングはじめた人は
変数のスコープという概念自体を理解してないことが大多数なので
違和感なくてもバグを作るだけ
変数のスコープという概念自体を理解してないことが大多数なので
違和感なくてもバグを作るだけ
920デフォルトの名無しさん
2020/12/27(日) 21:36:17.81ID:IoLxP1+p もう雑談になってるから続けたいならせめて質問にしてくれ
921デフォルトの名無しさん
2020/12/28(月) 08:15:32.26ID:1wnarVmc >>912
動きはするだろうが、なんでwriteでファイル開いてそのポインタをプリントしてるのか意味不明。
動きはするだろうが、なんでwriteでファイル開いてそのポインタをプリントしてるのか意味不明。
922デフォルトの名無しさん
2020/12/28(月) 08:33:07.62ID:SqIAwzQp ブロックスコープは欲しい。
多分どうしようも無いGILをのぞいて、
Pythonの最もおおきな欠点だと思う。
まあ関数内defをして直後にその関数呼べばいいのかもしれんけど。
多分どうしようも無いGILをのぞいて、
Pythonの最もおおきな欠点だと思う。
まあ関数内defをして直後にその関数呼べばいいのかもしれんけど。
923デフォルトの名無しさん
2020/12/28(月) 10:06:03.35ID:W49AY227 Pythonの本を選ぶときにスコープについて解説してある箇所を見れば本の良し悪しが分かる
初心者がプログラミングの学習を始めて遅くても3日目には習う基本事項にもかかわらず
スコープについて整理してわかりやすく解説してるPython本は驚くほど少ない
初心者がプログラミングの学習を始めて遅くても3日目には習う基本事項にもかかわらず
スコープについて整理してわかりやすく解説してるPython本は驚くほど少ない
924デフォルトの名無しさん
2020/12/28(月) 12:40:30.36ID:jUcg1lZl JavaScript(JS), Python の関数はクロージャだから、関数外の変数を取り込んでしまう。
ただし、新しいJSには、ブロックスコープも出来たかも?
一方、Ruby の関数はクロージャじゃないから、関数外の変数を取り込まない
関数外の範囲は大きすぎるので、
取り込むとバグが多くなって、開発が難しくなるから、
透過しない厳格な関数スコープにした
その代わり、関数内にはブロックスコープを作る。
これはクロージャだから、ブロック外の変数を取り込む
関数内は20行程度だから、範囲が小さいので、透過しても大丈夫
ただし、新しいJSには、ブロックスコープも出来たかも?
一方、Ruby の関数はクロージャじゃないから、関数外の変数を取り込まない
関数外の範囲は大きすぎるので、
取り込むとバグが多くなって、開発が難しくなるから、
透過しない厳格な関数スコープにした
その代わり、関数内にはブロックスコープを作る。
これはクロージャだから、ブロック外の変数を取り込む
関数内は20行程度だから、範囲が小さいので、透過しても大丈夫
925デフォルトの名無しさん
2020/12/28(月) 13:41:03.84ID:k1Eqi9cA withは名前から受ける印象で直感に反してるけどルールとしては一貫してる
内包表記で代入式を使うと変数が外に漏れるのはルールにも反してて意味が分からない
内包表記で代入式を使うと変数が外に漏れるのはルールにも反してて意味が分からない
926デフォルトの名無しさん
2020/12/28(月) 16:00:19.42ID:1wnarVmc まあそもそもリスト内包で副作用があるような処理書く奴はどうかしてるけどな。
そういう場合はアホみたいな書き方しないでfor使えや。
そういう場合はアホみたいな書き方しないでfor使えや。
927デフォルトの名無しさん
2020/12/28(月) 16:59:30.53ID:PwYxLSK+928デフォルトの名無しさん
2020/12/28(月) 18:04:10.84ID:1wnarVmc 代入が副作用ないと思ってんだな。。そりゃ話にならん。
929デフォルトの名無しさん
2020/12/28(月) 18:59:19.95ID:k1Eqi9cA さすがにそれは・・・
Cの主作用/副作用の定義だと代入も副作用があるとみなすけど
その定義だと内包表記はイテレータを使うからすべて副作用があることになる
ローカル変数に値を代入する関数を副作用のある関数と呼んだところでPythonにおいては何の意味もないよ
Cの主作用/副作用の定義だと代入も副作用があるとみなすけど
その定義だと内包表記はイテレータを使うからすべて副作用があることになる
ローカル変数に値を代入する関数を副作用のある関数と呼んだところでPythonにおいては何の意味もないよ
930デフォルトの名無しさん
2020/12/28(月) 19:50:52.24ID:1npJXF9+ スコープ抜けたら消えてるやつは副作用じゃないです。
931デフォルトの名無しさん
2020/12/28(月) 22:01:24.43ID:xPcvMZiv 代入式は代入だから副作用w
副作用だからfor文使えww
エクストリームすぎるやろ
副作用だからfor文使えww
エクストリームすぎるやろ
932デフォルトの名無しさん
2020/12/28(月) 22:49:30.45ID:oo8nUBuZ Tesseract以外のOCRライブラリで使えるの有りますか?
英語だけで十分なんですが
英語だけで十分なんですが
933デフォルトの名無しさん
2020/12/29(火) 06:48:07.79ID:hnMWQG4C アイアン!まーいく!パイソン!
なーんつっちゃって
なーんつっちゃって
934デフォルトの名無しさん
2020/12/29(火) 18:05:59.36ID:0CsKIrrJ 文字列囲むときって
'てす'と"てす"
どっちがいいの?
'てす'と"てす"
どっちがいいの?
935デフォルトの名無しさん
2020/12/29(火) 18:20:40.29ID:mZvn1dXJ どっちでもいいが、英語配列のキーボードでは'の方がタイプしやすいため'の方が多用されていることが多い
936デフォルトの名無しさん
2020/12/29(火) 18:36:22.79ID:ojfT27J3 どっちでもいい
プログラミング配信とか見てるとわかるけど、日本人以外でもダブル(")使ってる人も少なくない
自分の中で統一できていればいい
使いにくい方をあえて使おうとしてまで使うメリットも理由もない
例えば、辞書のキーに文字列使う場合はシングル使って、メッセージの様な文にはダブル使うみたいな人もいる
プログラミング配信とか見てるとわかるけど、日本人以外でもダブル(")使ってる人も少なくない
自分の中で統一できていればいい
使いにくい方をあえて使おうとしてまで使うメリットも理由もない
例えば、辞書のキーに文字列使う場合はシングル使って、メッセージの様な文にはダブル使うみたいな人もいる
937デフォルトの名無しさん
2020/12/29(火) 18:40:20.15ID:ojfT27J3 docstringはダブル使ってね
938デフォルトの名無しさん
2020/12/29(火) 18:57:59.95ID:5lNXv1ot 引用する文字列にダブルクォートが含まれることが多いので、
Pythonでの文字列のくくりには意識してシングルを使ってる
shellみたいに、展開の有無の違いはあったっけ?
Pythonでの文字列のくくりには意識してシングルを使ってる
shellみたいに、展開の有無の違いはあったっけ?
939デフォルトの名無しさん
2020/12/29(火) 19:01:46.57ID:HcXyWfHn blackのフォーマットのデフォルトがダブルなんだからダブル使え
940デフォルトの名無しさん
2020/12/29(火) 19:30:57.15ID:NgMoxJfm 質問です
ちょっとマニアックなんですが…
アンパック代入により_(アンダースコア)を使って値を捨てた後、
_の値を消去しておいた方がいいでしょうか?
data = [1, 2, 3]
a, _, b = data
# del _
ちょっとマニアックなんですが…
アンパック代入により_(アンダースコア)を使って値を捨てた後、
_の値を消去しておいた方がいいでしょうか?
data = [1, 2, 3]
a, _, b = data
# del _
941デフォルトの名無しさん
2020/12/29(火) 19:59:15.43ID:UK0GT2+C942デフォルトの名無しさん
2020/12/29(火) 20:10:55.84ID:jjGz13qC943デフォルトの名無しさん
2020/12/29(火) 23:37:53.10ID:TVQOurYq945デフォルトの名無しさん
2020/12/30(水) 03:09:55.58ID:zOyP/TIc そもそもdel直後や関数抜けた直後に削除される保証なんてないのでは?
946デフォルトの名無しさん
2020/12/31(木) 09:03:14.64ID:3v1yApEE ImageGrab.grabでゲーム画面のスクリーンショットを撮ろうとしてもwindowsの壁紙しか映りません。ゲームのメニュー画面は撮れるのですが、対戦画面に切り替わると撮れなくなります。
947デフォルトの名無しさん
2021/01/02(土) 03:03:06.16ID:pyorPsQx input()関数での入力受付をマウスのクリックで代わりにできたりしませんか?
例えば、input()では"y"の入力でTrue、"n"の入力でFalseとして処理を分岐させている場合、
マウスを使うイメージでは、左クリック(あるいはyesボタンようなもの)が押されたときにTrue、反対に右クリック(あるいはnoボタンのようなもの)が押されたときにはFalseとなるようにして処理を分岐できるようにしたいです
キーボードでの入力→エンターの手間が地味に面倒で(押し間違いも出てくる)クリック一発で済ませられるようになれば・・・と考えてのことなのですが、簡単な実装の仕方はありますでしょうか?
例えば、input()では"y"の入力でTrue、"n"の入力でFalseとして処理を分岐させている場合、
マウスを使うイメージでは、左クリック(あるいはyesボタンようなもの)が押されたときにTrue、反対に右クリック(あるいはnoボタンのようなもの)が押されたときにはFalseとなるようにして処理を分岐できるようにしたいです
キーボードでの入力→エンターの手間が地味に面倒で(押し間違いも出てくる)クリック一発で済ませられるようになれば・・・と考えてのことなのですが、簡単な実装の仕方はありますでしょうか?
948デフォルトの名無しさん
2021/01/02(土) 09:16:28.29ID:oBLo886r 誰かiPhone用の爆サイリーダー作ってください。
949デフォルトの名無しさん
2021/01/02(土) 10:13:31.52ID:wcwqpSor950デフォルトの名無しさん
2021/01/02(土) 12:09:14.26ID:Sivwhl/T >>947
pygame使う
pygame使う
951デフォルトの名無しさん
2021/01/02(土) 16:15:26.26ID:aqs6ioY6 >>947
やるべきかどうかは別にしてpynput使えばできるよ
https://pynput.readthedocs.io/en/latest/mouse.html#monitoring-the-mouse
エンターが手間ならエンター無しのキーボード入力だけで
処理が進むように作ったほうが間違いがなくていい気がする
python getchでググるとよろし
(pynputでもできるしcursesのようなTUIでも可)
やるべきかどうかは別にしてpynput使えばできるよ
https://pynput.readthedocs.io/en/latest/mouse.html#monitoring-the-mouse
エンターが手間ならエンター無しのキーボード入力だけで
処理が進むように作ったほうが間違いがなくていい気がする
python getchでググるとよろし
(pynputでもできるしcursesのようなTUIでも可)
952デフォルトの名無しさん
2021/01/03(日) 17:07:25.20 強制的な名前付き引数と可変長辞書引数って同居できなかったっけ??
def hoge(a,**d):
これだとhoge(a=1)でもhoge(1)でも通っちゃうんだが
def hoge(a,**d):
これだとhoge(a=1)でもhoge(1)でも通っちゃうんだが
953デフォルトの名無しさん
2021/01/03(日) 18:15:44.07ID:GNuYDGUQ def hoge(a, /, **d) ?
954デフォルトの名無しさん
2021/01/03(日) 20:12:26.61 >>953
できた d!
できた d!
955デフォルトの名無しさん
2021/01/04(月) 02:13:45.64ID:Kyh5jQEK C++からPythonへ画像を送りたい または
C++からPythonを呼び出したい(opencvの画像を添えて)
何か楽な方法ありますか?
ちなみに動作環境はUbuntuです
C++からPythonを呼び出したい(opencvの画像を添えて)
何か楽な方法ありますか?
ちなみに動作環境はUbuntuです
956デフォルトの名無しさん
2021/01/04(月) 02:33:20.59ID:KAZJSY+9 system関数呼べば?
957デフォルトの名無しさん
2021/01/04(月) 13:08:03.00ID:NzpguK0K 楽な方法ならsystem()に一票
bindして呼び出せるけどトラブった時の対処はスキルがメチャクチャいる
bindして呼び出せるけどトラブった時の対処はスキルがメチャクチャいる
958蟻人間 ◆T6xkBnTXz7B0
2021/01/04(月) 14:53:38.76ID:RRkyDjZk Base64 かな?
959デフォルトの名無しさん
2021/01/04(月) 19:54:00.21ID:8c2bemG3 python2で書かれたprint文をpython3に合わせて全てprint( )に直したいのですが、どのような正規表現を使えば良いでしょうか。全て
print '〜〜〜'
の形式で書かれています。
print '〜〜〜'
の形式で書かれています。
960デフォルトの名無しさん
2021/01/04(月) 19:56:30.06ID:bgBArne3 >>959
むしろ「正規表現使わない置換」したほうがいいんじゃないかな かな
むしろ「正規表現使わない置換」したほうがいいんじゃないかな かな
961デフォルトの名無しさん
2021/01/04(月) 20:01:34.57ID:8c2bemG3 >>960
他にどのようなよい方法があるのでしょうか
他にどのようなよい方法があるのでしょうか
962デフォルトの名無しさん
2021/01/04(月) 20:02:11.42ID:hngT4Gif print '(.*?)'$
print(\1)
print(\1)
963デフォルトの名無しさん
2021/01/04(月) 20:05:37.98ID:dUeB3b+2964デフォルトの名無しさん
2021/01/04(月) 20:08:54.33ID:po0WxCfG 複文がないなら s/\bprint\b(.*)$/print(\1)/ でいいんじゃないかなあ
965デフォルトの名無しさん
2021/01/04(月) 20:12:17.65ID:KAZJSY+9 エディタ使って一つ一つ確認しつつ置換した方がいいと思うがな。
10000行程度なら俺ならそうする
10000行程度なら俺ならそうする
966デフォルトの名無しさん
2021/01/04(月) 20:38:52.21ID:Nz2iXOdN 2to3使って元のファイルと差分を確認
が一番楽だと思う
そもそもPython2からPython3だとprint以外にも変更が必要だし
が一番楽だと思う
そもそもPython2からPython3だとprint以外にも変更が必要だし
967デフォルトの名無しさん
2021/01/04(月) 21:24:49.11ID:Mk3YZcaQ >>963
とりあえずprint()だけ変換しておけば、
from __future__ import print_function でPython2.7でも使えるから
段階を踏むという意味ではいいんじゃない?
とりあえずprint()だけ変換しておけば、
from __future__ import print_function でPython2.7でも使えるから
段階を踏むという意味ではいいんじゃない?
968デフォルトの名無しさん
2021/01/05(火) 16:27:09.20ID:WDUeqgtT >>959は変更点がprintだけだと思ってるような気がする
969デフォルトの名無しさん
2021/01/05(火) 19:49:51.47ID:vWLugMBZ format() やfストリングで、例えば普段は小数点以下第2位までの数値表示で、整数部桁が大きくなる場合は小数点以下は第1位にしたりして、数値全体の最大桁数は固定にすることってできますか?
970デフォルトの名無しさん
2021/01/05(火) 21:26:54.87ID:8pOcMMb2 >>969
f"{123.456:.5g}" =>'123.46'
f"{1234.56:.5g}" =>’1234.6'
https://docs.python.org/3/library/string.html#format-specification-mini-language
f"{123.456:.5g}" =>'123.46'
f"{1234.56:.5g}" =>’1234.6'
https://docs.python.org/3/library/string.html#format-specification-mini-language
971デフォルトの名無しさん
2021/01/05(火) 22:04:38.15ID:vWLugMBZ >>970
ありがとうございます。
すみません、説明不足でした。
例えばですが以下のように、原則は小数点以下は4桁として、整数部が4桁を超える場合にのみ、小数点以下の桁数を切り詰めて欲しいのです。
(整数部が大きくなるケースを例外扱いのようにし、小数点以下は4桁以上増やさない)
{:8.4f}
__0.1234
_12.3456
123.4567
1234.567
12345.67
フォーマット文字列生成してから、[0:8]で先頭8桁を切り出すしかないですか?
ありがとうございます。
すみません、説明不足でした。
例えばですが以下のように、原則は小数点以下は4桁として、整数部が4桁を超える場合にのみ、小数点以下の桁数を切り詰めて欲しいのです。
(整数部が大きくなるケースを例外扱いのようにし、小数点以下は4桁以上増やさない)
{:8.4f}
__0.1234
_12.3456
123.4567
1234.567
12345.67
フォーマット文字列生成してから、[0:8]で先頭8桁を切り出すしかないですか?
972デフォルトの名無しさん
2021/01/05(火) 22:56:30.16ID:8pOcMMb2 >>971
foo = [0.123456, 12.34567, 123.45678, 1234.56789, 12345.67890, 12345678.90]
[f"{round(x, 4):.7g}" for x in foo]
#=> [‘0.1235', '12.3457', '123.4568', '1234.568', '12345.68', '1.234568e+07']
foo = [0.123456, 12.34567, 123.45678, 1234.56789, 12345.67890, 12345678.90]
[f"{round(x, 4):.7g}" for x in foo]
#=> [‘0.1235', '12.3457', '123.4568', '1234.568', '12345.68', '1.234568e+07']
973デフォルトの名無しさん
2021/01/06(水) 14:44:12.17ID:EPQdiTFW anacondaって有償になったって聞いたんだけど、今まで使ってたやつってどうなるの?
ずっと普通に使えていたから気付かなかった
講習で使ってるだけならセーフか?
つか、そんな事一度も教えてもらわなかったぞ
ずっと普通に使えていたから気付かなかった
講習で使ってるだけならセーフか?
つか、そんな事一度も教えてもらわなかったぞ
974デフォルトの名無しさん
2021/01/06(水) 14:48:50.11ID:+VwhUw/e975デフォルトの名無しさん
2021/01/06(水) 16:58:18.74ID:ENhPhOS8 去年の頭くらいの話だろうに何で今更聞いてんだ
該当してたらもう遅いだろw
該当してたらもう遅いだろw
976デフォルトの名無しさん
2021/01/06(水) 17:35:38.04ID:EPQdiTFW977デフォルトの名無しさん
2021/01/06(水) 18:47:52.50ID:6Jl+4cGL 公式の最新情報くらい調べてからひとにきけよ
978デフォルトの名無しさん
2021/01/07(木) 07:00:37.94ID:4fMQSce9 >>976
シンプルな回答
気にするな
正確な回答
人員200人以上の組織で使ってるならコマーシャルライセンス版を買いリポジトリの使用料を払えという話だ
お前の頭ごときでそんな組織に勤めてAnacondaを使ってるわけがないだろ?
だから気にするな
シンプルな回答
気にするな
正確な回答
人員200人以上の組織で使ってるならコマーシャルライセンス版を買いリポジトリの使用料を払えという話だ
お前の頭ごときでそんな組織に勤めてAnacondaを使ってるわけがないだろ?
だから気にするな
979デフォルトの名無しさん
2021/01/07(木) 14:55:40.47ID:cztV9si0 こういうスレは必ず「情弱乙www」とか言うやつが現れるよね。そして何も教えないまま暴言だけを残して去っていく
980デフォルトの名無しさん
2021/01/07(木) 16:52:34.15ID:3TLTtAUE >>979
情弱乙www
情弱乙www
981デフォルトの名無しさん
2021/01/07(木) 17:08:04.26ID:pdkBwEAt スレタイ見ろよ馬鹿
982デフォルトの名無しさん
2021/01/07(木) 19:23:23.70ID:0FtDyJbU みんなこわい
983デフォルトの名無しさん
2021/01/07(木) 20:11:00.50ID:lA1VVWUe うるせーハゲ
984デフォルトの名無しさん
2021/01/09(土) 05:22:56.31ID:IpHIsox4985デフォルトの名無しさん
2021/01/09(土) 08:46:32.15ID:DLsCQOwy バイナリデータをいじくるのに手間がかかってしょうがない
やはりテキストデータ専用言語だなPythonは
バイナリデータ操作に長けた言語を紹介してくれないか
業務で必要なんだ
やはりテキストデータ専用言語だなPythonは
バイナリデータ操作に長けた言語を紹介してくれないか
業務で必要なんだ
986デフォルトの名無しさん
2021/01/09(土) 08:53:50.37ID:pIgeuh0b >>985
C
C
987デフォルトの名無しさん
2021/01/09(土) 10:19:38.02ID:DLsCQOwy988デフォルトの名無しさん
2021/01/09(土) 10:33:52.57ID:gRjfgS3h またやったらええやん。
989デフォルトの名無しさん
2021/01/09(土) 10:38:29.76ID:fHVxD+CU スクリプト言語でバイナリ操作というとperlでpack/unpack、pythonでstructモジュールあたりじゃないか?
それも手間だというなら他の言語でも似たようなもんじゃないかと思うが。
それも手間だというなら他の言語でも似たようなもんじゃないかと思うが。
990デフォルトの名無しさん
2021/01/09(土) 11:33:01.84ID:SIlabjr/ 扱うデータがリトルエンディアンならCは楽だけど、そうでないならCでも同じくらいの相応の手間はかかる
991デフォルトの名無しさん
2021/01/09(土) 12:41:43.34ID:DLsCQOwy992デフォルトの名無しさん
2021/01/09(土) 14:06:54.27ID:N02pNv/D バイナリ操作つってもいろいろあるから何やろうとしてて手間を感じるポイントを書かないと何とも言えんよ
エラーメッセージすら書かずに「エラーになるんですけど、どうすればいいんでしょう?」と同じレベル
エラーメッセージすら書かずに「エラーになるんですけど、どうすればいいんでしょう?」と同じレベル
993デフォルトの名無しさん
2021/01/09(土) 15:19:32.95ID:Lgj8dxsW ポインタがわからないのにバイナリ操作したいってのは一体どういう了見だ
994デフォルトの名無しさん
2021/01/09(土) 15:43:28.50ID:dA4F+6va Javaでいいじゃん
995デフォルトの名無しさん
2021/01/09(土) 15:43:30.94ID:D6Ll5jvx 分かるまでやれ
下手な説明だけ読んで理解しようとするから分からないままで進まないんだ
疑問に思ったら逐一書いて試せ
下手な説明だけ読んで理解しようとするから分からないままで進まないんだ
疑問に思ったら逐一書いて試せ
996デフォルトの名無しさん
2021/01/09(土) 17:59:21.61ID:pIgeuh0b 安全にバイナリを操作しようとしたら色々きをつけなきゃいけないけど、適当に実験するだけだったらCが一番楽だと思うけどなあ。
ポインタを気軽に操作できるからこその楽さだよね
もちろんpackとかunpackとか使ったら同じだけど、一手間ある感じ。
ポインタを気軽に操作できるからこその楽さだよね
もちろんpackとかunpackとか使ったら同じだけど、一手間ある感じ。
997デフォルトの名無しさん
2021/01/09(土) 21:19:19.27ID:kPw1IBO3998デフォルトの名無しさん
2021/01/09(土) 21:35:39.87ID:fHVxD+CU 2/4/8バイトをひっくり返すだけの関数ならべつにCじゃなくても楽勝だろうし
Cでも結局64bit版は自作しなきゃならんしで大して違いはないと思うが。
Cでも結局64bit版は自作しなきゃならんしで大して違いはないと思うが。
999デフォルトの名無しさん
2021/01/10(日) 04:23:22.15ID:RrNYWvxE みんなバイバイナリ
1000デフォルトの名無しさん
2021/01/10(日) 04:58:15.36ID:9lOpXAqu バイキンマンとコロ助が合体したかのような言い回し
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 84日 18時間 52分 37秒
新しいスレッドを立ててください。
life time: 84日 18時間 52分 37秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 永野芽郁の不倫報道火消しへ 永野の自宅マンションには「母親がいた」 永野、田中、キムの所属事務所発表★2 [ネギうどん★]
- 中居正広、水面下で反撃の準備か 第三者委員会の報告書での“性暴力者”認定に強い抵抗感、自らの口で真相を明らかにする考えも ★2 [Ailuropoda melanoleuca★]
- 「コメの関税を下げたら自民党は吹っ飛ぶ」 農業団体首脳が断言 農林族のドンも危機感あらわ…コメ輸入拡大で試される石破政権★2 [夜のけいちゃん★]
- トランプ米大統領 「中国を債務不履行にすべき」 [お断り★]
- 自転車交通違反「青切符」来年4月スタート「逆走、歩道を走る」「スマホ・イヤホン等のながら運転」★7 [七波羅探題★]
- 立憲が参院選公約に「食料品の消費税ゼロ」 時限措置として野田代表ら執行部が方針決定 [少考さん★]
- __🇨🇭国民に銃を支給 国民に銃の訓練 世界で最も銃犯罪率が低い国👉スイスのようになろう [827565401]
- 石破「なぜ氷河期世代は働かないのか? 空前の人手不足で誰でも働けるのに」反論あるか? トランプ安倍 [205023192]
- 声優の石見舞菜香のソックリさん、彼氏との写真が流出 [159091185]
- 【悲報】チャリモメン、逝く。罰則強化で信号無視6000円、傘さし5000円、歩道走り6000円 [476167917]
- お🏡とかいう意味不明なレスを続ける障害者軍団
- __🇷🇺日本靖国神社参拝「恐ろしい慣行…戦争への反省ない」批判 [ばーど★] [827565401]