当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★
5chの仕様【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】のため、どうにもなりましぇん。
↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 くだすれPython(超初心者用) その52【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1610137345/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その53
レス数が1000を超えています。これ以上書き込みはできません。
2021/03/16(火) 07:19:44.36ID:PfTIXkDh
2021/03/16(火) 19:25:04.88ID:GPMJJDKk
2021/03/16(火) 20:29:18.93ID:SXyIy3pf
なくなってたと思ったらくだすれ発見!
2021/03/16(火) 22:43:33.75ID:wDp7dZOY
くだれす〜
2021/03/17(水) 04:34:23.73ID:OOj2NSgC
ずっと気になってたんだけど「くだすれ」って何?
2021/03/17(水) 08:06:19.70ID:TpdTO3YL
2021/03/17(水) 14:14:35.31ID:TpdTO3YL
2021/03/17(水) 17:37:06.12ID:OOj2NSgC
2021/03/17(水) 18:40:31.97ID:TpdTO3YL
2021/03/18(木) 01:44:53.32ID:A6mO37qQ
requestsのpostしても空っぽで返ってくるのにハマりまくったけど
post(url,data=data)
のdataのところを
json.dumps({"name":"tarou","age":20})
みたいに文字列化したらなぜかうまくいった・・・
他のところは辞書型のままでもいけたのに
post(url,data=data)
のdataのところを
json.dumps({"name":"tarou","age":20})
みたいに文字列化したらなぜかうまくいった・・・
他のところは辞書型のままでもいけたのに
2021/03/18(木) 05:24:55.18ID:E6K6GX2p
12デフォルトの名無しさん
2021/03/18(木) 15:10:11.71ID:HfXxQmPX そこは json.dumps より urllib.urlencode 汁
13デフォルトの名無しさん
2021/03/18(木) 15:15:49.51ID:HfXxQmPX2021/03/18(木) 16:07:41.59ID:k/Cp5d5i
導入で詰んだ
minicondaをインストールしたがpipを実行しようとするとpython38.dllが見つからないとしはじかれる
python38.dllはpython38.exeと同一フォルダにあるのに
minicondaをインストールしたがpipを実行しようとするとpython38.dllが見つからないとしはじかれる
python38.dllはpython38.exeと同一フォルダにあるのに
2021/03/18(木) 16:09:25.79ID:k/Cp5d5i
python38.exeではないなpython.exeか
2021/03/18(木) 16:50:30.37ID:VjRMlHUp
Ruby on Rails 6 の本も書いている人が、新刊を出した
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
Erlang/OTP か、片方向リストは、先頭の要素だけが速いとか、
実行環境の内部構造の話が多くて、辛い
Elixir実践ガイド、黒田努、2021/2/5
Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
Erlang/OTP か、片方向リストは、先頭の要素だけが速いとか、
実行環境の内部構造の話が多くて、辛い
2021/03/18(木) 17:27:24.11ID:7Uj1c/fU
推奨NGワード: Ruby
推奨NGワード: Rails
推奨NGワード: 書いている人
推奨NGワード: Rails
推奨NGワード: 書いている人
2021/03/18(木) 17:32:30.78ID:E6K6GX2p
>>14-15
スレタイも1も読めない池沼にはむりぽっぽ
スレタイも1も読めない池沼にはむりぽっぽ
2021/03/18(木) 17:44:58.89ID:k/Cp5d5i
はいどうも、書いてみるもんですな、原因はセキュリティソフトでした、どうも失礼しました
2021/03/19(金) 12:46:20.22ID:bQkGR5Qu
質問スレって結構解決率高くて役に立つよね
なぜか投稿した直後に自己解決する
なぜか投稿した直後に自己解決する
2021/03/19(金) 13:33:42.02ID:+kOAJZBd
書くことで頭の整理ができて自己解決することもおおいいいいい
2021/03/19(金) 14:05:53.67ID:WPerE166
くだすれってどういう意味?
2021/03/19(金) 15:24:56.01ID:+kOAJZBd
あえてつられてさしあげよう
現行ログくらい嫁
現行ログくらい嫁
2021/03/19(金) 16:35:36.21ID:lT0CdhUS
くだを巻くの「くだ」
2021/03/19(金) 16:57:10.38ID:JOVgIa9u
管狐のくだ
2021/03/19(金) 19:20:08.31ID:AYoTSH/q
菅スレw
2021/03/19(金) 19:22:35.26ID:VzIhkYvX
蛇だけに
28デフォルトの名無しさん
2021/03/19(金) 22:45:14.97ID:X0y0iVpq 「it is assumed that your working directory is the root folder of the library.」
以下の文章中にある↑の文の意味が分かりません。
作業ディレクトリがライブラリのルートフォルダであることを仮定するというのはどういうことですか?
ライブラリのルートフォルダって何ですか?
The functionality for sound in this chapter can be found in the module sound in the
library, and the code examples assume that this module has been imported without a
prefix:
from sound import *
Moreover, it is assumed that your working directory is the root folder of the library.
Since the Python code in the library is located in the python folder, a simple way to
ensure that the library modules will be found is to add
import sys, os
sys.path.append(os.path.join(os.getcwd(), ’python’))
at the top of your program.
以下の文章中にある↑の文の意味が分かりません。
作業ディレクトリがライブラリのルートフォルダであることを仮定するというのはどういうことですか?
ライブラリのルートフォルダって何ですか?
The functionality for sound in this chapter can be found in the module sound in the
library, and the code examples assume that this module has been imported without a
prefix:
from sound import *
Moreover, it is assumed that your working directory is the root folder of the library.
Since the Python code in the library is located in the python folder, a simple way to
ensure that the library modules will be found is to add
import sys, os
sys.path.append(os.path.join(os.getcwd(), ’python’))
at the top of your program.
2021/03/19(金) 23:15:47.95ID:RMQx/osX
pythonはまず起動されたディレクトリからモジュールを探す
sound.pyか、sound/__init__.py
それが無ければリストsys.pathに入ってるパスを見に行く
親切なインストーラは勝手にsys.pathにリストされたディレクトリに入りに行く
親切過ぎて勝手にsys.pathを改変する逆に迷惑なライブラリもある
何もしないライブラリ/インストーラも当然あるので、自分で追加しよう
しかしコード内からsys.pathを直接弄るのは薦めない
pythonは起動時にsys.pathに加えるパスを環境変数PYTHONPATHから調べるので、そこにsoundのパスを加えるべき
もし直接弄ると、その特定のコードの実行時にしか見えないバグを産みかねない、ユーザーとしては非常に厄介
python -i script.pyで実行後に対話モードに移れるけど、特に他人の書いたコードでそんなことやる気起きないでしょ?
sound.pyか、sound/__init__.py
それが無ければリストsys.pathに入ってるパスを見に行く
親切なインストーラは勝手にsys.pathにリストされたディレクトリに入りに行く
親切過ぎて勝手にsys.pathを改変する逆に迷惑なライブラリもある
何もしないライブラリ/インストーラも当然あるので、自分で追加しよう
しかしコード内からsys.pathを直接弄るのは薦めない
pythonは起動時にsys.pathに加えるパスを環境変数PYTHONPATHから調べるので、そこにsoundのパスを加えるべき
もし直接弄ると、その特定のコードの実行時にしか見えないバグを産みかねない、ユーザーとしては非常に厄介
python -i script.pyで実行後に対話モードに移れるけど、特に他人の書いたコードでそんなことやる気起きないでしょ?
2021/03/19(金) 23:23:26.41ID:RMQx/osX
PYTHONPATHが長くなり過ぎるのも見にくいので、ホームディレクトリ直下にpylib3.10みたいなディレクトリ作って、それだけPYTHONPATHに加え、そこにパッケージシステム管理外のライブラリを全部ブチ込むのもあり
2021/03/20(土) 09:08:07.43ID:nt8Be5Ib
>>29-30
ありがとうございました。
ありがとうございました。
32デフォルトの名無しさん
2021/03/20(土) 21:03:20.71ID:cHAvtLAs print(range(3))
と一行書いて実行すると、
0 1 2
と表示されるはずなのに
range(0, 3)
としか表示されない。どうしてでしょうか。
と一行書いて実行すると、
0 1 2
と表示されるはずなのに
range(0, 3)
としか表示されない。どうしてでしょうか。
2021/03/20(土) 21:12:13.24ID:cHAvtLAs
>>32 は自己解決しました
2021/03/20(土) 21:41:21.50ID:GfnHrk+w
オブジェクトだからさ。
2021/03/20(土) 23:09:48.82ID:SzdWYV/s
好きなだけ広い範囲を取れるぞ!
好きなだけ取って楽しめよ!
好きなだけ取って楽しめよ!
36デフォルトの名無しさん
2021/03/21(日) 00:41:47.55ID:c1Fm1qtl2021/03/21(日) 01:15:24.00ID:ba25SXqE
自己解決したと書いてるのに、蘊蓄を披露するのが我慢できない人達
2021/03/21(日) 03:30:01.28ID:Duyg5pmm
蛇だけに!
2021/03/21(日) 07:55:22.35ID:Xyvra8tZ
2021/03/21(日) 08:02:45.18ID:rOmbGrT+
このくらいは質問する前に気づいて欲しいな
そしたら蘊蓄披露したがりクンも沸いてこなかった
つまり質問者が悪い
そしたら蘊蓄披露したがりクンも沸いてこなかった
つまり質問者が悪い
41デフォルトの名無しさん
2021/03/21(日) 09:50:58.07ID:c1Fm1qtl2021/03/21(日) 10:50:14.27ID:ba25SXqE
すまん、俺が悪かった。
2021/03/21(日) 10:56:39.10ID:eocPnEKi
「オブジェクトだから」だと思ってる人達は文字列(str)はオブジェクトじゃないと思ってるのかな?
range(0, 3)と表示される仕組みを理解してるとは思えないんだが
range(0, 3)と表示される仕組みを理解してるとは思えないんだが
2021/03/21(日) 11:10:46.35ID:dweFEPRe
inとか調べるのがノーコストになるというのはインフォマティブだよ
コンテナ実装するときにふと思い出してくれればよい
コンテナ実装するときにふと思い出してくれればよい
2021/03/21(日) 11:17:17.80ID:dweFEPRe
俺もついでにくだを巻いていくけどrangeだけなら整数2つ持ってるのと大差ない(lo<=i <hiと等価)が
rangeが生きるのはもっと複雑なテスト、rangeはchainsで数珠繋ぎにして生きる
rangeが生きるのはもっと複雑なテスト、rangeはchainsで数珠繋ぎにして生きる
46デフォルトの名無しさん
2021/03/21(日) 11:21:05.88ID:GVEcec50 Juliaというプログラミング言語がいいという話ですが、Pythonに詳しい人はPythonと比較してJuliaについてどう思いますか?
2021/03/21(日) 11:31:49.59ID:ECrDs+gQ
ブーム前はFortran/Matlab(&Octave)と同じ感覚で配列を自在に扱える代替環境ってのがPython/numpyの需要だったのよ
numpy/scipyはFortranライブラリのラッパ集として始まったわけで
今はもうPythonは手軽なスクリプト言語はじめ色んな用途が開けてるから、古い感覚だけどね
C風のPythonし、結局Fortran民はJuliaを作ったわけだけど
まあPythonでいい
numpy/scipyはFortranライブラリのラッパ集として始まったわけで
今はもうPythonは手軽なスクリプト言語はじめ色んな用途が開けてるから、古い感覚だけどね
C風のPythonし、結局Fortran民はJuliaを作ったわけだけど
まあPythonでいい
2021/03/21(日) 11:42:30.17ID:ECrDs+gQ
文書がバグってた…
Pythonは配列0始まり/メモリ配置行メジャーのC系の慣習を引きずってる
線形代数記法、つまり配列1始まり/メモリ配置列メジャーの数値計算の慣習と逆ってことね
新興で後者採用のFortran系の言語はJuliaくらいしかないのでそっちに慣れてるオッサンならjuliaの方が受け入れやすいと想う
Pythonは配列0始まり/メモリ配置行メジャーのC系の慣習を引きずってる
線形代数記法、つまり配列1始まり/メモリ配置列メジャーの数値計算の慣習と逆ってことね
新興で後者採用のFortran系の言語はJuliaくらいしかないのでそっちに慣れてるオッサンならjuliaの方が受け入れやすいと想う
2021/03/21(日) 11:51:31.81ID:ECrDs+gQ
Pythonも不便ということはないよ
生Pythonで配列扱うmemoryviewやctvpesにちゃんと'F'フラグ容易されてるし
numpyももちろんそうで、FortranコードをPython関数として簡便コンパイルするf2py.pyもある
自身をコンパイルする為だけど、もちろんユーザーも使える
生Pythonで配列扱うmemoryviewやctvpesにちゃんと'F'フラグ容易されてるし
numpyももちろんそうで、FortranコードをPython関数として簡便コンパイルするf2py.pyもある
自身をコンパイルする為だけど、もちろんユーザーも使える
2021/03/21(日) 11:59:02.49ID:Duyg5pmm
numpy入れるとコマンドラインからf2py直接呼べるようになってるね
比較的小さいスクリプトだけど、これこそがnumpyの本体
比較的小さいスクリプトだけど、これこそがnumpyの本体
2021/03/21(日) 13:02:14.02ID:ba25SXqE
超初心者スレでそのネタを書く?
マウンティングが目的?
マウンティングが目的?
2021/03/21(日) 13:16:37.33ID:Duyg5pmm
PythonとJulia比べるならそこの違いだろうよ
Pythonでよろしい、潰しも効くし
Pythonでよろしい、潰しも効くし
2021/03/21(日) 13:20:42.89ID:M5Jy6lC/
pandasで時系列データを集計やソートしたりするのですが
df = pd.DataFrame([{'p':1,'at':日付オブジェクト1},{'p':3,'at':日付オブジェクト2},,,])
時系列データフレームとして扱うためにインデックスを設定
df2 = df.set_index['at']
df2.resample('H').sum()
で無事、時系列であれこれできました
で、これをsqlite3にappendしようとしたとき
このインデックスが時系列のままsqliteにappendすればいいのか
時系列は'at'カラムに移動させてからsqliteにappendすればいいのか迷っています
ぶっちゃけどちらでもいいとは思いますが
公開されている統計データなどをみていると大抵は、(インデックスは無しか連番で)カラムに日付データが入っているので
そういう慣習でもあるのかが気になります
df = pd.DataFrame([{'p':1,'at':日付オブジェクト1},{'p':3,'at':日付オブジェクト2},,,])
時系列データフレームとして扱うためにインデックスを設定
df2 = df.set_index['at']
df2.resample('H').sum()
で無事、時系列であれこれできました
で、これをsqlite3にappendしようとしたとき
このインデックスが時系列のままsqliteにappendすればいいのか
時系列は'at'カラムに移動させてからsqliteにappendすればいいのか迷っています
ぶっちゃけどちらでもいいとは思いますが
公開されている統計データなどをみていると大抵は、(インデックスは無しか連番で)カラムに日付データが入っているので
そういう慣習でもあるのかが気になります
2021/03/21(日) 13:38:24.45ID:11DwdO6F
55デフォルトの名無しさん
2021/03/21(日) 13:49:42.36ID:c1Fm1qtl 質問者はrangeをlistかtupleと同一視していると思われたから、どちらでも無い別種のオブジェクトだと教えたまでだが問題あったか?
(メモリアロケーション云々は何故rangeがlistを返さないかの説明に過ぎない)
いきなり__repr__の実装に言及しても訳分からんだろ
(メモリアロケーション云々は何故rangeがlistを返さないかの説明に過ぎない)
いきなり__repr__の実装に言及しても訳分からんだろ
2021/03/21(日) 13:52:10.61ID:b+/7pFI3
0 1 2 と表示される方法を知りたかったのかも知れない。
2021/03/21(日) 14:24:12.67ID:HtK2VIhJ
>>55
見苦しい言い訳だね〜
それなら「rangeはlistとは違うから」とでも答えておけばいいだけだろ
必死に調べて__repr__見つけたのかなw
でも間違ってるしreprの実装に言及しないと説明できないと思ってる時点で分かってないから
超初心者にドヤ顔で間違った答えを教えたりRubyキチをバカにする前に公式チュートリアルくらいは読めよな
見苦しい言い訳だね〜
それなら「rangeはlistとは違うから」とでも答えておけばいいだけだろ
必死に調べて__repr__見つけたのかなw
でも間違ってるしreprの実装に言及しないと説明できないと思ってる時点で分かってないから
超初心者にドヤ顔で間違った答えを教えたりRubyキチをバカにする前に公式チュートリアルくらいは読めよな
58デフォルトの名無しさん
2021/03/21(日) 14:33:51.63ID:c1Fm1qtl2021/03/21(日) 15:01:23.60ID:rOmbGrT+
はいはい。病院でお医者さんにはなしてあげてね
2021/03/21(日) 15:08:07.65ID:ba25SXqE
つまらん煽りは他所でやってくれ
と、俺が言ってみる
と、俺が言ってみる
2021/03/21(日) 17:19:57.60ID:LD2dmgE2
>>58
print関数は引数のオブジェクトの文字列表現を出力する関数で
range(3)の文字列表現は'0 1 2'じゃなく'range(0, 3)'
なのでprint(range(3))を実行するとrange(0, 3)と表示される
ちなみにlistなら'[0, 1, 2]'みたいな表現になるから'0 1 2'と表示したいなら自分で加工する必要がある
例えばprint(' '.join(str(x) for x in range(3)))
print関数は引数のオブジェクトの文字列表現を出力する関数で
range(3)の文字列表現は'0 1 2'じゃなく'range(0, 3)'
なのでprint(range(3))を実行するとrange(0, 3)と表示される
ちなみにlistなら'[0, 1, 2]'みたいな表現になるから'0 1 2'と表示したいなら自分で加工する必要がある
例えばprint(' '.join(str(x) for x in range(3)))
62デフォルトの名無しさん
2021/03/21(日) 17:51:46.12ID:sFWHtMDC >>> print(*range(3))
0 1 2
0 1 2
2021/03/21(日) 19:05:58.83ID:7CdIp7EP
>>62
優勝!
優勝!
2021/03/21(日) 19:14:50.12
処理Aが同じで
無限ループしたいときと、任意回数ループしたいときを分けたいんだけど
n = 10 if 条件 else 99999999
i=0
while i < n:
_print('処理A')
_time.sleep(1)
_i += 1
無限ではないにしろこれでいいんだけど
n=99999999がなんかかっこ悪い・・
別の書き方ありませんか
無限ループしたいときと、任意回数ループしたいときを分けたいんだけど
n = 10 if 条件 else 99999999
i=0
while i < n:
_print('処理A')
_time.sleep(1)
_i += 1
無限ではないにしろこれでいいんだけど
n=99999999がなんかかっこ悪い・・
別の書き方ありませんか
6564
2021/03/21(日) 19:22:48.42 自己解決・・かどうかわからないけど
でいけた
でも
for i in range(float('inf')):
は無理だった・・
でいけた
でも
for i in range(float('inf')):
は無理だった・・
2021/03/21(日) 19:30:08.83ID:g0m1T9az
n = 10
a = 1 if 条件 else 0
i = 0
while i < n
_print('処理A')
_time.sleep(1)
_i += a
a = 1 if 条件 else 0
i = 0
while i < n
_print('処理A')
_time.sleep(1)
_i += a
2021/03/21(日) 19:46:13.27ID:Duyg5pmm
[*iter]
68デフォルトの名無しさん
2021/03/21(日) 20:27:26.58ID:c1Fm1qtl2021/03/21(日) 20:28:41.92
2021/03/21(日) 20:41:49.95ID:Duyg5pmm
numberを継承したoo.__lt__にreturn falseをブチ込む
71デフォルトの名無しさん
2021/03/21(日) 22:32:14.97ID:OQZaxlrU よろしくお願いいたします。
aList = [[1,2]for j in range(3)]
aList = [[1,2]]*3
2つとも[[1, 2], [1, 2], [1, 2]]の多重リストが作られたのですが、なぜ下の文で多重リストができるのか教えてほしいです。
aList = [[1,2]for j in range(3)]
aList = [[1,2]]*3
2つとも[[1, 2], [1, 2], [1, 2]]の多重リストが作られたのですが、なぜ下の文で多重リストができるのか教えてほしいです。
2021/03/21(日) 22:53:21.54ID:mInw6BRh
>>68
>いきなり__repr__の実装に言及しても訳分からんだろ
__repr__の実装に言及する必要なんてない
__repr__が果たしてる役割を超初心者にも分かる言葉で説明すればいいだけ
それができないと感じるのは自分がその事柄を理解してないから
理解してれば「オブジェクトだから」とか「アロケーションされてないから」みたいな嘘を教えたりしない
>いきなり__repr__の実装に言及しても訳分からんだろ
__repr__の実装に言及する必要なんてない
__repr__が果たしてる役割を超初心者にも分かる言葉で説明すればいいだけ
それができないと感じるのは自分がその事柄を理解してないから
理解してれば「オブジェクトだから」とか「アロケーションされてないから」みたいな嘘を教えたりしない
2021/03/21(日) 22:56:09.50ID:mInw6BRh
文字列表現がどう決まるのか、どういうついでに言っておくとprint()で使われるのは__repr__じゃなくまず__str__な
__str__が定義されてない場合だけfallbackして__repr__が使われる
公式チュートリアルに書いてるので勉強してね
__str__が定義されてない場合だけfallbackして__repr__が使われる
公式チュートリアルに書いてるので勉強してね
2021/03/21(日) 23:00:23.62ID:mqfsmAhv
75デフォルトの名無しさん
2021/03/21(日) 23:09:36.59ID:OQZaxlrU >>74
ありがとうございました!
気にせず使っていきます
ありがとうございました!
気にせず使っていきます
2021/03/21(日) 23:22:30.25ID:ztnIU7M3
2021/03/22(月) 04:49:29.76ID:FrFq7CFg
>>71
FAQ中のFAQだから余計な世話かもしれんが、見た目が同じでも同じリストでは無いことに気をつけてね
リストの中身は要素への参照だから、それを複製した後者は同じオブジェクトを3回参照してる(cでいえば、同じポインタx3)
見た目が同じオブジェクトを判別するためにid関数が用意されているから試してみて
前者をl1, 後者をl2として
map(id, l1), map(id, l2)
前者のidは全て同じ、後者は新たに作った[1,2]を3つ並べてるので3つとも違うはず
参照の概念をややこしいと思いlistを避けたいと思うのなら、型の同じ要素を入れる場合は常にarrayを使う事を推奨する(標準型の範囲では)
具体的な値の配列なので、型チェックも入り、効率もよい
FAQ中のFAQだから余計な世話かもしれんが、見た目が同じでも同じリストでは無いことに気をつけてね
リストの中身は要素への参照だから、それを複製した後者は同じオブジェクトを3回参照してる(cでいえば、同じポインタx3)
見た目が同じオブジェクトを判別するためにid関数が用意されているから試してみて
前者をl1, 後者をl2として
map(id, l1), map(id, l2)
前者のidは全て同じ、後者は新たに作った[1,2]を3つ並べてるので3つとも違うはず
参照の概念をややこしいと思いlistを避けたいと思うのなら、型の同じ要素を入れる場合は常にarrayを使う事を推奨する(標準型の範囲では)
具体的な値の配列なので、型チェックも入り、効率もよい
2021/03/22(月) 05:17:24.56ID:FrFq7CFg
i for rangeイディオムは不要な添字iが気持ち悪いよな…
ロジック通りに、ビルトイン関数のみでミニマルにやるには
memoryview([1, 2]).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
でいいだろう
tolistはリスト表示するためなのでお好みで
数字が小さいからbyte配列にしたけど、普段使いならlongにしといた方が気楽かも
ロジック通りに、ビルトイン関数のみでミニマルにやるには
memoryview([1, 2]).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
でいいだろう
tolistはリスト表示するためなのでお好みで
数字が小さいからbyte配列にしたけど、普段使いならlongにしといた方が気楽かも
2021/03/22(月) 05:25:09.41ID:FrFq7CFg
byteって言ってるのにbyte抜けてたごめん
memoryview(bytes([1, 2])).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
です、試してないけど多分動くだろ
実用にはbytesはarray('l', seq)へ差し替えてね
memoryview(bytes([1, 2])).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
です、試してないけど多分動くだろ
実用にはbytesはarray('l', seq)へ差し替えてね
2021/03/22(月) 12:40:31.58ID:uAAKNqiZ
while True:
_a = 1
_break
print(a)
インデント下がって定義した変数をwhileの外でも使うのは普通なのでしょうか
スコープの判断で可読性が落ちるかなと個人的に思ったのですが慣れですかね
_a = 1
_break
print(a)
インデント下がって定義した変数をwhileの外でも使うのは普通なのでしょうか
スコープの判断で可読性が落ちるかなと個人的に思ったのですが慣れですかね
2021/03/22(月) 12:53:03.86ID:bzTgC/HJ
2021/03/22(月) 14:08:43.53ID:Rzf9eLtl
2021/03/22(月) 15:33:16.54ID:uAAKNqiZ
2021/03/22(月) 21:09:47.56ID:cezDTGq+
2021/03/22(月) 21:32:57.72ID:H+rnlZW/
whileTrueって使ったらあかんの?
2021/03/22(月) 21:38:05.40ID:bzTgC/HJ
良くはない、らしい
有能なパイセン談
有能なパイセン談
2021/03/22(月) 21:45:46.85ID:OQmrOVJK
while str:
2021/03/22(月) 21:52:49.95ID:10Qa0fDO
するな
コールバックがあるから
コールバックがあるから
2021/03/22(月) 23:07:52.41ID:g8se3Ggw
Python公式リポジトリ検索してみたらほんと腐るほど見つかって嫌になった。
全部挙げきれないので一例:
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Tools/ccbench/ccbench.py#L163
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/test/test_shlex.py#L265
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L74
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L202
それならまだしもwhile 1:とかもある↓
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/idlelib/hyperparser.py#L240
全部挙げきれないので一例:
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Tools/ccbench/ccbench.py#L163
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/test/test_shlex.py#L265
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L74
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L202
それならまだしもwhile 1:とかもある↓
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/idlelib/hyperparser.py#L240
2021/03/22(月) 23:19:25.97ID:xEZrbDTS
>>85
無限ループ自体が処理によってはCPU負荷が上がったりするし
break条件をミスってると不具合があった時にループから抜けずに変な所でエラーになる可能性も出てくる
だから最初から有限回ループして確実に止まるループ設計の方が安全だよね、っていう考えはある
(まあwhile True breakの方が書きやすい場面も多いけどね)
無限ループ自体が処理によってはCPU負荷が上がったりするし
break条件をミスってると不具合があった時にループから抜けずに変な所でエラーになる可能性も出てくる
だから最初から有限回ループして確実に止まるループ設計の方が安全だよね、っていう考えはある
(まあwhile True breakの方が書きやすい場面も多いけどね)
2021/03/23(火) 00:43:05.32ID:ch/yi3Wo
無限ループは無限ループが必要だから使うのであって、
有限のイテレータのループで書き換えられるときには当然使わないのでは?
有限と無限を同列に並べて比較すること自体がなんか違和感あるけど。
有限のイテレータのループで書き換えられるときには当然使わないのでは?
有限と無限を同列に並べて比較すること自体がなんか違和感あるけど。
2021/03/23(火) 00:48:20.02ID:BKCKGFNi
while自体の処理が重いから使うなってならわかるけどミスったら困るから使うなって、理由になってなくない
使いどころも無視してとにかく使うなって、先人の下手なトラウマが一人歩きしてるだけじゃねーの
使いどころも無視してとにかく使うなって、先人の下手なトラウマが一人歩きしてるだけじゃねーの
2021/03/23(火) 02:55:45.64ID:71b8io/J
まあループの有限性が事前にわかるようならそれを表現するためにwhile 1: 使うのは適切じゃないって話だろ。
実際ループ変数ぽいの使ってなぜか while 1使ってるコードは新人にはよくある。
実際ループ変数ぽいの使ってなぜか while 1使ってるコードは新人にはよくある。
2021/03/23(火) 02:59:15.82ID:QbxOC6mC
>>81
ポンコツかよ
他に無条件ループ作るコンストラクトがあるなら教えてほしいわ
上の方のレスにある9999999決め打ちでもするのか?
他にもハック挙がってるけどどう考えてもwhile True:より筋が悪いよね?
先輩が言ってたから正しい?自分の意見を持とうよ?
ポンコツかよ
他に無条件ループ作るコンストラクトがあるなら教えてほしいわ
上の方のレスにある9999999決め打ちでもするのか?
他にもハック挙がってるけどどう考えてもwhile True:より筋が悪いよね?
先輩が言ってたから正しい?自分の意見を持とうよ?
2021/03/23(火) 03:26:27.50ID:ND3VvCO4
while yes=sir:
2021/03/23(火) 03:33:34.75ID:QbxOC6mC
…と偉そうなこと言った手前、俺の習慣を紹介しておく
while True や1は仕様上そうするのが筋なので、確かに冗長と批判できる
truthyならwhile "comment":でも、while ...:でもよい
何の情報も含まないwhile True/1:よりは良い習慣
後者は…それが思いつかなかった時だな、コメントがbreakの傍に付いている方が合理的なケースもあるので
....は1, 2, 3, ...という一般に認知されている表記なので、trueを表現するtruthy(5シンボルとしては、1/Trueより優れている事は明らかだろう
while True や1は仕様上そうするのが筋なので、確かに冗長と批判できる
truthyならwhile "comment":でも、while ...:でもよい
何の情報も含まないwhile True/1:よりは良い習慣
後者は…それが思いつかなかった時だな、コメントがbreakの傍に付いている方が合理的なケースもあるので
....は1, 2, 3, ...という一般に認知されている表記なので、trueを表現するtruthy(5シンボルとしては、1/Trueより優れている事は明らかだろう
97デフォルトの名無しさん
2021/03/23(火) 03:49:20.93ID:zpYNNqZr >>64
if not cond:
__while True:
____print('処理A')
____time.sleep(1)
for i in range(10):
__print('処理A')
__time.sleep(1)
この部分だけ書けていわれたらこうするわ
if not cond:
__while True:
____print('処理A')
____time.sleep(1)
for i in range(10):
__print('処理A')
__time.sleep(1)
この部分だけ書けていわれたらこうするわ
2021/03/23(火) 06:54:35.77ID:ZYJLDniu
2021/03/23(火) 06:55:42.42ID:ZYJLDniu
>>96
ちょっと何言ってるかわからない
ちょっと何言ってるかわからない
100デフォルトの名無しさん
2021/03/23(火) 10:05:15.95ID:HSGkWRhe GOTO文のように無限ループ文を作れば解決する
101デフォルトの名無しさん
2021/03/23(火) 14:54:00.54ID:CY92qFOb while Trueするのはdo~whileしたい場合
そうじゃないなら書き直したほうがいいかもね
そうじゃないなら書き直したほうがいいかもね
102デフォルトの名無しさん
2021/03/23(火) 15:46:37.69ID:mu30Ep9P ちょっとしたデバッグのときに
lst = [
__{"a":0,"b":1}
__'''
__,{
___"a":2,
___"b":3
__}
__'''
]
シンタックスエラー
'''は#の複数版かと思ったら単なる文字列だったんですね。
こういうときは、ショートカットキーで複数行に#入れたり消したりする人の方が多いのかな
lst = [
__{"a":0,"b":1}
__'''
__,{
___"a":2,
___"b":3
__}
__'''
]
シンタックスエラー
'''は#の複数版かと思ったら単なる文字列だったんですね。
こういうときは、ショートカットキーで複数行に#入れたり消したりする人の方が多いのかな
103デフォルトの名無しさん
2021/03/23(火) 16:21:30.22ID:ch/yi3Wo >>102
さすがにコメントアウトショートカットで出来ないエディタを使うことはないな。
絶対に何も入れちゃいけない環境以外ではVSCodeいれちゃう。
何も入れちゃいけない環境でデバッグしなくちゃいけなくて、
lstに入れるだけいいんだったら、複数バージョンの代入文を作っておいて、if Trueとかでどれを実際に実行するかは決める、ぐらいはやるかなあ。
あとはなるべく改行を入れないで#一つでコメントアウトできるようにするって手も考えるかな。
さすがにコメントアウトショートカットで出来ないエディタを使うことはないな。
絶対に何も入れちゃいけない環境以外ではVSCodeいれちゃう。
何も入れちゃいけない環境でデバッグしなくちゃいけなくて、
lstに入れるだけいいんだったら、複数バージョンの代入文を作っておいて、if Trueとかでどれを実際に実行するかは決める、ぐらいはやるかなあ。
あとはなるべく改行を入れないで#一つでコメントアウトできるようにするって手も考えるかな。
104デフォルトの名無しさん
2021/03/23(火) 17:12:08.45ID:q1xbaFi+ Octaveだと正方行列とその逆行列の乗法で単位行列が得られる。
GNU Octave, version 4.4.1
octave:1> a = ([4,5,7;-4,1,5;-10,3,8])
octave:2> b = inv(a)
octave:3> a * b
ans =
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.00000
でもPython3だと単位行列が得られたのかよく分からない。
これで正しいの?
Python 3.7.3
>>> import numpy as np
>>> a = np.array([[4,6,7],[-4,1,5],[-10,3,8]])
>>> np.linalg.inv(a)
array([[ 0.04666667, 0.18 , -0.15333333],
[ 0.12 , -0.68 , 0.32 ],
[ 0.01333333, 0.48 , -0.18666667]])
>>> b = np.linalg.inv(a)
>>> a @ b
array([[ 1.00000000e+00, -4.44089210e-16, 0.00000000e+00],
[ 2.77555756e-17, 1.00000000e+00, 0.00000000e+00],
[ 1.38777878e-17, 0.00000000e+00, 1.00000000e+00]])
GNU Octave, version 4.4.1
octave:1> a = ([4,5,7;-4,1,5;-10,3,8])
octave:2> b = inv(a)
octave:3> a * b
ans =
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.00000
でもPython3だと単位行列が得られたのかよく分からない。
これで正しいの?
Python 3.7.3
>>> import numpy as np
>>> a = np.array([[4,6,7],[-4,1,5],[-10,3,8]])
>>> np.linalg.inv(a)
array([[ 0.04666667, 0.18 , -0.15333333],
[ 0.12 , -0.68 , 0.32 ],
[ 0.01333333, 0.48 , -0.18666667]])
>>> b = np.linalg.inv(a)
>>> a @ b
array([[ 1.00000000e+00, -4.44089210e-16, 0.00000000e+00],
[ 2.77555756e-17, 1.00000000e+00, 0.00000000e+00],
[ 1.38777878e-17, 0.00000000e+00, 1.00000000e+00]])
105デフォルトの名無しさん
2021/03/23(火) 17:43:46.60ID:SeSscUQI >>101
どうして?
どうして?
106デフォルトの名無しさん
2021/03/23(火) 18:30:46.10ID:f4Z9PwYH107デフォルトの名無しさん
2021/03/23(火) 18:47:26.71ID:WuxMgk/9 行列が違うのはおいといてOctaveもnumpyも基本は浮動小数点数の演算だから丸め誤差などによりピッタリゼロになるとは限らない
Octaveで
format long e
を実行した後に確認すると多分ゼロになってないと思うよ
表示形式でゼロに見えてるだけだと思う
うちの環境だと0.00000じゃなくて-0.00000になる成分あるし
Octaveで
format long e
を実行した後に確認すると多分ゼロになってないと思うよ
表示形式でゼロに見えてるだけだと思う
うちの環境だと0.00000じゃなくて-0.00000になる成分あるし
108デフォルトの名無しさん
2021/03/24(水) 19:57:42.51ID:8oiSJv/j 例えば、Pythonを用いたプログラミングの本を読んでいるとします。
その本の著者のサイトにPythonコードが「.pyファイル」としてダウンロードできるようになっているとします。
ある読者は、普段からIDEではなく、Jupyter Notebookを愛用しているとします。
そのため、この読者は、Jupyter Notebookのセルに著者の「.pyファイル」をロードして、コードを読んだり、変更したり、実行したりしたいと考えています。
この読者はどうすればこれを実現できるのでしょうか?
その本の著者のサイトにPythonコードが「.pyファイル」としてダウンロードできるようになっているとします。
ある読者は、普段からIDEではなく、Jupyter Notebookを愛用しているとします。
そのため、この読者は、Jupyter Notebookのセルに著者の「.pyファイル」をロードして、コードを読んだり、変更したり、実行したりしたいと考えています。
この読者はどうすればこれを実現できるのでしょうか?
109デフォルトの名無しさん
2021/03/24(水) 20:00:25.38ID:jO3PWgho この読者って自分のこと?
110デフォルトの名無しさん
2021/03/24(水) 20:04:40.15ID:QbxZqHqJ111デフォルトの名無しさん
2021/03/24(水) 20:19:50.51ID:8oiSJv/j112デフォルトの名無しさん
2021/03/24(水) 20:23:27.54ID:8oiSJv/j JupyterLab上でグラフを表示するには、
%matplotlib inline
というコマンドをセルに入力して実行しないといけないということで、実際今までそうしてきました。
今日、このコマンドを入れずに、
# %load matplotlibexample.py
import matplotlib.pyplot as plt
import numpy as np
t = np.linspace(-3, 3, 1000)
plt.plot(t, np.exp(-t**2)*np.sin(20*t))
plt.title('sample graph $x(t)=e^{-t^2}\sin(20t)$')
plt.xlabel('t')
plt.ylabel('x')
plt.show()
を実行したところ、ちゃんとノートブック上にグラフが表示されました。
%matplotlib inline
はもう入力しなくてもよくなったのでしょうか?
%matplotlib inline
というコマンドをセルに入力して実行しないといけないということで、実際今までそうしてきました。
今日、このコマンドを入れずに、
# %load matplotlibexample.py
import matplotlib.pyplot as plt
import numpy as np
t = np.linspace(-3, 3, 1000)
plt.plot(t, np.exp(-t**2)*np.sin(20*t))
plt.title('sample graph $x(t)=e^{-t^2}\sin(20t)$')
plt.xlabel('t')
plt.ylabel('x')
plt.show()
を実行したところ、ちゃんとノートブック上にグラフが表示されました。
%matplotlib inline
はもう入力しなくてもよくなったのでしょうか?
113デフォルトの名無しさん
2021/03/24(水) 20:48:55.22ID:SWND22zP >>110
横からだけどセル。
notebook用語なのでpython以外のカーネルにしてもセル。
実行単位なんだけどあるセルで算出してる結果に依存してる別のセルを実行する際に依存先のセル未実行だとエラーとかいろいろめんどい。
一世を風靡したスライド
I Don't Like Notebooks
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/mobilepresent?slide=id.g362da58057_0_1
2018年のjupyterconでの発表でした
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/68282.html
当時の反応(英語)
https://www.reddit.com/r/Python/comments/9aoi35/i_dont_like_notebooks_joel_grus_jupytercon_2018/
横からだけどセル。
notebook用語なのでpython以外のカーネルにしてもセル。
実行単位なんだけどあるセルで算出してる結果に依存してる別のセルを実行する際に依存先のセル未実行だとエラーとかいろいろめんどい。
一世を風靡したスライド
I Don't Like Notebooks
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/mobilepresent?slide=id.g362da58057_0_1
2018年のjupyterconでの発表でした
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/68282.html
当時の反応(英語)
https://www.reddit.com/r/Python/comments/9aoi35/i_dont_like_notebooks_joel_grus_jupytercon_2018/
114デフォルトの名無しさん
2021/03/25(木) 01:57:39.05ID:5Yw77v05 もしかして.pyファイルをjupyter notebookで実行する方法聞いてるだけか
何でそんな長々と意味不明なこと書いてるの?
何でそんな長々と意味不明なこと書いてるの?
115デフォルトの名無しさん
2021/03/25(木) 02:19:54.21ID:Lv/3T6MK 回りくどくて草
116デフォルトの名無しさん
2021/03/25(木) 04:13:00.19ID:TW8zAfP8 統失の特徴
117デフォルトの名無しさん
2021/03/25(木) 08:02:26.68ID:np4EPf1w コピペで大体実行できるかな
別にサクラエディタでもVSCodeでもいいから.pyファイルを開きコピペ
ただしsjisとUTF-8とか
あとインデントに気を付ける
コピペでインデントがずれて動かないことがあるので
そこは丹念に直す
別にサクラエディタでもVSCodeでもいいから.pyファイルを開きコピペ
ただしsjisとUTF-8とか
あとインデントに気を付ける
コピペでインデントがずれて動かないことがあるので
そこは丹念に直す
118デフォルトの名無しさん
2021/03/25(木) 08:21:24.72ID:ITDRmOAn tkinterで
200*100じゃなくて
200x100と小文字のエックスするの何故なのか教えてほしいです……
200*100じゃなくて
200x100と小文字のエックスするの何故なのか教えてほしいです……
119デフォルトの名無しさん
2021/03/25(木) 08:39:22.55ID:3ixfSSYA 乗算じゃなくて
ピクセルで領域指定だからジャネーノ
とエスパーしてみる
ピクセルで領域指定だからジャネーノ
とエスパーしてみる
120デフォルトの名無しさん
2021/03/25(木) 14:26:26.89ID:B8lnjfbN 以下のコードを実行すると、グラフがf(x) = 0のグラフになってしまい、意図したものと異なってしまいます。
どう修正すれば意図通りの結果が得られますでしょうか?
ベクトル化についてよく分かっていないので、そのあたりがあやしいと思っています。
import numpy as np
import matplotlib.pyplot as plt
PI = np.pi
def func_x(t):
if 0 <= t:
return np.sin(t)
else:
return 0
npfunc_x = np.vectorize(func_x)
t = np.linspace(-PI, PI, 10000)
x = npfunc_x(t)
plt.plot(t, x)
plt.show()
どう修正すれば意図通りの結果が得られますでしょうか?
ベクトル化についてよく分かっていないので、そのあたりがあやしいと思っています。
import numpy as np
import matplotlib.pyplot as plt
PI = np.pi
def func_x(t):
if 0 <= t:
return np.sin(t)
else:
return 0
npfunc_x = np.vectorize(func_x)
t = np.linspace(-PI, PI, 10000)
x = npfunc_x(t)
plt.plot(t, x)
plt.show()
121デフォルトの名無しさん
2021/03/25(木) 14:28:00.54ID:Nsykn7+b122デフォルトの名無しさん
2021/03/25(木) 14:33:03.93ID:B8lnjfbN >>121
xは全部0の配列になっています。
xは全部0の配列になっています。
123デフォルトの名無しさん
2021/03/25(木) 14:37:18.67ID:3ixfSSYA 0ベクトルにナニかけても0やぞ
算数やりなおせ
算数やりなおせ
124デフォルトの名無しさん
2021/03/25(木) 14:53:03.27ID:B8lnjfbN125デフォルトの名無しさん
2021/03/25(木) 14:57:17.24ID:8wVz7C90 出力は一番目の値で決定されるから、return 0.0とするかotypeを指定しろ
不等号逆向きにすると動作するけど、そのコードが動作しないのは出力が整数型に固定されて切り捨てでゼロ扱いされるから
不等号逆向きにすると動作するけど、そのコードが動作しないのは出力が整数型に固定されて切り捨てでゼロ扱いされるから
126デフォルトの名無しさん
2021/03/25(木) 15:03:02.76ID:B8lnjfbN127デフォルトの名無しさん
2021/03/25(木) 15:26:22.39ID:vHK7Evso 今まではプログラミングの経験はなく、
教養としてpythonを勉強し始めました。
ただ仕事で使う機会もなく、いまいち勉強に身が入らない感じです。
皆さんはどうされているんですか?
ここのスレだと仕事で使う人が多いんでしょうか。
教養としてpythonを勉強し始めました。
ただ仕事で使う機会もなく、いまいち勉強に身が入らない感じです。
皆さんはどうされているんですか?
ここのスレだと仕事で使う人が多いんでしょうか。
128デフォルトの名無しさん
2021/03/25(木) 15:39:56.92ID:3ixfSSYA129デフォルトの名無しさん
2021/03/25(木) 15:43:34.06ID:3ixfSSYA130デフォルトの名無しさん
2021/03/25(木) 16:49:02.78ID:Q40pz2EP131デフォルトの名無しさん
2021/03/25(木) 16:54:43.80ID:5Yw77v05132デフォルトの名無しさん
2021/03/25(木) 17:24:40.64ID:XNAp3E0g >>127
相場売買のAIを作ろうと思ってます
相場売買のAIを作ろうと思ってます
133デフォルトの名無しさん
2021/03/25(木) 18:19:37.27ID:3ixfSSYA >>132
Pythonのノウハウよりだいじなことをおしえてやろう
相場をヲチって
よしんば正確に予想できるアルゴリズムが完成したとしても
自分が混ざった時点でそのぱーふぇくと理論は崩れる
と
覚えとけよw
Pythonのノウハウよりだいじなことをおしえてやろう
相場をヲチって
よしんば正確に予想できるアルゴリズムが完成したとしても
自分が混ざった時点でそのぱーふぇくと理論は崩れる
と
覚えとけよw
134デフォルトの名無しさん
2021/03/25(木) 18:21:37.93ID:GJzYUDdl 自分もスクレイピングやファイルの分類
ほぼエロ目的
だからそれのために情報を得るしそれに応用できないテクニックや知識は全部無駄
プログラミングを仕事にしてるわけでもないからpython自体の勉強なんかしないしやる気も出るわけない
ほぼエロ目的
だからそれのために情報を得るしそれに応用できないテクニックや知識は全部無駄
プログラミングを仕事にしてるわけでもないからpython自体の勉強なんかしないしやる気も出るわけない
135127
2021/03/25(木) 18:43:38.10ID:2VOe+7hV やっぱり、そうなんですよね。
一通り基礎は理解したものの、その後のモチベーションが…
ヒューマンリソースマシーンのような、
プログラミング的なゲームでもやっておいた方が良い気もしてきました(笑)
一通り基礎は理解したものの、その後のモチベーションが…
ヒューマンリソースマシーンのような、
プログラミング的なゲームでもやっておいた方が良い気もしてきました(笑)
136デフォルトの名無しさん
2021/03/25(木) 20:05:46.21ID:nCOBs6jg モチベーション無いなら無理に続けなくても
137デフォルトの名無しさん
2021/03/25(木) 20:10:08.44ID:KmpgWBAt ヒューマンリソースマシンはあれアセンブラだぞ
使える命令とかマシン語まんま
実用的なプログラムの勉強にはならない
頭の体操だね
使える命令とかマシン語まんま
実用的なプログラムの勉強にはならない
頭の体操だね
138デフォルトの名無しさん
2021/03/25(木) 20:55:15.36ID:2VOe+7hV139デフォルトの名無しさん
2021/03/25(木) 21:49:59.94ID:KmpgWBAt >>138
カルネージハートですね。
https://ja.m.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%BC%E3%83%88
本家はもう10年前だけど外人製のフォロワーゲームとか探せばある
カルネージハートですね。
https://ja.m.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%BC%E3%83%88
本家はもう10年前だけど外人製のフォロワーゲームとか探せばある
140デフォルトの名無しさん
2021/03/26(金) 00:00:46.47ID:0ubO4ros こういうやつか
https://www.gamespark.jp/article/2019/06/08/90338.html
> その後、実際に本作の開発を開始する際、ゲームプレイの面でリサーチをし、2つのシステムがとても気に入りました。
> 『ファイナルファンタジーXII』のガンビットシステムと『カルネージハート』のプログラミングインターフェースです。
> 私の本作における目標は、ガンビットのシンプルさと『カルネージハート』の戦術的奥深さの間の妥協点を見つけることでした。
https://www.gamespark.jp/article/2019/06/08/90338.html
> その後、実際に本作の開発を開始する際、ゲームプレイの面でリサーチをし、2つのシステムがとても気に入りました。
> 『ファイナルファンタジーXII』のガンビットシステムと『カルネージハート』のプログラミングインターフェースです。
> 私の本作における目標は、ガンビットのシンプルさと『カルネージハート』の戦術的奥深さの間の妥協点を見つけることでした。
141デフォルトの名無しさん
2021/03/26(金) 19:02:57.03ID:v+/VCeWZ >>127
金盾へのハッキングが面白くて、熱い
金盾へのハッキングが面白くて、熱い
142デフォルトの名無しさん
2021/03/26(金) 22:05:49.82ID:ndqtKa4D >>141
そんなもんひたすらそっち系検索エンジンに特定のクエリ送り続けるだけやん
そんなもんひたすらそっち系検索エンジンに特定のクエリ送り続けるだけやん
143デフォルトの名無しさん
2021/03/27(土) 11:59:14.14ID:tPWOTzAz 以下の辞書内包表記がエラーになります。
どうすればいいでしょうか?
import math
def normalize_coefficients(n, D):
return {(s, i):0.5*math.sqrt(n/s) if s != 0 else (s, i):math.sqrt(n) for (s, i) in D.keys()}
どうすればいいでしょうか?
import math
def normalize_coefficients(n, D):
return {(s, i):0.5*math.sqrt(n/s) if s != 0 else (s, i):math.sqrt(n) for (s, i) in D.keys()}
144デフォルトの名無しさん
2021/03/27(土) 14:43:44.30ID:cpUHfD3R エラーに間違ってるとこを示す矢印っぽいのが出てるでしょ
elseの後の`(s, i):`を削除して
elseの後の`(s, i):`を削除して
145デフォルトの名無しさん
2021/03/27(土) 16:38:19.00ID:56gcLvkb >>143
この手の質問はエラーメッセージと、本当はどんな動作を期待していたのか書いた方が答えてもらいやすい
この手の質問はエラーメッセージと、本当はどんな動作を期待していたのか書いた方が答えてもらいやすい
146デフォルトの名無しさん
2021/03/27(土) 19:35:40.12ID:sxUgZiKM 面倒な質問だと「窓から投げ捨てろ」と言う
147デフォルトの名無しさん
2021/03/28(日) 02:30:55.99ID:AdvYUXyR 普通Dとnに何入れたらそうなったかくらいは書くだろ。
148デフォルトの名無しさん
2021/03/28(日) 02:59:44.68ID:XX3dha92 urllib.parse.urlencode()で辞書を渡す場合、値にリストを含む場合の変換結果について教えてください。
例えば以下のようなリスト値を含む辞書データを与えた場合
{'a': [123,456]}
a=[123, 456]
という風にリスト内の値の区切りに空白が入った文字列としてエンコードされてしまいます。(123, と456の間)
(実際には記号や空白は%xxや+でエンコードされます)
a=[123,456]
のようにリスト内の値の区切りに空白を含めない文字列としてエンコードする方法はありますか?
例えば以下のようなリスト値を含む辞書データを与えた場合
{'a': [123,456]}
a=[123, 456]
という風にリスト内の値の区切りに空白が入った文字列としてエンコードされてしまいます。(123, と456の間)
(実際には記号や空白は%xxや+でエンコードされます)
a=[123,456]
のようにリスト内の値の区切りに空白を含めない文字列としてエンコードする方法はありますか?
149デフォルトの名無しさん
2021/03/28(日) 04:32:58.94ID:3NgZ3Zxf bytesでないdictのvalueはstrが呼ばれてstrにされる実装だから単純な方法では無理やな
https://github.com/python/cpython/blob/master/Lib/urllib/parse.py#L950
* 文字列化したlistの空白を消すquote_plusを作ってurlencodeのquote_viaに渡す
* dictのvalueにlistでなく文字列を渡す
* dictのvalueに渡すlistを、空白が入らないように文字列化する__str__を実装したクラスでラップする
どれかをどうぞ
https://github.com/python/cpython/blob/master/Lib/urllib/parse.py#L950
* 文字列化したlistの空白を消すquote_plusを作ってurlencodeのquote_viaに渡す
* dictのvalueにlistでなく文字列を渡す
* dictのvalueに渡すlistを、空白が入らないように文字列化する__str__を実装したクラスでラップする
どれかをどうぞ
150デフォルトの名無しさん
2021/03/28(日) 06:10:39.39ID:XX3dha92 ありがとうございます。
やはり単純にはいかないんですね。
素直にリストではなく、初めから文字列で格納するようにします。
やはり単純にはいかないんですね。
素直にリストではなく、初めから文字列で格納するようにします。
151デフォルトの名無しさん
2021/03/28(日) 20:49:47.97ID:JC3QvQ/6 すっごいしょーもない質問なんですけど
0から始めるならおすすめの初心者向けサイトってありますか?
0から始めるならおすすめの初心者向けサイトってありますか?
152デフォルトの名無しさん
2021/03/28(日) 21:02:38.12ID:2n/niDAm うちProgateでhtmlとかPythonとか自分が使いそうなやつ1ヶ月くらいやってあとはひたすらググって必要なやつだけかいつばんでいった
phpとかもやったけど結局使ってない
phpとかもやったけど結局使ってない
153デフォルトの名無しさん
2021/03/28(日) 21:45:28.92ID:AdvYUXyR サイト見てやるくらいならオライリーの初めてのpythonでも買って全部読む方がよっぽどマシだぞ
154デフォルトの名無しさん
2021/03/28(日) 21:58:48.98ID:zZ3ybzIq いきなり本なんか買ったって続かないよ
サイトから入るのはいいと思うけどね
サイトから入るのはいいと思うけどね
155デフォルトの名無しさん
2021/03/28(日) 22:01:08.75ID:Wfs5bmxs 俺はやりたいことが決まってからpythonやりだしたのと
別の言語はできたから一通りfizzbuzzとか書いてから
必要なライブラリ検索して作るっていう工程を繰り返したけど
いきなり無からやり出すんだったら本あったほうがいいと思う
別の言語はできたから一通りfizzbuzzとか書いてから
必要なライブラリ検索して作るっていう工程を繰り返したけど
いきなり無からやり出すんだったら本あったほうがいいと思う
156デフォルトの名無しさん
2021/03/29(月) 01:58:30.08ID:WE/JZmPT ありがとうございます。本買うことにします。
157デフォルトの名無しさん
2021/03/29(月) 12:17:33.31ID:np5gG6ll 初めてのPythonはGoogleブックスで150ページぐらい読めるから、買う前に目を通してみて解るなら購入したらいいよ
俺にはとてもゼロから始める人に勧めるものとは思えない
俺にはとてもゼロから始める人に勧めるものとは思えない
158デフォルトの名無しさん
2021/03/30(火) 16:15:46.49ID:/x/CBTP/ Python で連鎖律を解きたいです。
微分には「SymPy」といったライブラリが適していると、解説サイトにありました。
y = u^3
u = x^3 + 2x^2 + 3x + 4
この y の微分を求めたいです。
上記の答えは、
3(x^3 + 2x^2 + 3x + 4)^2 (3x^2 + 4x + 3)
になるそうなんですが、うまくゆきません。
以下に試したコードを書きます。
diff((x**3 + 2*x**2 + 3*x + 4)**3)
→ ×
a = diff((u**3) * (x**3 + 2*x**2 + 3*x + 4), u, x)
a.subs(u, x**3 + 2*x**2 + 3*x + 4)
→ ×
どなたかお知恵をお貸しください。よろしくお願いします<(_ _)>
微分には「SymPy」といったライブラリが適していると、解説サイトにありました。
y = u^3
u = x^3 + 2x^2 + 3x + 4
この y の微分を求めたいです。
上記の答えは、
3(x^3 + 2x^2 + 3x + 4)^2 (3x^2 + 4x + 3)
になるそうなんですが、うまくゆきません。
以下に試したコードを書きます。
diff((x**3 + 2*x**2 + 3*x + 4)**3)
→ ×
a = diff((u**3) * (x**3 + 2*x**2 + 3*x + 4), u, x)
a.subs(u, x**3 + 2*x**2 + 3*x + 4)
→ ×
どなたかお知恵をお貸しください。よろしくお願いします<(_ _)>
159デフォルトの名無しさん
2021/03/30(火) 17:26:28.39ID:jfNjkEti 以下を順番に実行したら動いたよ
import sympy
x = sympy.Symbol('x')
sympy.diff((x**3 + 2 * ...略) ** 3)
import sympy
x = sympy.Symbol('x')
sympy.diff((x**3 + 2 * ...略) ** 3)
160デフォルトの名無しさん
2021/03/30(火) 17:32:11.53ID:2VQXF/Ug u, x, y = sympy.Symbols('u x y')
162デフォルトの名無しさん
2021/03/31(水) 10:44:14.63ID:TYV185HC int型のように振る舞う
小数を加減算すると四捨五入した整数を加減算する
足し算して最大値を超える場合最大値になる
引き算してマイナスになる場合0になる
という独自の型を作りたいのですがどうすればいいのでしょうか?
小数を加減算すると四捨五入した整数を加減算する
足し算して最大値を超える場合最大値になる
引き算してマイナスになる場合0になる
という独自の型を作りたいのですがどうすればいいのでしょうか?
163デフォルトの名無しさん
2021/03/31(水) 10:54:12.36ID:1+1U+2+S 車輪の発明の仕方は知らんのぉ
164デフォルトの名無しさん
2021/03/31(水) 11:58:37.41ID:cYN7hqzq まぁaddとかを自力で実装すればできないでもないが…
165デフォルトの名無しさん
2021/03/31(水) 12:28:49.77ID:qt7DVuKB int継承して四則演算をオーバーライド
166デフォルトの名無しさん
2021/03/31(水) 12:31:16.92ID:33niRBMd167デフォルトの名無しさん
2021/03/31(水) 12:38:38.39ID:1K4SHGhs >>162
自分で試した内容と、どこで詰まってるのかくらいは書けよ
自分で試した内容と、どこで詰まってるのかくらいは書けよ
168デフォルトの名無しさん
2021/03/31(水) 13:27:07.97ID:TYV185HC >>165,167
そういうことをやればいいということはなんとなくわかってるんです
「python int 継承」で検索もしました
でも検索でヒットする記事じゃやり方がわからないので
それの具体的なやり方をコードで教えてほしいわけです
あと具体的にやりたいのはこういうことです
a = n(5,100) #実体化のときに初期値と最大値を設定
print(a) #5と表示
a += 5.1
print(a) #10と表示
a += 999
print(a) #100と表示
そういうことをやればいいということはなんとなくわかってるんです
「python int 継承」で検索もしました
でも検索でヒットする記事じゃやり方がわからないので
それの具体的なやり方をコードで教えてほしいわけです
あと具体的にやりたいのはこういうことです
a = n(5,100) #実体化のときに初期値と最大値を設定
print(a) #5と表示
a += 5.1
print(a) #10と表示
a += 999
print(a) #100と表示
169デフォルトの名無しさん
2021/03/31(水) 15:25:15.94ID:Vc5hrOQS >>168
class Foo(int):
__def __add__(self, other):
____return self.__class__(int(self) + other)
続きは「operator overloading in python」で検索
class Foo(int):
__def __add__(self, other):
____return self.__class__(int(self) + other)
続きは「operator overloading in python」で検索
171デフォルトの名無しさん
2021/03/31(水) 17:40:42.81ID:kvIfnSeV172デフォルトの名無しさん
2021/03/31(水) 18:37:46.05ID:TYV185HC 仕様は完璧には理解できなかったけど
とりあえず想定通り動いてくれるものができました
https://pastebin.com/DS9C8zWT
pass:del(削除用パスだと思ったら閲覧用パスだった)
>>169 他回答してくれた皆さん
ありがとうございました
とりあえず想定通り動いてくれるものができました
https://pastebin.com/DS9C8zWT
pass:del(削除用パスだと思ったら閲覧用パスだった)
>>169 他回答してくれた皆さん
ありがとうございました
173デフォルトの名無しさん
2021/03/31(水) 23:49:18.64ID:Vc5hrOQS174デフォルトの名無しさん
2021/04/01(木) 15:18:01.88ID:9j9uUZcG 初pythonです。
クラス変数なるものを知り、こりゃすべて__init__の中でインスタンス変数にしないと危険だなと思いました。
しかし世のサンプルを見ると、ほとんどがクラス変数となっています。
Webサービスのジョブのクラスのコードでもクラス変数になっていて、これでちゃんと動くのか不安に思っています。
サンプルは自分で考えてスコープ変えろよって言うのが前提なのでしょうか。
初心者過ぎてばかげた質問かもしれませんが、ご意見いただけたらと思います。
クラス変数なるものを知り、こりゃすべて__init__の中でインスタンス変数にしないと危険だなと思いました。
しかし世のサンプルを見ると、ほとんどがクラス変数となっています。
Webサービスのジョブのクラスのコードでもクラス変数になっていて、これでちゃんと動くのか不安に思っています。
サンプルは自分で考えてスコープ変えろよって言うのが前提なのでしょうか。
初心者過ぎてばかげた質問かもしれませんが、ご意見いただけたらと思います。
175デフォルトの名無しさん
2021/04/01(木) 16:27:57.76ID:z+kCaEcE >>174
必要なものしかクラス変数にはなってないと思うよ。例を見せて
必要なものしかクラス変数にはなってないと思うよ。例を見せて
176デフォルトの名無しさん
2021/04/01(木) 19:17:31.45ID:sxNAMQCC インスタンス変数によるクラス変数の隠蔽について質問です
以下のコードにおいて、出力が21,19,0となるのは、
21や19の代入時にインスタンス変数ageが生成されて、クラス変数のageが隠蔽されたからという理解であってますか?
class person():
age = 0
taro = person()
taro.age = 21
jiro = person()
jiro.age = 19
print("{p.age}, ".format(p=taro))
print("{p.age}, ".format(p=jiro))
print("{p.age}, ".format(p=person))
以下のコードにおいて、出力が21,19,0となるのは、
21や19の代入時にインスタンス変数ageが生成されて、クラス変数のageが隠蔽されたからという理解であってますか?
class person():
age = 0
taro = person()
taro.age = 21
jiro = person()
jiro.age = 19
print("{p.age}, ".format(p=taro))
print("{p.age}, ".format(p=jiro))
print("{p.age}, ".format(p=person))
177デフォルトの名無しさん
2021/04/01(木) 20:11:50.07ID:qWLYbtkQ >>175
正確にはサンプルと言うよりはチュートリアル系のページです。
個人のページを書くのは気が引けるので、例えば、以下のItemクラスなどです。Webサービスなので同時に呼ばれることは多々あると思うのですが。
https://fastapi.tiangolo.com/ja/tutorial/body/
正確にはサンプルと言うよりはチュートリアル系のページです。
個人のページを書くのは気が引けるので、例えば、以下のItemクラスなどです。Webサービスなので同時に呼ばれることは多々あると思うのですが。
https://fastapi.tiangolo.com/ja/tutorial/body/
178デフォルトの名無しさん
2021/04/01(木) 20:14:55.23ID:1gUayPkm179デフォルトの名無しさん
2021/04/01(木) 20:23:36.06ID:1gUayPkm >>177
pythonだという証拠は
pythonだという証拠は
180デフォルトの名無しさん
2021/04/01(木) 20:34:56.02ID:9j9uUZcG >>179
どういう意味ですか?
どういう意味ですか?
181デフォルトの名無しさん
2021/04/01(木) 21:13:14.81ID:GHLAqcRW pydanticだからじゃん
182デフォルトの名無しさん
2021/04/01(木) 21:30:22.18ID:9j9uUZcG183デフォルトの名無しさん
2021/04/01(木) 21:56:15.69ID:6NDtmvbq 実装方法は違うけど考え方はデータクラスと同じで内部的にインスタンス変数として設定される
184デフォルトの名無しさん
2021/04/01(木) 23:38:19.42ID:9j9uUZcG >>183
ありがとうございます。
さらには__init__をオーバーライドしないように気をつけなきゃいけないんですかね
pythonチャレンジ二日目でちょっとくじけそうです。
今回のことなんかここで聞かなきゃ回答にいけつけなかったし
ありがとうございます。
さらには__init__をオーバーライドしないように気をつけなきゃいけないんですかね
pythonチャレンジ二日目でちょっとくじけそうです。
今回のことなんかここで聞かなきゃ回答にいけつけなかったし
185デフォルトの名無しさん
2021/04/02(金) 01:09:36.62ID:xburNgtP tkinterでメッセージボックス出すときタイトル引数が長くてメッセージ引数が短いと
タイトルバーが省略表示されてしまうんだけど、全部表示するにはどうしたらいいですか?
tkmb.showinfo(validate_inputs_directorypath, "なし")
みたいな場合です
タイトルバーが省略表示されてしまうんだけど、全部表示するにはどうしたらいいですか?
tkmb.showinfo(validate_inputs_directorypath, "なし")
みたいな場合です
186デフォルトの名無しさん
2021/04/02(金) 06:04:51.09ID:Lx2Hy5gS >>185
そんなクソなタイトルつけんなwって話なんじゃ・・・
そんなクソなタイトルつけんなwって話なんじゃ・・・
187デフォルトの名無しさん
2021/04/02(金) 22:50:57.48ID:kA91Mkww pythonはクラス変数がありますが、インスタンス参照がない状態のガベージコレクションはどうなっているのでしょうか?
188デフォルトの名無しさん
2021/04/02(金) 23:37:06.33ID:Lx2Hy5gS ・・・わだいるーぷしてね?
189デフォルトの名無しさん
2021/04/03(土) 00:49:02.53ID:IxwztQHk ガベコレ
190デフォルトの名無しさん
2021/04/03(土) 10:00:16.00ID:trgltwrH 今まで仕事で必死こいてやってたあれこれが、全部秒かからんで終わる
大したPC使ってないのにどんだけすごいんよ。この子
本当やろうと思えばなんでもできんね。これ
大したPC使ってないのにどんだけすごいんよ。この子
本当やろうと思えばなんでもできんね。これ
191デフォルトの名無しさん
2021/04/03(土) 10:03:56.14ID:6fy7iE1I スクリプト言語はどれもそんなかんじやで!
これからもおしあわせに〜
これからもおしあわせに〜
192デフォルトの名無しさん
2021/04/03(土) 16:53:33.46ID:47kYGnI+ すみません、
例えばpngの自動文字起こしアプリをPythonで作った場合、そのアプリを別PCでも使いたい場合、そっちでもpipしなきゃいけないんですか?
配布する場合いろんな部署に配布することになるから大変なんですけど
例えばpngの自動文字起こしアプリをPythonで作った場合、そのアプリを別PCでも使いたい場合、そっちでもpipしなきゃいけないんですか?
配布する場合いろんな部署に配布することになるから大変なんですけど
193デフォルトの名無しさん
2021/04/03(土) 17:11:35.11ID:6fy7iE1I194デフォルトの名無しさん
2021/04/03(土) 17:21:17.78ID:ClFC++3t >>192
そんな事聞くレベルなら配布すんな。メンテのたびに過労死するぞ
そんな事聞くレベルなら配布すんな。メンテのたびに過労死するぞ
195デフォルトの名無しさん
2021/04/03(土) 17:37:22.20ID:6fy7iE1I196デフォルトの名無しさん
2021/04/03(土) 17:44:40.80ID:EzmFJzRe exeに固めるか、webアプリにするか、lambdaにでも置いておくか
197デフォルトの名無しさん
2021/04/03(土) 17:52:00.45ID:DP/gaUVz AWSかGCPだな
Pythonで作ったものを非開発者に配布するのは本当に地獄を見るから絶対にやめたほうがいい
Pythonで作ったものを非開発者に配布するのは本当に地獄を見るから絶対にやめたほうがいい
198デフォルトの名無しさん
2021/04/03(土) 18:59:42.70ID:nkSIG8qO pipを使えないような人達に配布するならインストーラかインストールスクリプトを書く
特定のユーザーがログイン時にインストールスクリプトを自動実行するような仕組みを使えば配布は簡単
Webアプリに比べれば環境が多様だから台数が増えればサポートコストは増える
特定のユーザーがログイン時にインストールスクリプトを自動実行するような仕組みを使えば配布は簡単
Webアプリに比べれば環境が多様だから台数が増えればサポートコストは増える
199デフォルトの名無しさん
2021/04/03(土) 19:03:31.16ID:6fy7iE1I >>198
そのスクリプトなりインストーラ+そのアプデしか走らせられない安全な環境を作るときにチヌわ
そのスクリプトなりインストーラ+そのアプデしか走らせられない安全な環境を作るときにチヌわ
200デフォルトの名無しさん
2021/04/03(土) 19:20:47.90ID:FpevJVBv 最悪pythonディレクトリ丸ごと渡せばいい
python embedというスクラッチがあるから
それに必要なの足していけばいいんじゃ
python embedというスクラッチがあるから
それに必要なの足していけばいいんじゃ
201デフォルトの名無しさん
2021/04/03(土) 19:57:20.93ID:I8FEebuy ' aa a '.strip().strip('aaa')
#' '
おそらく'aa a'の中の半角スペースだけ残るのですがなぜですか
'aaa'には当てはまらないから無視して
'aa a'が残るならわかるんですが
#' '
おそらく'aa a'の中の半角スペースだけ残るのですがなぜですか
'aaa'には当てはまらないから無視して
'aa a'が残るならわかるんですが
202デフォルトの名無しさん
2021/04/03(土) 20:07:12.42ID:gHKAEbqs stripのリファレンスをよく読んでごらん
引数に指定するのは「文字列」ではなく「文字の集合」だ
この違いが分かるかね
引数に指定するのは「文字列」ではなく「文字の集合」だ
この違いが分かるかね
203デフォルトの名無しさん
2021/04/03(土) 20:08:19.64ID:gHKAEbqs 逆に192はpipしなくていいならどうできると思ってたのか気になる
204デフォルトの名無しさん
2021/04/03(土) 20:47:10.86ID:bgVKOhSQ ピッピピッピ
205デフォルトの名無しさん
2021/04/03(土) 21:03:05.22ID:wGJ5LVi5 >>202
なんでそんなに上から目線なのかね
なんでそんなに上から目線なのかね
206デフォルトの名無しさん
2021/04/03(土) 22:52:04.06ID:6fy7iE1I >205横だが
大二病かプ二病かその両方なんだろう
大二病かプ二病かその両方なんだろう
207デフォルトの名無しさん
2021/04/04(日) 02:51:57.29ID:vLoSd5kv208デフォルトの名無しさん
2021/04/04(日) 05:31:24.72ID:DYzzbk5J >>207
exeもファイルアップローダもどっちも個人的には難しい部類なんだけど、簡単っって言える人が羨ましい
exeもファイルアップローダもどっちも個人的には難しい部類なんだけど、簡単っって言える人が羨ましい
209デフォルトの名無しさん
2021/04/04(日) 07:37:41.99ID:/F7LAei5210デフォルトの名無しさん
2021/04/04(日) 07:39:01.67ID:ciXsbyqc yolov5 をexe化しようとして失敗したあるよ
211デフォルトの名無しさん
2021/04/04(日) 07:41:07.08ID:/F7LAei5 >>209補足
ベン図をかくと
Webアプリの方がはるかにでっかい。
うpろだはWebアプリの中の一点にすぎない。
違いが判らないマジ超初心者のうちは
Pythonよりずっとずっとさきに
つぶしのきくPC用語をもっといっぱいべんきょうしる!
ベン図をかくと
Webアプリの方がはるかにでっかい。
うpろだはWebアプリの中の一点にすぎない。
違いが判らないマジ超初心者のうちは
Pythonよりずっとずっとさきに
つぶしのきくPC用語をもっといっぱいべんきょうしる!
212デフォルトの名無しさん
2021/04/04(日) 07:42:27.14ID:DYzzbk5J >>209
「pngの自動文字起こしアプリ」でファイルアップロードしないの?
「pngの自動文字起こしアプリ」でファイルアップロードしないの?
213デフォルトの名無しさん
2021/04/04(日) 07:52:18.84ID:/F7LAei5 >>212
社内専用かつ中身がexeなzipであっても置いてておkでまともなうpろだ持ってる会社はすげえ少ないぞ。
う○こ味のカレーもたべます!みたいなヤバイ設定のNASがある会社はまずまずあるかもしらんが。。。
んな設定のまま使ってるなやwってーはなしでー
社内Webページに置かせてもらう あたりがまずまず現実的
メール添付で配ろうとするのは、これまたセキュリティにひっかかって地獄をみるだろう。
社内専用かつ中身がexeなzipであっても置いてておkでまともなうpろだ持ってる会社はすげえ少ないぞ。
う○こ味のカレーもたべます!みたいなヤバイ設定のNASがある会社はまずまずあるかもしらんが。。。
んな設定のまま使ってるなやwってーはなしでー
社内Webページに置かせてもらう あたりがまずまず現実的
メール添付で配ろうとするのは、これまたセキュリティにひっかかって地獄をみるだろう。
214デフォルトの名無しさん
2021/04/04(日) 08:04:10.09ID:DYzzbk5J >>213
だから、「個人的に難しい/簡単って言える人羨ましい」って言ってるんだけど?
だから、「個人的に難しい/簡単って言える人羨ましい」って言ってるんだけど?
215デフォルトの名無しさん
2021/04/04(日) 08:31:16.27ID:/F7LAei5 >>214
Webサのうpが無理ならPythonじゃなくてVBAとかにしとけってはなし
Webサのうpが無理ならPythonじゃなくてVBAとかにしとけってはなし
216デフォルトの名無しさん
2021/04/04(日) 08:48:55.24ID:DYzzbk5J >>215
なんでそんな話になるんだ?
exeもwebも簡単→おれには難しい/簡単って言える人は羨ましいって流れだぞ?
あと、興味本位で聞くけど、VBAで画像認識ってできるの?
外部のアプリ叩くとかだと、その外部アプリどうすんのって話にすり替わるだけだと思うけど。
なんでそんな話になるんだ?
exeもwebも簡単→おれには難しい/簡単って言える人は羨ましいって流れだぞ?
あと、興味本位で聞くけど、VBAで画像認識ってできるの?
外部のアプリ叩くとかだと、その外部アプリどうすんのって話にすり替わるだけだと思うけど。
217デフォルトの名無しさん
2021/04/04(日) 08:53:54.01ID:/F7LAei5 >>216
VBAで画像認識>野良ライブラリ落ちてないから手軽にはできないが、不可能ではない。
個人的には(、ちゅーか個人の事情的には?)(規約とかトラウマ的に)難しい
ってやつね
オトナコトバありがとう
VBAで画像認識>野良ライブラリ落ちてないから手軽にはできないが、不可能ではない。
個人的には(、ちゅーか個人の事情的には?)(規約とかトラウマ的に)難しい
ってやつね
オトナコトバありがとう
218デフォルトの名無しさん
2021/04/04(日) 08:59:11.82ID:DYzzbk5J219デフォルトの名無しさん
2021/04/04(日) 09:06:23.43ID:/F7LAei5 >>218
たしかにそこは
まちがいなく、確実に、
「がちがちのろだ」を整備するほうが簡単。
ところで
簡単っって言える(ようなセキュリティぬるぽでゆるされてる)人が羨ましい
の末尾に
見えない芝生生えてるよな?
たしかにそこは
まちがいなく、確実に、
「がちがちのろだ」を整備するほうが簡単。
ところで
簡単っって言える(ようなセキュリティぬるぽでゆるされてる)人が羨ましい
の末尾に
見えない芝生生えてるよな?
220デフォルトの名無しさん
2021/04/04(日) 09:16:30.52ID:DYzzbk5J >>219
> 見えない芝生生えてるよな?
そんな事ないよ
環境に左右されるケースが大きいから、オレの環境のガイドラインだとハードルが高いってだけだし
ガイドラインが許す範囲で、コスト重視の簡易設計にするのは重要な見切りだと思ってる
> 見えない芝生生えてるよな?
そんな事ないよ
環境に左右されるケースが大きいから、オレの環境のガイドラインだとハードルが高いってだけだし
ガイドラインが許す範囲で、コスト重視の簡易設計にするのは重要な見切りだと思ってる
221デフォルトの名無しさん
2021/04/04(日) 09:24:05.66ID:/F7LAei5 >>220
個人的には
そのへんの規定がゆるーい(というか上の意識が低くて未整備まだ存在しないな場合がままある)会社だからって、
抵触しなければおkおkおkって「見切り」して
使うだけなひとびとのexe入りファイルのやりとりへの心のハードルずんどこ下げちゃうのは
すげーあぶないとおもうので
芝生がはえてしまう。
ハードルはすれすれで超えましょう。ってのは無論だいじだけど。
個人的には
そのへんの規定がゆるーい(というか上の意識が低くて未整備まだ存在しないな場合がままある)会社だからって、
抵触しなければおkおkおkって「見切り」して
使うだけなひとびとのexe入りファイルのやりとりへの心のハードルずんどこ下げちゃうのは
すげーあぶないとおもうので
芝生がはえてしまう。
ハードルはすれすれで超えましょう。ってのは無論だいじだけど。
222デフォルトの名無しさん
2021/04/04(日) 11:12:15.50ID:DgttH7dz 質問者そっちのけの話が好きだよな
223デフォルトの名無しさん
2021/04/04(日) 11:19:20.22ID:xtAOreBW 質問はいわば大喜利のお題。
224デフォルトの名無しさん
2021/04/04(日) 12:31:22.48ID:oZvlJFMv225デフォルトの名無しさん
2021/04/04(日) 12:32:21.42ID:vLoSd5kv パッと調べただけだけどexe化ってpyinstallerってやつ使えばできるんじゃないです?
Webアプリはしょっちゅう作ってるんで余裕ですね
Webアプリはしょっちゅう作ってるんで余裕ですね
226デフォルトの名無しさん
2021/04/04(日) 12:34:04.19ID:vLoSd5kv227デフォルトの名無しさん
2021/04/04(日) 12:34:09.34ID:OG5V/QNa webアプリ化するならPython選ばんだろjk
228デフォルトの名無しさん
2021/04/04(日) 12:52:45.25ID:DgttH7dz PyInstallerでexeにして上手く動けば儲けもの
動かないならexeを諦めて他、かな
PyInstallerのトラブルを解決できるような人は初心者スレで質問する必要ないよ
たぶん
動かないならexeを諦めて他、かな
PyInstallerのトラブルを解決できるような人は初心者スレで質問する必要ないよ
たぶん
229デフォルトの名無しさん
2021/04/04(日) 14:51:24.94ID:JGzgwOb+ システム部門のリテラシーが低さをユーザーに責任転嫁するのは使えない情シスあるある
230デフォルトの名無しさん
2021/04/05(月) 04:53:55.03ID:GCYTY8e9 サーバー側はseleniumを使ってアクセスしてる人が分かると聞きました
では、webbrowserを使ってアクセスした場合は分かるのでしょうか
また、その時にpythonが実行されてることは分かるでしょうか
では、webbrowserを使ってアクセスした場合は分かるのでしょうか
また、その時にpythonが実行されてることは分かるでしょうか
231デフォルトの名無しさん
2021/04/05(月) 05:02:30.07ID:GCYTY8e9232デフォルトの名無しさん
2021/04/05(月) 06:26:56.58ID:1rfXdG6q https://docs.python.org/ja/3/library/webbrowser.html
これの話をしているか?
これの話をしているなら
1. webbrowserから起動したブラウザでアクセスしたかどうかは分からない
2. Pythonか実行されているかどうかは分からない
Seleniumに関しても正確には理解してなさそうなので補足する
Webオートメーションによってアクセスされているかの判別は
1. navigator.webdriverフラグ
2. 人間らしい振る舞いの検出
に大別される
SeleniumではなくWebオートメーションと呼んだことから察するかもしれないが、
この判別は同じ用途のツールならSeleniumに限らず適用可能である
(逆に言えばSeleniumかどうかの判別ではない)
navigator.webdriverというのは、Webオートメーションによってアクセスしているかどうかをブラウザ自身に通知させるものだ
ただし、今のところブラウザのオプションで強制的にfalseにすることが可能だし、仮に今後オプションで変更できなくなったとしても、
野良ビルドされたブラウザが配布されるようになるだけで、それほど意味はないだろうことが策定時から指摘されている
https://developer.mozilla.org/ja/docs/Web/API/Navigator/webdriver
人間らしい振る舞いの検出というのは、例えば、
人間が要素をクリックするときはポインタかフォーカスが要素の上まで移動してくるはずである
この移動している様子がなかった場合は、Webオートメーションである
移動している様子があった場合も、ポインタが完全な直線で移動しているようなら、
人間の操作にあるはずの揺らぎがないことから、やはりWebオートメーションである
みたいなものである
実際のアルゴリズムはこのような単純なものではなく、現在は機械学習による異常検知が主流である
これの話をしているか?
これの話をしているなら
1. webbrowserから起動したブラウザでアクセスしたかどうかは分からない
2. Pythonか実行されているかどうかは分からない
Seleniumに関しても正確には理解してなさそうなので補足する
Webオートメーションによってアクセスされているかの判別は
1. navigator.webdriverフラグ
2. 人間らしい振る舞いの検出
に大別される
SeleniumではなくWebオートメーションと呼んだことから察するかもしれないが、
この判別は同じ用途のツールならSeleniumに限らず適用可能である
(逆に言えばSeleniumかどうかの判別ではない)
navigator.webdriverというのは、Webオートメーションによってアクセスしているかどうかをブラウザ自身に通知させるものだ
ただし、今のところブラウザのオプションで強制的にfalseにすることが可能だし、仮に今後オプションで変更できなくなったとしても、
野良ビルドされたブラウザが配布されるようになるだけで、それほど意味はないだろうことが策定時から指摘されている
https://developer.mozilla.org/ja/docs/Web/API/Navigator/webdriver
人間らしい振る舞いの検出というのは、例えば、
人間が要素をクリックするときはポインタかフォーカスが要素の上まで移動してくるはずである
この移動している様子がなかった場合は、Webオートメーションである
移動している様子があった場合も、ポインタが完全な直線で移動しているようなら、
人間の操作にあるはずの揺らぎがないことから、やはりWebオートメーションである
みたいなものである
実際のアルゴリズムはこのような単純なものではなく、現在は機械学習による異常検知が主流である
233デフォルトの名無しさん
2021/04/05(月) 07:28:16.88ID:CsDRo5vQ for inだけでしこしこデータベースをいじってアップデートしてたけど
だいぶPythonに慣れてきたのでいよいよpandasを使って書いてみようとしたらコードは簡潔になったけどめっちゃ遅くなった…
遅い部分を削っていったらもうパンダ使う意味ほとんどなくなったし。げんなり
だいぶPythonに慣れてきたのでいよいよpandasを使って書いてみようとしたらコードは簡潔になったけどめっちゃ遅くなった…
遅い部分を削っていったらもうパンダ使う意味ほとんどなくなったし。げんなり
234デフォルトの名無しさん
2021/04/05(月) 08:01:26.42ID:GCYTY8e9235デフォルトの名無しさん
2021/04/05(月) 10:42:07.74ID:02jeM6qR236デフォルトの名無しさん
2021/04/05(月) 10:50:40.71ID:Yz4vPuYc >>235
そういうグレーなときだけRecapなんちゃらを出すのサ
そういうグレーなときだけRecapなんちゃらを出すのサ
237デフォルトの名無しさん
2021/04/05(月) 11:21:28.34ID:3HQ81ZvQ238デフォルトの名無しさん
2021/04/05(月) 12:02:27.30ID:YvbwOQhF 実際にはこんな単純なものではないって書いてあるのにこれだから
馬鹿はママとお話ししてろ
馬鹿はママとお話ししてろ
239デフォルトの名無しさん
2021/04/05(月) 15:29:59.50ID:vS+QhcYH 亀レスですまんが、↑のexeファイルって自己解凍型のexeのことだと思ってたが違うけん?
240デフォルトの名無しさん
2021/04/06(火) 10:31:52.68ID:dCmZ7v4+ Windowsで作ったPythonの仮想環境を
Linux上で動かしたいです
ただファイル類をコピーしただけだと、
activate.batやPython.exe等がWindows用なので
動作しませんでした
Linux側で仮想環境を作り、Script以外をコピーする等
すればよいのでしょうか
Linux上で動かしたいです
ただファイル類をコピーしただけだと、
activate.batやPython.exe等がWindows用なので
動作しませんでした
Linux側で仮想環境を作り、Script以外をコピーする等
すればよいのでしょうか
241デフォルトの名無しさん
2021/04/06(火) 11:28:02.29ID:HwFHEu2a >>240
>Linux側で仮想環境を作り、Script以外をコピーする等
すればよいのでしょうか
よくないです。仮想環境はただ、コピーして動くようなものではありません
Linux側で仮想環境を作り、その中でwheelでもgit cloneでもいいですがpip installできるような環境をつくるべきです
>Linux側で仮想環境を作り、Script以外をコピーする等
すればよいのでしょうか
よくないです。仮想環境はただ、コピーして動くようなものではありません
Linux側で仮想環境を作り、その中でwheelでもgit cloneでもいいですがpip installできるような環境をつくるべきです
242デフォルトの名無しさん
2021/04/06(火) 14:07:11.93ID:dCmZ7v4+ >>241
Linux側はインターネット接続不可環境なので、
gitやpipでのレポジトリへのアクセスだとか、
自前のレポジトリの作成やライブラリの収集が
できないですね
すいません、そういう環境です
Linux側はインターネット接続不可環境なので、
gitやpipでのレポジトリへのアクセスだとか、
自前のレポジトリの作成やライブラリの収集が
できないですね
すいません、そういう環境です
243デフォルトの名無しさん
2021/04/06(火) 14:40:09.24ID:i2p9OJu5 ネットにつながってるマシンでpip環境を書きだし+
入ってるものの各インスコ用ファイルを準備
↓
スタンドアロンのマシンにファイルをうつして
ローカルファイルからのpipインスコを実行
↓
ソースもうごくおいしーいの( ^)o(^ )
入ってるものの各インスコ用ファイルを準備
↓
スタンドアロンのマシンにファイルをうつして
ローカルファイルからのpipインスコを実行
↓
ソースもうごくおいしーいの( ^)o(^ )
244デフォルトの名無しさん
2021/04/06(火) 15:51:35.24ID:eryrf7Ji Linuxでネット繋げないってわりと無理ゲーな気がするけど何でやろうとしてるんだ……
Python以外にaptも使えないんだぞ
Python以外にaptも使えないんだぞ
245デフォルトの名無しさん
2021/04/06(火) 19:51:23.47ID:HwFHEu2a >>242
だったら最初からかけよ
何にしても外からコピーできるんなら、必要なパッケージをコピーして持っていってそれをpipで入れればいいだけだろ
コピーしてって別の仮想環境からじゃなくて、PyPIで配布してるpip install パッケージ名.whlでインストールできるやつな
だったら最初からかけよ
何にしても外からコピーできるんなら、必要なパッケージをコピーして持っていってそれをpipで入れればいいだけだろ
コピーしてって別の仮想環境からじゃなくて、PyPIで配布してるpip install パッケージ名.whlでインストールできるやつな
246デフォルトの名無しさん
2021/04/06(火) 21:11:23.50ID:wES9tagM WindowsでLinux用のDockerコンテナ動かして
その上にPythonの環境作ってDockerイメージをコピーで
その上にPythonの環境作ってDockerイメージをコピーで
247デフォルトの名無しさん
2021/04/06(火) 22:29:42.47ID:vVvRH1MT おっぱいそん
248デフォルトの名無しさん
2021/04/06(火) 23:16:04.94ID:cBLfSlVZ 山浦清透、1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
www.youtube.com/watch?v=lZD1MIHwMBY
Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
これを、Python に変えれば?
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
www.youtube.com/watch?v=lZD1MIHwMBY
Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
これを、Python に変えれば?
249デフォルトの名無しさん
2021/04/08(木) 00:25:52.54ID:l4JF0i/8 pythonで成型した文字列をjavascriptのコード(文字列)としてprintしたいのですが
みなさんはどうやっていますか
テンプレート文字列だと辞書のとき{}がかぶっちゃいますよね
print(f"""var obj={}""")
一旦ファイルに保存して読み出しするのが一般的なのでしょうか?
みなさんはどうやっていますか
テンプレート文字列だと辞書のとき{}がかぶっちゃいますよね
print(f"""var obj={}""")
一旦ファイルに保存して読み出しするのが一般的なのでしょうか?
250デフォルトの名無しさん
2021/04/08(木) 12:26:34.36ID:jMb3Fqbi251デフォルトの名無しさん
2021/04/08(木) 14:22:55.79ID:BYjSvKlS 小林さんちのメイドラゴン
久しぶりに再放送やってたので観たけど
小林さんPython使ってたんだな
バグ仕込んでるみたいだったが
久しぶりに再放送やってたので観たけど
小林さんPython使ってたんだな
バグ仕込んでるみたいだったが
252デフォルトの名無しさん
2021/04/08(木) 14:27:31.74ID:BYjSvKlS253デフォルトの名無しさん
2021/04/08(木) 20:04:03.76ID:Fp+NNsfX pythonを一からはじめたいんですが、まとめサイトの中の本から選んだらよいんでしょうか?
2018年から更新されてないようなのですが、おすすめの書籍やサイトありましたら、お願いいたします
2018年から更新されてないようなのですが、おすすめの書籍やサイトありましたら、お願いいたします
254デフォルトの名無しさん
2021/04/08(木) 20:14:37.42ID:l4JF0i/8255デフォルトの名無しさん
2021/04/08(木) 20:21:43.56ID:SlRPMViD >>253
Dr.bouyo
Dr.bouyo
256デフォルトの名無しさん
2021/04/08(木) 20:27:21.85ID:H2kw3RWC257デフォルトの名無しさん
2021/04/08(木) 22:32:10.93ID:9Jlergo9258デフォルトの名無しさん
2021/04/09(金) 11:46:09.00ID:D8NVI6fw Python開発用の環境を構築することの指針なんですが、
インストールしたPython本体は触らず、
仮想環境を作り、そちら側に追加機能をインストールする、
という方針を聞きます
しかしその方針とすると、別プロジェクトを作るとかで新たな仮想環境を作ったとき
改めて追加のパッケージを導入する必要があり、面倒に思ってます
Pylint等、どんな仮想環境でも使いたいものは本体に、
例えばDjangoなんかみたいに特定のプロジェクトで使うものは仮想環境に、
なんて考えましたが、本体に入れるべきか仮想環境に入れるべきかの線引きが
難しいなと思ってます
どんな風に運用するのがよいのか、よいベストプラクティスって、何かありますか?
インストールしたPython本体は触らず、
仮想環境を作り、そちら側に追加機能をインストールする、
という方針を聞きます
しかしその方針とすると、別プロジェクトを作るとかで新たな仮想環境を作ったとき
改めて追加のパッケージを導入する必要があり、面倒に思ってます
Pylint等、どんな仮想環境でも使いたいものは本体に、
例えばDjangoなんかみたいに特定のプロジェクトで使うものは仮想環境に、
なんて考えましたが、本体に入れるべきか仮想環境に入れるべきかの線引きが
難しいなと思ってます
どんな風に運用するのがよいのか、よいベストプラクティスって、何かありますか?
259デフォルトの名無しさん
2021/04/09(金) 12:14:56.84ID:mIlalRjZ 開発者間で環境を合わせたいor特定バージョンのライブラリを使いたいorある日突然動かなくなっては困る→pyenv
それ以外→直インストール
とかでいいんじゃね?
それ以外→直インストール
とかでいいんじゃね?
260デフォルトの名無しさん
2021/04/09(金) 12:31:11.65ID:BwescqVD 自分でちょっとPythonで何か作ってみたいって程度なら仮想どうのこうのなんかど〜でもいい
261デフォルトの名無しさん
2021/04/09(金) 13:50:57.78ID:0I3K7hDb >>258
pipenv install pylint autopep8なり
poetry add pylintautopep8なり
決まり文句はどっかにメモしてコピペすればいいのでは?
パッケージのバージョンの依存関係のあれこれを考えたくないなら、何も考えず仮想環境で全部のパッケージを分けちゃうが一番楽だと思うけどな。
pipenv install pylint autopep8なり
poetry add pylintautopep8なり
決まり文句はどっかにメモしてコピペすればいいのでは?
パッケージのバージョンの依存関係のあれこれを考えたくないなら、何も考えず仮想環境で全部のパッケージを分けちゃうが一番楽だと思うけどな。
262デフォルトの名無しさん
2021/04/09(金) 14:22:15.50ID:J5Q+WUmZ VScodeのRemote Containersつかえ
仮想環境がどうとか気にしなくて良くなる
仮想環境がどうとか気にしなくて良くなる
263デフォルトの名無しさん
2021/04/09(金) 14:46:59.82ID:3bHJNfn7 importしないパッケージなら入れてしまっていいと思う
逆に言うとimportするなら面倒くさかろうが毎回入れる
逆に言うとimportするなら面倒くさかろうが毎回入れる
264デフォルトの名無しさん
2021/04/09(金) 14:48:17.91 >>258
・docker(およびdocker-compose)
dockerを実行できるクラウドサービスを使えば尚良
linuxなら元から入ってたかもしれないので宅PCで開発してもよい
docker run, docoker exec, docker オプション, マウント
などで検索すると、気軽に0からpythonの環境を構築できる方法がわかる
・google colaboratory
ちょっとしたトライアンドエラーからweb系から機械学習からほぼすべてのプロジェクトを困ること無く仮想環境で開発できる
初心者ならjavascript並に開発の敷居が下がったといってもいい
・git周り
clone, add, commit -m'', push, ブランチ
個人開発ならぶっちゃけこの辺りだけ知ってれば十分
・vscode
補助として
・django
何を開発するかにもよるけど
google colabやdockerインストール済みの環境で開発しつつ、
まとまってきたらgitへpush
PCが壊れたり、別のPCへ移植したければ
googleのアカウント、gitのアカウント(googleのoauth認証でもいけた?なら実質googleアカウントだけ)だけで
0から同じ環境の構築完了
・docker(およびdocker-compose)
dockerを実行できるクラウドサービスを使えば尚良
linuxなら元から入ってたかもしれないので宅PCで開発してもよい
docker run, docoker exec, docker オプション, マウント
などで検索すると、気軽に0からpythonの環境を構築できる方法がわかる
・google colaboratory
ちょっとしたトライアンドエラーからweb系から機械学習からほぼすべてのプロジェクトを困ること無く仮想環境で開発できる
初心者ならjavascript並に開発の敷居が下がったといってもいい
・git周り
clone, add, commit -m'', push, ブランチ
個人開発ならぶっちゃけこの辺りだけ知ってれば十分
・vscode
補助として
・django
何を開発するかにもよるけど
google colabやdockerインストール済みの環境で開発しつつ、
まとまってきたらgitへpush
PCが壊れたり、別のPCへ移植したければ
googleのアカウント、gitのアカウント(googleのoauth認証でもいけた?なら実質googleアカウントだけ)だけで
0から同じ環境の構築完了
265デフォルトの名無しさん
2021/04/09(金) 18:14:56.91ID:z6REo42V >>258
ベストプラクティスは分からないけどプロジェクト毎に環境切った方が問題切り分けられて後々楽になるのは確か
個人のプロジェクトでそこまで神経質になる必要が無ければシステムに全部入れちゃうのが1番楽で別にそれでもいいと思う
自分はnmpみたいにPythonはシステムに入れてる最新版使ってパッケージはpoetryでプロジェクトディレクトリ以下に入れて必要無くなればディレクトリごと捨てるようにしてる
ベストプラクティスは分からないけどプロジェクト毎に環境切った方が問題切り分けられて後々楽になるのは確か
個人のプロジェクトでそこまで神経質になる必要が無ければシステムに全部入れちゃうのが1番楽で別にそれでもいいと思う
自分はnmpみたいにPythonはシステムに入れてる最新版使ってパッケージはpoetryでプロジェクトディレクトリ以下に入れて必要無くなればディレクトリごと捨てるようにしてる
266デフォルトの名無しさん
2021/04/09(金) 20:30:56.27ID:2i2clTn4 配列に格納された連続する二要素をいちばん簡潔に取り出す方法って何になりますか?
A=[1,2,3,4,5]なら(1,2),(2,3),(3,4),(4,5)みたいな感じです
A=[1,2,3,4,5]なら(1,2),(2,3),(3,4),(4,5)みたいな感じです
267デフォルトの名無しさん
2021/04/09(金) 20:35:30.64ID:nftSBFiE omaeno_turple = (A[n], A[n+1])
268デフォルトの名無しさん
2021/04/09(金) 20:42:24.26ID:BfFQIsqw a=[1, 2, 3, 4, 5]
[(a[i],a[i+1]) for i in range(0,len(a)-1)]
[(a[i],a[i+1]) for i in range(0,len(a)-1)]
269デフォルトの名無しさん
2021/04/09(金) 20:50:06.30ID:p7uKRazG list(zip(A,A[1:]))
270デフォルトの名無しさん
2021/04/09(金) 21:13:26.65ID:2i2clTn4271デフォルトの名無しさん
2021/04/09(金) 22:01:07.94ID:9nMkDqyN ジェネレーター、イテレーター
272デフォルトの名無しさん
2021/04/10(土) 00:27:10.96ID:Tr2LjW8o more itertoolsは?
chunked([1,2,3,4],2)
chunked([1,2,3,4],2)
273デフォルトの名無しさん
2021/04/10(土) 00:35:15.36ID:/pBftddC 出た、忘れたころに出てくるitertools
めちゃくちゃ使えそうで使えないライブラリ
めちゃくちゃ使えそうで使えないライブラリ
274デフォルトの名無しさん
2021/04/10(土) 02:22:41.49ID:edMGid1M def each_cons(x, size):
__return [x[i:i+size] for i in range(len(x)-size+1)]
これでやってる
>>268と同じと言えば同じ
toolzのsliding_windowでもできる
https://toolz.readthedocs.io/en/latest/_modules/toolz/itertoolz.html#sliding_window
__return [x[i:i+size] for i in range(len(x)-size+1)]
これでやってる
>>268と同じと言えば同じ
toolzのsliding_windowでもできる
https://toolz.readthedocs.io/en/latest/_modules/toolz/itertoolz.html#sliding_window
275デフォルトの名無しさん
2021/04/10(土) 09:37:26.29ID:yMUSEnBC276デフォルトの名無しさん
2021/04/10(土) 15:25:52.63ID:7Fqbquic みんなすごいな。
カメでマルかけて大喜びしてる自分とは大違い。
頑張って勉強せないかん。
カメでマルかけて大喜びしてる自分とは大違い。
頑張って勉強せないかん。
277デフォルトの名無しさん
2021/04/10(土) 16:21:37.07ID:s4y3TWlJ278デフォルトの名無しさん
2021/04/10(土) 16:44:35.29ID:yMUSEnBC >>277
269はA[1:]部分でAをコピーしてる(メモリを無駄遣いしている?)ので268が良いと思っていたのですがこれは間違いですか?
269はA[1:]部分でAをコピーしてる(メモリを無駄遣いしている?)ので268が良いと思っていたのですがこれは間違いですか?
279デフォルトの名無しさん
2021/04/10(土) 17:46:33.48ID:V9tOEpjW >>269 のA[1:]をitertools.islice(A,1,None)に変えればメモリの無駄も無くせるか
280デフォルトの名無しさん
2021/04/10(土) 18:56:12.07ID:KhtOrJ3O そもそもpythonでメモリ効率とか考えるだけ無駄なんじゃないかと
281デフォルトの名無しさん
2021/04/10(土) 19:17:22.08ID:5ksPyy0r282デフォルトの名無しさん
2021/04/10(土) 19:25:46.02ID:t2rPFxAg コマンドラインでvenvの仮想環境作って
atomで仮想環境を選択してコード書きたいのですが
コマンドラインってずっと開きっぱなしでないといけないの?
閉じたら仮想環境もdeactivateされるんですか?
atomで仮想環境を選択してコード書きたいのですが
コマンドラインってずっと開きっぱなしでないといけないの?
閉じたら仮想環境もdeactivateされるんですか?
283デフォルトの名無しさん
2021/04/10(土) 20:02:22.86ID:KmPkwZfW 閉じたらプロセスも止まるからな
開きっぱなしでも別に邪魔にならんだろ
atomってターミナル無いの?vscも、pychrmもproject開いたらvenvの環境が自動でアクティベートされてるから意識すらしない
開きっぱなしでも別に邪魔にならんだろ
atomってターミナル無いの?vscも、pychrmもproject開いたらvenvの環境が自動でアクティベートされてるから意識すらしない
284デフォルトの名無しさん
2021/04/10(土) 21:07:32.12ID:euoo/Shs 他のIDEは知らんけど
atom_venvのパッケージの話なら
ターミナルで仮想環境作る
↓
atomで仮想環境のディレクトリを指定してやる
↓
仮想環境にスイッチできる
だけなので、仮想環境作ったあとはターミナルは閉じていい
atom_venvのパッケージの話なら
ターミナルで仮想環境作る
↓
atomで仮想環境のディレクトリを指定してやる
↓
仮想環境にスイッチできる
だけなので、仮想環境作ったあとはターミナルは閉じていい
285デフォルトの名無しさん
2021/04/10(土) 21:15:36.12ID:OA/XTa6K VSCode では、端末を幾つでも開ける。
デバッグでもよく使うし、常に最低でも、1つは開いている
端末を起動していても、表示・非表示を選択できる
デバッグでもよく使うし、常に最低でも、1つは開いている
端末を起動していても、表示・非表示を選択できる
286デフォルトの名無しさん
2021/04/10(土) 21:26:32.12ID:hfLklo2F コマンドラインのターミナルが仮想環境そのもので
閉じたらatomというただのエディターが残るだけ
閉じたらatomというただのエディターが残るだけ
287デフォルトの名無しさん
2021/04/11(日) 12:08:23.93ID:6eqQzCzM 仮想環境ってのは有り体にいうとPATHとPYTHONPATHあたりの環境変数がシステムにインストールされているPythonとは隔離されたPython向けに調整されてるってだけで、
プロセスとかは全く関係ないぞ
activateの実態は環境変数の設定
プロセスとかは全く関係ないぞ
activateの実態は環境変数の設定
288デフォルトの名無しさん
2021/04/12(月) 09:21:28.49ID:Whdbrxbg 変数を代入する関数を書くとき
x = 1
def func_a():
__x=2
func_a()
def func_b():
__return 2
x = func_b()
どっちで書いた方がいいとかありますか?どっちでもいい?
x = 1
def func_a():
__x=2
func_a()
def func_b():
__return 2
x = func_b()
どっちで書いた方がいいとかありますか?どっちでもいい?
289デフォルトの名無しさん
2021/04/12(月) 09:23:25.66ID:MdiLEBnJ >>288
おれなら後者
おれなら後者
290デフォルトの名無しさん
2021/04/12(月) 11:41:12.17ID:JpAFHmXg 他に条件ないなら副作用のある関数なんて書いちゃだめ
291デフォルトの名無しさん
2021/04/12(月) 13:01:58.81ID:3O31AUpl292デフォルトの名無しさん
2021/04/12(月) 14:17:43.25ID:Tqq1DlXC urllibってパースするだけじゃなくクエリを追加して返してくれるような機能ってないんですかね?
(単に&の文字列結合すればいいだけなんですけど)
(単に&の文字列結合すればいいだけなんですけど)
293デフォルトの名無しさん
2021/04/12(月) 14:49:37.05ID:iP6DLKCo >>291
なるほど
なるほど
294デフォルトの名無しさん
2021/04/12(月) 15:06:08.10ID:eKsxxXZh 「Jupyter notebookの起動フォルダ」ってどこのことですか?
Jupyter notebookを開いたときに出てくる一覧のところ?
Jupyter notebookを開いたときに出てくる一覧のところ?
295デフォルトの名無しさん
2021/04/12(月) 18:30:19.07ID:6NL/o6lT >>292
ある
ある
296デフォルトの名無しさん
2021/04/12(月) 18:32:07.37ID:6NL/o6lT297デフォルトの名無しさん
2021/04/12(月) 18:52:36.49ID:eKsxxXZh298デフォルトの名無しさん
2021/04/12(月) 19:15:20.69ID:6NL/o6lT (´・ω・`)知らんがな
299デフォルトの名無しさん
2021/04/12(月) 19:16:47.30ID:VYgLgFqq セルに
import os
os.getcwd()
って打ち込んでshift+enter
import os
os.getcwd()
って打ち込んでshift+enter
300デフォルトの名無しさん
2021/04/12(月) 19:30:16.70ID:tJ6MT7iR python と C++ をswigで繋いだ開発をやりたいのですがなにか良い統合開発環境ないですか?
301デフォルトの名無しさん
2021/04/12(月) 19:30:36.85ID:eKsxxXZh >>299
ありがとうございました
ありがとうございました
302デフォルトの名無しさん
2021/04/12(月) 20:06:39.90ID:IyOMD186303デフォルトの名無しさん
2021/04/12(月) 20:33:50.30ID:tJ6MT7iR boostはよく知らないですがpythonメインで高速化したい部分をC++で書くイメージです。
emacsってUnix系ですよね?windowsでモダンな開発環境触ってみたいです。
emacsってUnix系ですよね?windowsでモダンな開発環境触ってみたいです。
304デフォルトの名無しさん
2021/04/12(月) 21:03:48.11ID:Tqq1DlXC >>295
確認ですがpr._replaceとurlunparseを使った方法ではないですよね?
確認ですがpr._replaceとurlunparseを使った方法ではないですよね?
305デフォルトの名無しさん
2021/04/12(月) 21:52:57.52ID:z80SpJNy 日本人が作った、バージョンマネージャーのanyenv で、
Ruby, Python, Node.js のrbenv, pyenv, nodenv でも、
使いたいバージョンを切り替えるだけ
rbenv global 2.6.6
rbenv local 2.6.6
global ならシステム全体、
local なら、そのプロジェクトのバージョンを切り替える
rubyコマンドの参照先を確認する
which ruby
~/.anyenv/envs/rbenv/shims/ruby
rbenv global system
なら、apt などで、/usr/bin/ruby へインストールしたバージョンを使う
まあ最近は、Docker を使う事も多いけど
Ruby, Python, Node.js のrbenv, pyenv, nodenv でも、
使いたいバージョンを切り替えるだけ
rbenv global 2.6.6
rbenv local 2.6.6
global ならシステム全体、
local なら、そのプロジェクトのバージョンを切り替える
rubyコマンドの参照先を確認する
which ruby
~/.anyenv/envs/rbenv/shims/ruby
rbenv global system
なら、apt などで、/usr/bin/ruby へインストールしたバージョンを使う
まあ最近は、Docker を使う事も多いけど
306デフォルトの名無しさん
2021/04/12(月) 21:57:52.65ID:HnVQKAJ1 でそれでDarknetはコンパイルできるのかね?
307デフォルトの名無しさん
2021/04/12(月) 22:18:28.74ID:I/pOLMrW インスタンスを別のクラスでいじりたい
class Main():
__def get(self):
____self.x = 1
class Sub():
__def convert(self):
____self.x = str(self.x)
みたいな。
obj =Main()
obj.get()
…??
どう書いたらいいのでしょうか
(実際は取得クラスはもっと大きいので、変換系は分離したいのです)
class Main():
__def get(self):
____self.x = 1
class Sub():
__def convert(self):
____self.x = str(self.x)
みたいな。
obj =Main()
obj.get()
…??
どう書いたらいいのでしょうか
(実際は取得クラスはもっと大きいので、変換系は分離したいのです)
308デフォルトの名無しさん
2021/04/12(月) 22:24:27.92ID:Eq417zPZ 継承する
309デフォルトの名無しさん
2021/04/12(月) 22:34:11.40ID:CTvbFAAZ class main:
__x=1
class sub:
__def setmainx(a):
____main.x=a
print(main.x)
sub.setmainx(2)
print(main.x)
__x=1
class sub:
__def setmainx(a):
____main.x=a
print(main.x)
sub.setmainx(2)
print(main.x)
310デフォルトの名無しさん
2021/04/12(月) 22:42:09.04ID:rJYHlMWg クラスにインスタンス投げれば良くね?
311デフォルトの名無しさん
2021/04/12(月) 22:48:14.45ID:8Dw4jEA6 >>304
うん
うん
312デフォルトの名無しさん
2021/04/12(月) 23:42:18.89ID:Tqq1DlXC313デフォルトの名無しさん
2021/04/13(火) 05:15:27.15ID:M3Xniwnk 質問があります。
コマンドプロントでPython使ってて、
>>> a, b = 0, 1
>>> while a < 10:
... print(a)
... a, b = b, a+b
という単純なプログラムを入力したいんですが、
4行目が書けません…
3行目を書いてEnterした瞬間に実行されてエラーが出てしまいます。
IDLEに入力する場合は全部書いてから実行することを自分で選べるから
上記のプログラムを成せるんですが、
コマンドプロントに入力するのは無理なんでしょうか?
ググっても誰も困ってません…
ド素人な質問ですみませんが、よろしくお願いします。
コマンドプロントでPython使ってて、
>>> a, b = 0, 1
>>> while a < 10:
... print(a)
... a, b = b, a+b
という単純なプログラムを入力したいんですが、
4行目が書けません…
3行目を書いてEnterした瞬間に実行されてエラーが出てしまいます。
IDLEに入力する場合は全部書いてから実行することを自分で選べるから
上記のプログラムを成せるんですが、
コマンドプロントに入力するのは無理なんでしょうか?
ググっても誰も困ってません…
ド素人な質問ですみませんが、よろしくお願いします。
314デフォルトの名無しさん
2021/04/13(火) 05:21:46.97ID:Qr7OJO8/315デフォルトの名無しさん
2021/04/13(火) 05:29:36.78ID:M3Xniwnk316デフォルトの名無しさん
2021/04/13(火) 05:32:08.19ID:M3Xniwnk whileの中って命令が並ぶことが多いのに、
いちいち1行つづ実行してしまうコマンドプロントでは
長いプログラムは向いてないということもあるのでしょうか
いちいち1行つづ実行してしまうコマンドプロントでは
長いプログラムは向いてないということもあるのでしょうか
317デフォルトの名無しさん
2021/04/13(火) 06:47:07.47ID:YlnYj74B そもそも、プログラマーは、VSCode を使う
拡張機能のCode Runner を使えば、右クリックメニューから、
選択したコード片または、ファイル全体を実行できる
拡張機能のCode Runner を使えば、右クリックメニューから、
選択したコード片または、ファイル全体を実行できる
318デフォルトの名無しさん
2021/04/13(火) 06:52:20.41ID:GaFDNALA 紀文、当選、いい気分
319デフォルトの名無しさん
2021/04/13(火) 07:26:44.48ID:M3Xniwnk >>317
VSCodeをインストールしてみました。
ありがとうございます。
IDLEはコマンドプロントより見やすくていい感じだと思ったのに
何故練習用としか言われないのか、理由が分かった気がします…
VSCodeをインストールしてみました。
ありがとうございます。
IDLEはコマンドプロントより見やすくていい感じだと思ったのに
何故練習用としか言われないのか、理由が分かった気がします…
320デフォルトの名無しさん
2021/04/13(火) 07:58:50.28ID:U7R135hW321デフォルトの名無しさん
2021/04/13(火) 09:44:14.03ID:0BKbOHYA >>315
インデントしないでエンターするエラー
インデントしないでエンターするエラー
322デフォルトの名無しさん
2021/04/13(火) 10:29:14.36ID:M3Xniwnk323デフォルトの名無しさん
2021/04/13(火) 12:07:07.45ID:Qr7OJO8/324デフォルトの名無しさん
2021/04/13(火) 12:25:09.19ID:qZatEyS3 windowsの3.8.9でpyzを動かすとPYTHONPATHがどうだとかでfatal errorになるんだが
解決方法はありますか?
解決方法はありますか?
325デフォルトの名無しさん
2021/04/13(火) 12:36:23.89ID:Qr7OJO8/ >>324
エラーの指示内容通りに対処汁
エラーの指示内容通りに対処汁
326デフォルトの名無しさん
2021/04/13(火) 16:32:24.77ID:WQHvBVYs クラス内で関数の引数はいきなり使っていいの?
一度メンバ変数にすべき?
class Test():
...def func(self, mylist):
......i for i in mylist:
class Test():
...def func(self, mylist):
......self.mylist = mylist
......i for i in self.mylist:
一度メンバ変数にすべき?
class Test():
...def func(self, mylist):
......i for i in mylist:
class Test():
...def func(self, mylist):
......self.mylist = mylist
......i for i in self.mylist:
327デフォルトの名無しさん
2021/04/13(火) 18:28:11.25ID:3qsNaJKT328デフォルトの名無しさん
2021/04/13(火) 21:21:06.87ID:X/mewqYN htmlタグを出力するんだけどみんなどうやってる?
html='''
___<div>
____<span>hoge</span>
___</div>
___'''
とか
html=___"<div>" +
_______"<span>hoge</span>" +
______"</div>"
とか
出力後の成型作業が面倒だなぁ、と
html='''
___<div>
____<span>hoge</span>
___</div>
___'''
とか
html=___"<div>" +
_______"<span>hoge</span>" +
______"</div>"
とか
出力後の成型作業が面倒だなぁ、と
329デフォルトの名無しさん
2021/04/13(火) 21:25:30.11ID:UL6/XUax >>328
つ dedent
つ dedent
330デフォルトの名無しさん
2021/04/13(火) 21:27:17.64ID:kkSF+jXi JSXを使う
331デフォルトの名無しさん
2021/04/13(火) 21:30:25.43ID:VDIQmCKn めんどくさいから整形なしで1行出力
332デフォルトの名無しさん
2021/04/13(火) 21:31:13.78ID:X/mewqYN333デフォルトの名無しさん
2021/04/13(火) 21:38:58.07ID:X/mewqYN334デフォルトの名無しさん
2021/04/13(火) 22:09:39.10ID:VFKKiyoC >>328
テンプレートエンジン使えよ
テンプレートエンジン使えよ
335デフォルトの名無しさん
2021/04/13(火) 22:53:30.67ID:YlnYj74B Ruby のテンプレートエンジン・ERB では、a.html.erb に、
<% price = 2500 * 1.05 %>
<p>
本の値段は、<%= price %>円です
</p>
<% 〜 %> には、Rubyの式を書く。
<%= 〜 %> 内は、HTML に出力される
ERB は、あらゆる形式に、Rubyの式を埋め込める。
a.js.erb みたいに、JavaScript ファイルにも埋め込める
<% price = 2500 * 1.05 %>
<p>
本の値段は、<%= price %>円です
</p>
<% 〜 %> には、Rubyの式を書く。
<%= 〜 %> 内は、HTML に出力される
ERB は、あらゆる形式に、Rubyの式を埋め込める。
a.js.erb みたいに、JavaScript ファイルにも埋め込める
336デフォルトの名無しさん
2021/04/13(火) 23:28:42.38ID:X/mewqYN337デフォルトの名無しさん
2021/04/13(火) 23:42:43.92ID:rKsAxx1w338デフォルトの名無しさん
2021/04/14(水) 00:30:19.71ID:aC9t3egY >>337
マウント取りたいだけなら他所でやるがよろし
マウント取りたいだけなら他所でやるがよろし
339デフォルトの名無しさん
2021/04/14(水) 04:30:25.58ID:GFdnPTqO >>337
Javaしか書いたこと無いんだなって速攻で分かる
Pythonだとgetter/setter的な書き方はしないから、書き方っていう事自体発生しないっていう
(どうしてもやりたい場合はデコレータかpropertyを使う)
Javaしか書いたこと無いんだなって速攻で分かる
Pythonだとgetter/setter的な書き方はしないから、書き方っていう事自体発生しないっていう
(どうしてもやりたい場合はデコレータかpropertyを使う)
340デフォルトの名無しさん
2021/04/14(水) 06:26:14.99ID:ijCB3EYv そもそもprivateないんだっけか
341デフォルトの名無しさん
2021/04/14(水) 07:16:34.98ID:S5Re0uMO Javaスレと思い込んで書き込んでるでしょ
342デフォルトの名無しさん
2021/04/14(水) 08:25:29.25ID:ksE3f3HI pythonも一応getter/setterみたいな書き方できるけどもっと応用的に使うイメージ
単純な表示/代入は普通にアクセスすりゃいいし
単純な表示/代入は普通にアクセスすりゃいいし
343デフォルトの名無しさん
2021/04/14(水) 09:14:50.82ID:zu7kiCiA setterはともかくgetterは結構使う
344デフォルトの名無しさん
2021/04/14(水) 10:34:06.68ID:nYFKaNdk pyちゃんの貞操観念はガバガバ
でもgotoは死守
でもgotoは死守
345デフォルトの名無しさん
2021/04/14(水) 15:45:17.48ID:2JfXJ4J1346デフォルトの名無しさん
2021/04/14(水) 16:51:00.40ID:IPQrs4FW >>345
インスタンス変数とクラス変数でググれ
インスタンス変数とクラス変数でググれ
347デフォルトの名無しさん
2021/04/14(水) 17:42:18.41ID:2JfXJ4J1 >>346
インスタンス化したときに(クラス変数で)初期化されるもんだと思ってた・・
というかクラス変数と__init__内に書いたself.◯◯のインスタンス変数は
書く場所が違うだけで同じかと思ってました
とりあえず「クラス変数はイジらない変数」で覚えときますありがとうございました
インスタンス化したときに(クラス変数で)初期化されるもんだと思ってた・・
というかクラス変数と__init__内に書いたself.◯◯のインスタンス変数は
書く場所が違うだけで同じかと思ってました
とりあえず「クラス変数はイジらない変数」で覚えときますありがとうございました
348デフォルトの名無しさん
2021/04/14(水) 22:02:52.98ID:yznDmZt4 WindowsストアのPythonってどんなもの?
会社でライセンス違反と知らずにanaconda入れてるマシンが多数あり全社一斉に他のpythonに切り替える必要があるんだけど
ストア版はMSが用意するPythonだから安心と考えるのは安直かな?
会社でライセンス違反と知らずにanaconda入れてるマシンが多数あり全社一斉に他のpythonに切り替える必要があるんだけど
ストア版はMSが用意するPythonだから安心と考えるのは安直かな?
349デフォルトの名無しさん
2021/04/14(水) 22:06:10.97ID:ksE3f3HI350デフォルトの名無しさん
2021/04/14(水) 22:21:10.41ID:J0goiD5o351デフォルトの名無しさん
2021/04/14(水) 22:23:21.28ID:sHj0LWwc エンジニアがStoreのpython入れるって正気かよ
352デフォルトの名無しさん
2021/04/14(水) 22:30:43.72ID:8SA6aKsd anaconda駄目なんか
ググったら社長がブログで小規模商用なら全然OK書いてるけど
ググったら社長がブログで小規模商用なら全然OK書いてるけど
353デフォルトの名無しさん
2021/04/14(水) 23:17:12.18ID:S5Re0uMO >>348
公式のPythonすごいですよ
公式のPythonすごいですよ
354デフォルトの名無しさん
2021/04/15(木) 12:01:34.87ID:4YtduuTK 環境構築もままならない上に便利に使ってるなら普通に金払えよって思う
355デフォルトの名無しさん
2021/04/15(木) 13:38:30.08ID:oM6Je7sX ストア版はコンパイル必要なのpipする時とか罠あったはずだから公式にしとけ
356デフォルトの名無しさん
2021/04/15(木) 14:25:54.59ID:S5s4hWnU anaconda
社員数200人以下のところはfreeの使ってもOK
businesses with less than 200 employees is allowed
社員数200人以下のところはfreeの使ってもOK
businesses with less than 200 employees is allowed
357デフォルトの名無しさん
2021/04/15(木) 14:58:20.65ID:Ajqhz/yy ストア版はやめとけ
anacondaは普通に使えてる
anacondaは普通に使えてる
358デフォルトの名無しさん
2021/04/15(木) 15:01:01.63ID:ihA7E++L 社員数ってバイトも入るの?
359デフォルトの名無しさん
2021/04/15(木) 15:48:03.15ID:S5s4hWnU 入る気がする
term of serviceに
「同一命令系統に服するemployeesが200人未満の組織」とも書かれてるから
term of serviceに
「同一命令系統に服するemployeesが200人未満の組織」とも書かれてるから
360デフォルトの名無しさん
2021/04/15(木) 15:48:28.03ID:f8nFgQ6z361デフォルトの名無しさん
2021/04/15(木) 16:43:06.76ID:C7w9lgG/ 海外の法律と日本の法律が混ざるから面倒くさそう
362デフォルトの名無しさん
2021/04/15(木) 19:34:05.86ID:ihA7E++L >>360
ある月は200名未満、ある月は200名超えたらどうすんの?
ある月は200名未満、ある月は200名超えたらどうすんの?
363デフォルトの名無しさん
2021/04/15(木) 19:55:48.99ID:GOi47ZCr364デフォルトの名無しさん
2021/04/15(木) 20:09:36.92ID:/T4/urV+ 要するに儲けてるなら寄付してくださいってことだろ
365デフォルトの名無しさん
2021/04/15(木) 20:32:24.73ID:ddrh85dV 善意で成り立ってるのにこれじゃな
366デフォルトの名無しさん
2021/04/16(金) 00:38:53.74ID:pvt/ms85 tkinterで動的に複数のボタンを生成して
1つクリックしたら専用のスタイルを適用
他のを全部未クリックのスタイルに
ってやりたいんだけど、ウィジェット生成時に名前をつけてリストに格納しといて
ループ回しながら処理 みたいなことするしかないですか?
1つクリックしたら専用のスタイルを適用
他のを全部未クリックのスタイルに
ってやりたいんだけど、ウィジェット生成時に名前をつけてリストに格納しといて
ループ回しながら処理 みたいなことするしかないですか?
367デフォルトの名無しさん
2021/04/16(金) 01:39:51.97ID:LtaeTzrP ストア版が駄目ってubuntuも同様?
最近MSはOSSに協力的だしいずれWinとLinuxがシームレスに繋がる素敵な時代が到来するのかと夢想してたけど
最近MSはOSSに協力的だしいずれWinとLinuxがシームレスに繋がる素敵な時代が到来するのかと夢想してたけど
368デフォルトの名無しさん
2021/04/16(金) 03:46:10.57ID:+WADC0tD 信じる者は騙される
信者と書いて儲かると読む
信者と書いて儲かると読む
369デフォルトの名無しさん
2021/04/16(金) 07:50:03.56ID:tJjCQHLL 鉄を信じるんだ
で3.8に対応するのいつや
で3.8に対応するのいつや
370デフォルトの名無しさん
2021/04/16(金) 11:35:05.67ID:32E1xYIW 選択肢の中に公式で配布してるPythonが入らない理由はなぜですか?どうしてanacondaとストア版の二択?
371デフォルトの名無しさん
2021/04/16(金) 20:52:38.85ID:hBnOrcDQ ベースが公式だからかもしれん
公式のIDLE使いやすいからおすすめ
公式のIDLE使いやすいからおすすめ
372デフォルトの名無しさん
2021/04/16(金) 21:46:33.51ID:5T6uTLCV IDLEは、pep8のコメントアウトすらできない出来損ないなのでパスです
373デフォルトの名無しさん
2021/04/16(金) 23:58:42.78ID:aQEfOnAX javaでseleniumを使っていましたがpythonに移行しようとしたら
javaでは普通だった
Wait<WebDriver> wait = new WebDriverWait(driver, 20);
を
wait = WebDriverWait(driver, 20);
として各関数で使っていたら「Shadows name 'wait' from outer scope」と怒られました
理由は理解できましたが各関数毎に異なる秒数で頻繁に使用したいので何かいい方法は
ありませんでしょうか、ステートメント毎に一々
WebDriverWait(driver, 20).until(...)
なんてやっていたくありませんし、変数名を関数毎にfnx_waitなんてのもスマートな気がしないのですが・・・
javaでは普通だった
Wait<WebDriver> wait = new WebDriverWait(driver, 20);
を
wait = WebDriverWait(driver, 20);
として各関数で使っていたら「Shadows name 'wait' from outer scope」と怒られました
理由は理解できましたが各関数毎に異なる秒数で頻繁に使用したいので何かいい方法は
ありませんでしょうか、ステートメント毎に一々
WebDriverWait(driver, 20).until(...)
なんてやっていたくありませんし、変数名を関数毎にfnx_waitなんてのもスマートな気がしないのですが・・・
374デフォルトの名無しさん
2021/04/17(土) 01:34:23.85ID:0tpKt7Eb implicity_waitは?
375スクイズ
2021/04/17(土) 04:11:53.83ID:USl8OVEh QMA的なクイズゲームを作りたくて今日からpythonを勉強し始めました
プログラムは初心者なので、わからないことがあったら手取り足取り教えてくれると嬉しいです!
プログラムは初心者なので、わからないことがあったら手取り足取り教えてくれると嬉しいです!
376デフォルトの名無しさん
2021/04/17(土) 04:19:32.37ID:KQhVv37W オンラインのセミナーとか受けた方が良いかも
377デフォルトの名無しさん
2021/04/17(土) 12:13:20.22ID:WDJX7LIo378デフォルトの名無しさん
2021/04/17(土) 13:23:32.61ID:USl8OVEh379デフォルトの名無しさん
2021/04/17(土) 14:59:53.08ID:TtKDi1tY c#くっそ簡単
380デフォルトの名無しさん
2021/04/17(土) 16:14:54.39ID:EFEahi1L 一応PyGame使えば作れなくもないけど茨の道にはなるな
381デフォルトの名無しさん
2021/04/17(土) 21:07:03.39ID:iAFP7ihp pygameもpysdlも死んでる
唯一renpyがギリギリセーフ
唯一renpyがギリギリセーフ
382デフォルトの名無しさん
2021/04/17(土) 21:26:43.05ID:0tYqrexD if
elif
elif
else
とやるとき、ifのどれかに当てはまるなら真 を実現したい。elifとelseの間が欲しいというか
やっぱり式をorで繋ぐとかフラグ立てるとかですか?
なにかいい方法はないでしょうか
elif
elif
else
とやるとき、ifのどれかに当てはまるなら真 を実現したい。elifとelseの間が欲しいというか
やっぱり式をorで繋ぐとかフラグ立てるとかですか?
なにかいい方法はないでしょうか
383デフォルトの名無しさん
2021/04/17(土) 21:28:34.30ID:0tYqrexD if節で一回、ifどれかで一回
2回真になるようにしたい
2回真になるようにしたい
384デフォルトの名無しさん
2021/04/17(土) 21:28:46.18ID:1yVGy8jt any()っていうのがあって
385デフォルトの名無しさん
2021/04/17(土) 22:28:44.96ID:WCDDnWyK386デフォルトの名無しさん
2021/04/17(土) 22:43:30.79ID:s7v5Gq+H387デフォルトの名無しさん
2021/04/17(土) 23:02:56.25ID:77qs+FV5388デフォルトの名無しさん
2021/04/17(土) 23:21:28.32ID:ZK8Jz6D4 if x in (1,2,...):
389デフォルトの名無しさん
2021/04/17(土) 23:45:05.57ID:svTSVNg/390デフォルトの名無しさん
2021/04/17(土) 23:49:49.78ID:XRREvbgB cond(x,cand)を2入力、真理値出力の関数として
if any(cond(x, cand) for cand in cands)
みたいにすれば出来そう
if any(cond(x, cand) for cand in cands)
みたいにすれば出来そう
391デフォルトの名無しさん
2021/04/18(日) 17:37:03.29ID:rCgywybM 私にはPちゃんの美的感覚が理解できない
392デフォルトの名無しさん
2021/04/19(月) 12:14:38.41ID:OCDt9d2T インスタンス変数ってすべてデコレータなどのpropertyでゲッターにしといた方がいいのでしょうか?
セッターもゲッターも作るとなるとそれ結局はインスタンス変数直接いじるのと変わりないのでは?と思ってしまうのですが。。
セッターもゲッターも作るとなるとそれ結局はインスタンス変数直接いじるのと変わりないのでは?と思ってしまうのですが。。
393デフォルトの名無しさん
2021/04/19(月) 12:22:19.31 >>382
a=4
if a==1:
_f=lambda : 'if'
elif a==2:
_f=lambda: 'elif1'
elif a==3:
_f=lambda: 'elif2'
else:
_f=lambda: 'else'
r = f()
print(r)
a=4
if a==1:
_f=lambda : 'if'
elif a==2:
_f=lambda: 'elif1'
elif a==3:
_f=lambda: 'elif2'
else:
_f=lambda: 'else'
r = f()
print(r)
394デフォルトの名無しさん
2021/04/19(月) 12:41:54.72ID:kI2qvD0r >>392
ゲット、セットする度に何か特殊な処理をしない限りはいらないと思う
ゲット、セットする度に何か特殊な処理をしない限りはいらないと思う
395デフォルトの名無しさん
2021/04/19(月) 16:55:55.60ID:yNbAi4BV >>393
そんな話はしてない
そんな話はしてない
396デフォルトの名無しさん
2021/04/19(月) 19:19:59.45ID:dcvAhRVy 死ねキチガイ
397デフォルトの名無しさん
2021/04/20(火) 07:29:55.55ID:j2wgvj4g tabula-pyを使った。
pyinstallerでのexe化の難易度高すぎて泣いた。
こういうの自力で解決できる奴すげーな。
pyinstallerでのexe化の難易度高すぎて泣いた。
こういうの自力で解決できる奴すげーな。
398デフォルトの名無しさん
2021/04/20(火) 07:37:31.95ID:ZUNvehNP Python3.6になったあたりからね>PyInstallerがむつかしめになった
399デフォルトの名無しさん
2021/04/20(火) 12:55:48.10ID:u1botkzs >>394
なるほどありがとうございました
なるほどありがとうございました
400デフォルトの名無しさん
2021/04/20(火) 19:19:47.13ID:z53EQ1rJ PyInstallerを簡単にするwrapperがあった気がする。
401デフォルトの名無しさん
2021/04/20(火) 19:42:33.15ID:dEbCnyUA pyinstaller以外にもなんかあったと思う
402デフォルトの名無しさん
2021/04/20(火) 20:15:00.66ID:ZUNvehNP フリーズとかなんとかってやつ?
あいつは重い でかい
あいつは重い でかい
403デフォルトの名無しさん
2021/04/21(水) 15:25:20.73ID:ZcIZV+lf pythonに限った話ではないかもですが、
定期的にデータを取得して最大値を更新していくような処理をする時、
初期値として
max = None
としておくと、
if max is None or max < new_value:
____max = new_value
みたいに、Noneかどうかの比較というのが必要になりますが、たった初回のNoneのために毎回比較するというのは処理(とくに処理時間等)として無駄でしょうか?
例えば初期値を、ありえないぐらい小さい値にしておいて、どんなデータが来ても必ず更新されるようにしておく、というやり方もあるかと思いますが、Noneのように「未反映」という状態を示したいです。
上記に限らず初期値をNoneにするといたる所でis Noneの判定が出てくるのでどうも無駄な比較に思えてならないのです。
気にするレベルではないならそう言っていただけると安心です。
定期的にデータを取得して最大値を更新していくような処理をする時、
初期値として
max = None
としておくと、
if max is None or max < new_value:
____max = new_value
みたいに、Noneかどうかの比較というのが必要になりますが、たった初回のNoneのために毎回比較するというのは処理(とくに処理時間等)として無駄でしょうか?
例えば初期値を、ありえないぐらい小さい値にしておいて、どんなデータが来ても必ず更新されるようにしておく、というやり方もあるかと思いますが、Noneのように「未反映」という状態を示したいです。
上記に限らず初期値をNoneにするといたる所でis Noneの判定が出てくるのでどうも無駄な比較に思えてならないのです。
気にするレベルではないならそう言っていただけると安心です。
404デフォルトの名無しさん
2021/04/21(水) 15:28:40.50ID:1AfR4JIy max=-inf でいいのでは
405デフォルトの名無しさん
2021/04/21(水) 15:32:09.42ID:1AfR4JIy max=-math.inf だったか
406デフォルトの名無しさん
2021/04/21(水) 15:50:40.25ID:rPf7kV48 初回だけはpred.としてNoneと比較する関数をyieldする
次回からは値を比較する関数をpred.としてyeildする
次回からは値を比較する関数をpred.としてyeildする
407デフォルトの名無しさん
2021/04/21(水) 16:58:18.40ID:n9Psf8QY >>403
自分が気にならないレベルかどうかを%timeitとかで計測して確かめるがいいと思うよ
自分が気にならないレベルかどうかを%timeitとかで計測して確かめるがいいと思うよ
408デフォルトの名無しさん
2021/04/21(水) 17:07:38.32ID:MgcuCfSX max_val = float('inf')
にしておいて逐一
max_val = max(max_val, new_val)
で良さそう
にしておいて逐一
max_val = max(max_val, new_val)
で良さそう
409デフォルトの名無しさん
2021/04/21(水) 17:07:52.06ID:MgcuCfSX -float('inf')か
410デフォルトの名無しさん
2021/04/21(水) 17:28:45.33ID:ZcIZV+lf inf無限大なんてものがあるなんて目からウロコでした!
これなら演算も比較も、format表示もエラーにならないので使えそうです。
yieldについても、なるほどそういう使い方があるんですね。
ありがとうございます。
>>407
速度については今度確認してみたいと思います。
これなら演算も比較も、format表示もエラーにならないので使えそうです。
yieldについても、なるほどそういう使い方があるんですね。
ありがとうございます。
>>407
速度については今度確認してみたいと思います。
411デフォルトの名無しさん
2021/04/22(木) 15:08:18.73ID:RM6sGe2J クラス内のメンバ変数って
やっぱり一番最初に全部宣言しとくべきですか?
色んな関数内で好き好きに宣言するのは良くないこと?
やっぱり一番最初に全部宣言しとくべきですか?
色んな関数内で好き好きに宣言するのは良くないこと?
412デフォルトの名無しさん
2021/04/22(木) 15:11:25.76ID:FRH+m68J Pythonはどこで宣言してもゆるしてくれるが
人間的には先頭にかためておけよ って思われる
人間的には先頭にかためておけよ って思われる
413デフォルトの名無しさん
2021/04/22(木) 15:43:11.18ID:aclQQfDP Javaの作法を敷衍させると先頭に固めるのが良いとの伝承がある
414デフォルトの名無しさん
2021/04/22(木) 16:36:07.85ID:RM6sGe2J あーやっぱりそうですよね
ありがとうございます
ありがとうございます
415デフォルトの名無しさん
2021/04/22(木) 18:20:22.69ID:aGoOGFqx チョンにはムリ
416デフォルトの名無しさん
2021/04/22(木) 18:55:37.92ID:1EPV8o9V pandasのdescribe()のような集計結果から(元データがなく、集計結果の数値のみが与えられた状況です)、これを用いてpythonで箱ひげ図を描く方法をご存知でしたら教えてください。matplotlibやseabornのboxplotは元データが必要のようで、行き詰っています。
417デフォルトの名無しさん
2021/04/22(木) 19:08:28.16ID:FRH+m68J419デフォルトの名無しさん
2021/04/22(木) 23:41:18.57ID:1DYnxoLB 大学の授業課題で使い方もろくに理解してないのにjupyter notebookを使って課題を提出しろとのお達しが出た
サンプルコードから見様見真似でいろいろやってみたけどエラーは出るし調べてもよく分からんし詰んだ
ちなみに「リスト同士の除算ができません」みたいなエラーメッセージが表示された。
サンプルコードから見様見真似でいろいろやってみたけどエラーは出るし調べてもよく分からんし詰んだ
ちなみに「リスト同士の除算ができません」みたいなエラーメッセージが表示された。
420デフォルトの名無しさん
2021/04/22(木) 23:48:13.63ID:1DYnxoLB >>419
以下サンプルコード
y_2 = 0.04
y_1 = 0.4
x_2 = 0.0
m = 1
lgr = 2.2
# Calculation
#
x_1_ast = y_1 / m # x*_1
ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
print(ys) # 分割点を表示
xs = y_to_x(ys, y_2, x_2, lgr) # ys の各点に対応する xs を計算
以上サンプルコード
y_2, y_1, mが他の値だった場合にどんなグラフになるかというのを一つの図で表示するのが課題なんだけど
y_2 = np.array([0.04, 0.02, 0.02)]
m = np.array([0.04, 0.02, 0.02)]
と変更すると
x_1_ast = y_1 / m
の部分で「リスト同士の除算は〜」みたいなエラーメッセージで弾かれた。
以下サンプルコード
y_2 = 0.04
y_1 = 0.4
x_2 = 0.0
m = 1
lgr = 2.2
# Calculation
#
x_1_ast = y_1 / m # x*_1
ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
print(ys) # 分割点を表示
xs = y_to_x(ys, y_2, x_2, lgr) # ys の各点に対応する xs を計算
以上サンプルコード
y_2, y_1, mが他の値だった場合にどんなグラフになるかというのを一つの図で表示するのが課題なんだけど
y_2 = np.array([0.04, 0.02, 0.02)]
m = np.array([0.04, 0.02, 0.02)]
と変更すると
x_1_ast = y_1 / m
の部分で「リスト同士の除算は〜」みたいなエラーメッセージで弾かれた。
421デフォルトの名無しさん
2021/04/23(金) 00:06:55.92ID:nXIvCLH2 書いてあるとおりnp.array同士では除算が定義されていないのでできないのだが
「どうなって欲しいか」とか「どういう値を求めたいか」とか
そういうことを教えてくれないと解決策は示せない
「どうなって欲しいか」とか「どういう値を求めたいか」とか
そういうことを教えてくれないと解決策は示せない
422デフォルトの名無しさん
2021/04/23(金) 00:24:12.09ID:Ds5Mqwcd 最終的には3つの各々の条件下での折れ線グラフを描きたい。
そのために必要なのがy_1, y_2, x_2, x_1_astの各条件での各々の数値なんだけど、
x_1_astは求めようとしてもエラーしか表示されないから詰んでる
そのために必要なのがy_1, y_2, x_2, x_1_astの各条件での各々の数値なんだけど、
x_1_astは求めようとしてもエラーしか表示されないから詰んでる
423デフォルトの名無しさん
2021/04/23(金) 00:32:28.03ID:6A70qFGF np.array同士の除算できるけど?
424デフォルトの名無しさん
2021/04/23(金) 00:54:37.81ID:WdOS9cbk みたいなエラーメッセージってなんやねん
そんな適当な情報で分かる訳ないやん
そんな適当な情報で分かる訳ないやん
425デフォルトの名無しさん
2021/04/23(金) 01:15:39.35ID:u+P4/XB4 numpy.ndarray
を見ると
んんだらアレイ
と読みがち
を見ると
んんだらアレイ
と読みがち
426デフォルトの名無しさん
2021/04/23(金) 03:03:36.79ID:edw1EohB427デフォルトの名無しさん
2021/04/23(金) 07:14:01.60ID:M88Kc634 >>425
N-Dimension-Array、N次配列の略じゃないか
N-Dimension-Array、N次配列の略じゃないか
428デフォルトの名無しさん
2021/04/23(金) 10:32:16.79ID:6lQGggig >>424
本当に申し訳ないが、pythonは齧った程度しか触ったことがなくて、エラーの内容も調べた限りではそんな感じのことを言っていた。としか言いようがなかった
本当に申し訳ないが、pythonは齧った程度しか触ったことがなくて、エラーの内容も調べた限りではそんな感じのことを言っていた。としか言いようがなかった
429デフォルトの名無しさん
2021/04/23(金) 10:47:36.13ID:6lQGggig >>426
https://techiedelight.com/compiler/?PrKN
↑ソースコード全部(多分合ってるはず)
以下エラーメッセージ
ValueError Traceback (most recent call last)
<ipython-input-22-a6ecd68a1745> in <module>()
44 ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
45 print(ys) # 分割点を表示
---> 46 xs = y_to_x(ys, y_2, x_2, lgr) # ys の各点に対応する xs を計算
47 # ==================================================================
48 # 作図
<ipython-input-22-a6ecd68a1745> in y_to_x(ys, y_2, x_2, lgr)
23 yy_2 = y_to_yy(y_2) # Y_2
24 xx_2 = y_to_yy(x_2) # X_2
---> 25 xxs = (yys - yy_2) / lgr + xx_2 # Xs=(Ys-Y_2) / LGR + X_2
26 xs = xx_to_x(xxs) # xs = xx_to_x(Xs)
27 return xs
ValueError: operands could not be broadcast together with shapes (7,) (6,)
要はlgrの値が0.5から増えていくとグラフはこのように移動していきます、ってのを表示させればいいんだけど、配列っぽくしてみたら詰んだ
どうせ課題の提出期限も切れたしこれを機にゆっくり勉強してみます。
https://techiedelight.com/compiler/?PrKN
↑ソースコード全部(多分合ってるはず)
以下エラーメッセージ
ValueError Traceback (most recent call last)
<ipython-input-22-a6ecd68a1745> in <module>()
44 ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
45 print(ys) # 分割点を表示
---> 46 xs = y_to_x(ys, y_2, x_2, lgr) # ys の各点に対応する xs を計算
47 # ==================================================================
48 # 作図
<ipython-input-22-a6ecd68a1745> in y_to_x(ys, y_2, x_2, lgr)
23 yy_2 = y_to_yy(y_2) # Y_2
24 xx_2 = y_to_yy(x_2) # X_2
---> 25 xxs = (yys - yy_2) / lgr + xx_2 # Xs=(Ys-Y_2) / LGR + X_2
26 xs = xx_to_x(xxs) # xs = xx_to_x(Xs)
27 return xs
ValueError: operands could not be broadcast together with shapes (7,) (6,)
要はlgrの値が0.5から増えていくとグラフはこのように移動していきます、ってのを表示させればいいんだけど、配列っぽくしてみたら詰んだ
どうせ課題の提出期限も切れたしこれを機にゆっくり勉強してみます。
430デフォルトの名無しさん
2021/04/23(金) 11:04:30.97ID:6A70qFGF (yys - yy_2) は要素数7でlgrは要素数6
形が違うので割り算できないよってこと
形が違うので割り算できないよってこと
431デフォルトの名無しさん
2021/04/23(金) 11:43:43.46ID:edw1EohB >>429
>lgr = [0.5, 1.0, 1.5, 2.0, 2.5, 3.0] # 液ガス比 L'_M / G"_M
lgrnの要素数が6つで
>ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
ysの要素数は7つで返ってくるから、要素数が違ってる関係でエラーになる
で、解決方法としては要素数を合わせればいいから
lgrに3.5を追加する、またはlinspaceの引数を6に変更すれば後は動く
以下はlgrに3.5を追加した場合のグラフ
https://i.imgur.com/gOS7wdU.png
>lgr = [0.5, 1.0, 1.5, 2.0, 2.5, 3.0] # 液ガス比 L'_M / G"_M
lgrnの要素数が6つで
>ys = np.linspace(y_2, y_1, 7) # 区間 [y_2, y_1] を 6 (=7-1) 分割
ysの要素数は7つで返ってくるから、要素数が違ってる関係でエラーになる
で、解決方法としては要素数を合わせればいいから
lgrに3.5を追加する、またはlinspaceの引数を6に変更すれば後は動く
以下はlgrに3.5を追加した場合のグラフ
https://i.imgur.com/gOS7wdU.png
432デフォルトの名無しさん
2021/04/23(金) 14:06:41.92ID:lnQ2Wtpu433デフォルトの名無しさん
2021/04/23(金) 21:14:39.28ID:Sg24bGS7 大卒らしいのに小卒みたいな奴っておるやん
そういう人種だと思っていただきたい
そういう人種だと思っていただきたい
434デフォルトの名無しさん
2021/04/23(金) 23:28:58.65ID:dmYMi7DT どうでもいいけどpython全然わからんて人向けの課題じゃない気が
435デフォルトの名無しさん
2021/04/23(金) 23:49:43.39ID:5bcZIOw5 サボっててついて行けてないだけだろ
436デフォルトの名無しさん
2021/04/24(土) 11:34:27.43ID:V3n+Hqik Tkinterでウィンドウの移動をマウスのドラッグで実施したいのですが、
タイトルバーではなく、表示部分?をドラッグする方法ってありませんか?
画像をサブウィンドウで表示させているのですが、タイトルを表示せず画像だけのサブウィンドウにしたくてお願いいたします
タイトルバーではなく、表示部分?をドラッグする方法ってありませんか?
画像をサブウィンドウで表示させているのですが、タイトルを表示せず画像だけのサブウィンドウにしたくてお願いいたします
437デフォルトの名無しさん
2021/04/24(土) 21:25:16.04ID:7lpOLCJL ファイルパスを受け取って画像かどうかを返す、シンプルな関数を作りたい
偽装(mimetypes)とか誤認(imghdr)とか避けたい
import pathlib
import filetype
path = pathlib.Path(xxx)
if path.is_file():
__is_img(path)
#
def is_img(path):
__answer = False
__obj = filetype.guess(str(path))
__if obj is not None:
____if obj.mime[:6] == "image/":
______answer = True
__returen answer
いまこんな感じなんですが、これで大丈夫だと思いますか?
一応手元で偽装ファイルとか色々投げて、問題ないっぽい雰囲気ではあるのですが…
また、もっと簡単な方法があれば教えてください
偽装(mimetypes)とか誤認(imghdr)とか避けたい
import pathlib
import filetype
path = pathlib.Path(xxx)
if path.is_file():
__is_img(path)
#
def is_img(path):
__answer = False
__obj = filetype.guess(str(path))
__if obj is not None:
____if obj.mime[:6] == "image/":
______answer = True
__returen answer
いまこんな感じなんですが、これで大丈夫だと思いますか?
一応手元で偽装ファイルとか色々投げて、問題ないっぽい雰囲気ではあるのですが…
また、もっと簡単な方法があれば教えてください
438デフォルトの名無しさん
2021/04/24(土) 21:49:17.04ID:PnhVzGZB python2のvirtualenv入れようと思って
python -m pip install virtualenv
ってやったら、複数の関連パッケージの処理をやったあとで
エラーで終了したんですが、こういう場合、そこまでに
動いた処理は元に戻る?それとも中途半端に放置される?
このあとで別の方法でパッケージインストールしたら、
最初に失敗したときの処理は中途半端な状態で残ることに
なるんじゃないかと思って気になってます。
今までこういう場合はもうよくわからないのでOSごと
再インストールしてたんですが、どなたか知ってる方が
いたら教えてください
python -m pip install virtualenv
ってやったら、複数の関連パッケージの処理をやったあとで
エラーで終了したんですが、こういう場合、そこまでに
動いた処理は元に戻る?それとも中途半端に放置される?
このあとで別の方法でパッケージインストールしたら、
最初に失敗したときの処理は中途半端な状態で残ることに
なるんじゃないかと思って気になってます。
今までこういう場合はもうよくわからないのでOSごと
再インストールしてたんですが、どなたか知ってる方が
いたら教えてください
439デフォルトの名無しさん
2021/04/24(土) 22:00:35.42ID:h9VLhHSB PIL.Imageで開けるか開けないか
440デフォルトの名無しさん
2021/04/25(日) 00:57:11.71ID:VZsvyaQ9 >>437
filetypeはjpg/png/gifの場合最初の2〜3バイトしか読まないので
https://github.com/h2non/filetype.py/blob/53bdccee0371fcc9463e2edd68d2cedb589d3a76/filetype/types/image.py#L23
その先頭2〜3バイトが偽装されていれば誤認する
そういうのが嫌なら439のように画像としてロードできるかまで確認すべきだ
ただし、437が想定するファイルを「偽装」してくるアタッカーがどういう人物像なのか不明なので
一概にどちらにすべきとは言えない
偽装ファイルでexploitを突こうと画策されているのでもなければfiletypeで十分だろう
filetypeはjpg/png/gifの場合最初の2〜3バイトしか読まないので
https://github.com/h2non/filetype.py/blob/53bdccee0371fcc9463e2edd68d2cedb589d3a76/filetype/types/image.py#L23
その先頭2〜3バイトが偽装されていれば誤認する
そういうのが嫌なら439のように画像としてロードできるかまで確認すべきだ
ただし、437が想定するファイルを「偽装」してくるアタッカーがどういう人物像なのか不明なので
一概にどちらにすべきとは言えない
偽装ファイルでexploitを突こうと画策されているのでもなければfiletypeで十分だろう
441デフォルトの名無しさん
2021/04/25(日) 01:16:14.07ID:FsB+Ww+M 画像として読み込める偽装データもないっけ
保持するつもりなら万全を期して読み込んで保存し直すくらいまでしたほうがいいかも
保持するつもりなら万全を期して読み込んで保存し直すくらいまでしたほうがいいかも
442デフォルトの名無しさん
2021/04/25(日) 09:46:28.78ID:0VwYrDNE443デフォルトの名無しさん
2021/04/25(日) 11:58:20.51ID:1lzxcbvy 画像ファイルだが読まれない部分に割れ物の断片を入れられてる…みたいな偽装と
ヘッダは画像ファイルだが中身は画像ではないという偽装は
ちょっと別の話かと
ヘッダは画像ファイルだが中身は画像ではないという偽装は
ちょっと別の話かと
444デフォルトの名無しさん
2021/04/25(日) 12:35:46.60ID:FsB+Ww+M 別だから別に言ってるんだが
何が問題なん?
何が問題なん?
445デフォルトの名無しさん
2021/04/25(日) 13:44:38.33ID:J5zsPVXp pandasでデータフレームを作成するときに
df = pd.DataFrame({'C': namae, 'A': tokuten, 'B': tokuten2})
のようにして実行すると、A, B, C の順に列が並んでしまいます。
C, A, B の順番に列を並ばせてつくりたいのですが、どうすればいいですか?
df = pd.DataFrame({'C': namae, 'A': tokuten, 'B': tokuten2})
のようにして実行すると、A, B, C の順に列が並んでしまいます。
C, A, B の順番に列を並ばせてつくりたいのですが、どうすればいいですか?
446デフォルトの名無しさん
2021/04/25(日) 14:54:36.65ID:wFtgTR9d Pythonのバージョンによっては、dictは順序保証しないからじゃないの?
横着せずにシーケンス(list/tuple)を使えばよい。
横着せずにシーケンス(list/tuple)を使えばよい。
447デフォルトの名無しさん
2021/04/25(日) 15:05:09.87ID:w/gigbrd448デフォルトの名無しさん
2021/04/25(日) 15:22:02.13ID:0VwYrDNE できないなら取り出すアプリつくれないだろJK
449デフォルトの名無しさん
2021/04/25(日) 15:43:50.39ID:stjG7043 判定・削除というからには、鍵を持たない第三者が偽装かどうかを見抜けるかという話でしょ
450デフォルトの名無しさん
2021/04/25(日) 15:52:52.45ID:FsB+Ww+M いちいち妙な判定しようとせずに
画像としてメモリに展開して
再保存すりゃいいだけじゃね
ついでに圧縮率も変えられるし
画像としてメモリに展開して
再保存すりゃいいだけじゃね
ついでに圧縮率も変えられるし
451デフォルトの名無しさん
2021/04/25(日) 15:53:07.93ID:piDGyGmF コンテナ利用するときにvirtualenvs併用するメリットってなんでしょう?
コンテナ内部で更にvirtualenvs使うのは二度手間なように感じています。
コンテナ内部で更にvirtualenvs使うのは二度手間なように感じています。
452デフォルトの名無しさん
2021/04/25(日) 15:59:25.19ID:KtTIhOup 言われてみりゃそうだな
453デフォルトの名無しさん
2021/04/25(日) 16:25:49.08ID:yZn73yTF454デフォルトの名無しさん
2021/04/25(日) 16:32:15.73ID:Uff2BRsY455デフォルトの名無しさん
2021/04/25(日) 17:38:00.13ID:OYNPlpSe コンテナで仮想環境使うのはアンチパターンやぞ
456デフォルトの名無しさん
2021/04/25(日) 18:34:24.22ID:Fk25aiPG >>454
ありがとうございます。
ありがとうございます。
457デフォルトの名無しさん
2021/04/25(日) 19:16:36.74ID:sodTi8GH458デフォルトの名無しさん
2021/04/25(日) 22:09:06.87ID:piDGyGmF459デフォルトの名無しさん
2021/04/28(水) 09:48:30.09ID:IxwcvE22 どうしてPython使ってる人ってswitch-caseなくても我慢できるんですか?
それしか知らないから不満を持ちようがないとか?
それしか知らないから不満を持ちようがないとか?
460デフォルトの名無しさん
2021/04/28(水) 09:58:49.52ID:Lpz9/b/L 我慢できるとかじゃなく、ないものはしょうがないだろ。
それがどうしても嫌ならpythonを使わなければいい。
なんらかの理由でpythonを使う(使わなければいけない)のなら、
他の人も同様でしょ。
それがどうしても嫌ならpythonを使わなければいい。
なんらかの理由でpythonを使う(使わなければいけない)のなら、
他の人も同様でしょ。
461デフォルトの名無しさん
2021/04/28(水) 10:21:09.69ID:hp9xP/+6 似たような処理は代入演算子とif,elif,elseでできるって書いてあったよ
462デフォルトの名無しさん
2021/04/28(水) 10:57:42.68ID:C/XDgQGy パターンマッチングも結局、式ではなく文なんだな。
463デフォルトの名無しさん
2021/04/28(水) 11:11:25.75ID:3EuQZ3Ew pythonみたいな構造体がきっちりしてるわけでもない言語なら
そこまでパターンマッチ必要にはならんだろ。
構造体からデータ取り出すのがそこまで面倒な言語でもない。
そこまでパターンマッチ必要にはならんだろ。
構造体からデータ取り出すのがそこまで面倒な言語でもない。
464デフォルトの名無しさん
2021/04/28(水) 11:38:24.28ID:ewi3Y8j6 >>461
switch(a){ ... } みたいなやつなら良いけど switch(a + 1){ … } とかだと一時変数を作るか各条件式にa + 1とか書くはめになるからねぇ
switch文があるに越したことはないと思う
switch(a){ ... } みたいなやつなら良いけど switch(a + 1){ … } とかだと一時変数を作るか各条件式にa + 1とか書くはめになるからねぇ
switch文があるに越したことはないと思う
465デフォルトの名無しさん
2021/04/28(水) 12:33:15.42ID:Je4EzdV5 構造体に使うイメージはなかったな
昨今のtypingの流儀に乗っかったんだと思う
昨今のtypingの流儀に乗っかったんだと思う
466デフォルトの名無しさん
2021/04/28(水) 13:19:32.28ID:hp9xP/+6467デフォルトの名無しさん
2021/04/28(水) 17:02:16.33ID:EhiFgjxN 文増えてくと混沌としてくるから今のPythonの流れはちょっとどうなのかなと思うところはある
468デフォルトの名無しさん
2021/04/28(水) 17:57:38.85ID:tBbflF5J python3.10か3.11でパターンマッチ来るんだっけ
469デフォルトの名無しさん
2021/04/28(水) 21:15:45.49ID:kjLpBedQ470デフォルトの名無しさん
2021/04/28(水) 21:23:17.33ID:jo1UoyuU switch-caseって、条件が等差数列となるときはjmp先を演算できるよねとできた
実にCらしい構文で、そういうことをしない言語にとっては実装が面倒なだけの構文かと
実にCらしい構文で、そういうことをしない言語にとっては実装が面倒なだけの構文かと
471デフォルトの名無しさん
2021/04/28(水) 21:27:42.21ID:7X7PmWB6 if文でやると汚くなる言語がswitchに逃げたとみたらどう
472デフォルトの名無しさん
2021/04/28(水) 21:46:19.33ID:HN4XQcog473デフォルトの名無しさん
2021/04/28(水) 22:03:43.50ID:lX6x7Umv 最近C#からswitch実質なくなったと聞いたぞ
中で
中で
474デフォルトの名無しさん
2021/04/28(水) 22:04:33.39ID:lX6x7Umv 中で条件式とか使えるようになって実質IFの羅列になったとか
475デフォルトの名無しさん
2021/04/28(水) 22:10:35.31ID:RJLrCSIQ >>472
パーサーを置き換えるのが面倒くさかったからだと思ってる
パーサーを置き換えるのが面倒くさかったからだと思ってる
476デフォルトの名無しさん
2021/04/29(木) 17:24:45.07ID:hj4NO6UY477デフォルトの名無しさん
2021/04/29(木) 18:11:22.33ID:8Iq2BU/P リテラルな値でのswitchならenumでシンプルにかけるしな
478デフォルトの名無しさん
2021/04/29(木) 20:52:09.39ID:naaqk/s1 ライブラリ使ってるとたまに
hoge(option=DEFAULT_TYPE)
みたいな感じでオプションを設定できるのがあったと思うのですが
このDEFAULT_TYPEの部分は変数を定義した覚えもないのに使えてた気がします
どういう仕組みなのでしょうか
hoge(option=DEFAULT_TYPE)
みたいな感じでオプションを設定できるのがあったと思うのですが
このDEFAULT_TYPEの部分は変数を定義した覚えもないのに使えてた気がします
どういう仕組みなのでしょうか
479デフォルトの名無しさん
2021/04/29(木) 20:55:11.65ID:hj4NO6UY from なんかのライブラリ import *
とかでその定数をimportしてると思うよ
とかでその定数をimportしてると思うよ
480デフォルトの名無しさん
2021/04/30(金) 09:28:09.56ID:MB7wv8yI オブジェクト指向は全然分からないからクラスの定義は出来ない
でも関数だけで何とか出来ちゃうから有難いわ
でも関数だけで何とか出来ちゃうから有難いわ
481デフォルトの名無しさん
2021/04/30(金) 09:55:14.88ID:rWXbtYRM >>479
なるほど
どのライブラリだったか忘れて確かめられませんが
読み込み先でDEFAULT_TYPEをprintすれば何かわかりそうですね
#hoge.py
DEFAULT_TYPE='default'
class Hoge:
def fuga(self,*,option=None):
print('Option: %s'%option)
#
from hoge import Hoge,DEFAULT_TYPE
h=Hoge()
h.fuga(option=DEFAULT_TYPE)
上のようにimportでDEFAULT_TYPEしていたかどうか
でなければhoge.DEFAULT_TYPEという指定だったか記憶が曖昧ですが
こんな感じでできました
import DEFAULT_TYPEしなくてもDEFAULT_TYPEだけでいけた気がするのですが
記憶違いだったかもしれません
なるほど
どのライブラリだったか忘れて確かめられませんが
読み込み先でDEFAULT_TYPEをprintすれば何かわかりそうですね
#hoge.py
DEFAULT_TYPE='default'
class Hoge:
def fuga(self,*,option=None):
print('Option: %s'%option)
#
from hoge import Hoge,DEFAULT_TYPE
h=Hoge()
h.fuga(option=DEFAULT_TYPE)
上のようにimportでDEFAULT_TYPEしていたかどうか
でなければhoge.DEFAULT_TYPEという指定だったか記憶が曖昧ですが
こんな感じでできました
import DEFAULT_TYPEしなくてもDEFAULT_TYPEだけでいけた気がするのですが
記憶違いだったかもしれません
482デフォルトの名無しさん
2021/04/30(金) 15:52:58.65ID:4ngw0sc5 tkinterのdestroy()って親を殺せば子は見逃しても問題ない?
全部明示して殺す必要ありますか?
ガベージコレクションが頑張るから大丈夫なのかな
全部明示して殺す必要ありますか?
ガベージコレクションが頑張るから大丈夫なのかな
483デフォルトの名無しさん
2021/04/30(金) 21:22:20.53ID:S74Hi/jw 親をdestroyすれば子供子孫すべてdestroyする
484デフォルトの名無しさん
2021/04/30(金) 21:47:35.28ID:Xt8J6sgV 通報しませんでした
485デフォルトの名無しさん
2021/04/30(金) 22:00:05.11ID:9cqxfo3+ def destroy(self):
for c in list(self.children.values()): c.destroy()
親は子供を殺すが孫は殺さない
子供が孫を殺す
for c in list(self.children.values()): c.destroy()
親は子供を殺すが孫は殺さない
子供が孫を殺す
486デフォルトの名無しさん
2021/04/30(金) 22:10:04.55ID:lUzIA11U 殺すとか殺さないとか
物騒なスレですね
物騒なスレですね
487デフォルトの名無しさん
2021/04/30(金) 22:57:56.75ID:sx17ZQMm gc働かないん?
488デフォルトの名無しさん
2021/05/01(土) 06:16:19.35ID:Ca2DZO3D stack overflowの書き込みで、親が死ねば孤独になった子供はGCがやがて消す
消えるまでメモリには残る って書いてあった気がする
消えるまでメモリには残る って書いてあった気がする
489デフォルトの名無しさん
2021/05/01(土) 07:41:58.14ID:PUOqmJZW490デフォルトの名無しさん
2021/05/01(土) 08:15:27.05ID:gyFQOP1a >>477
そのswitchの代わりという使い方だと、PythonのEnumはいまいちですわ。
JavaのEnumがまさにそういう使い方ができるようになっている(Strategy/Stateパターン)。
そのswitchの代わりという使い方だと、PythonのEnumはいまいちですわ。
JavaのEnumがまさにそういう使い方ができるようになっている(Strategy/Stateパターン)。
491デフォルトの名無しさん
2021/05/01(土) 10:02:13.72ID:qiYKVwJr syntaxエラーをチェックするツールありますか?
492デフォルトの名無しさん
2021/05/01(土) 12:52:24.80ID:R4IHrQy8 python -m py_compile ソースファイル
493デフォルトの名無しさん
2021/05/01(土) 13:22:27.14ID:qiYKVwJr >>492
ありがとうございました。
*.pyでソースを指定したら全部.pycが出来上がり、ノーエラーでした。
試しにwhileの:を削除してみたらSyntaxErrorの指摘が表示されました。
これで安心です。
ありがとうございました。
*.pyでソースを指定したら全部.pycが出来上がり、ノーエラーでした。
試しにwhileの:を削除してみたらSyntaxErrorの指摘が表示されました。
これで安心です。
494デフォルトの名無しさん
2021/05/01(土) 13:29:51.59ID:psDEcvhX flake8とか使えば良くない…?
495デフォルトの名無しさん
2021/05/01(土) 13:50:54.37ID:oZHy3HfC うちはflake8とblack派だけど勉強になった
496デフォルトの名無しさん
2021/05/01(土) 13:52:21.43ID:jntNu2g9 linterだと、実際動くかどうかまではわからないことが多いと思う
いくつかあるlinterの中では俺もflake8を使ってるわ
いくつかあるlinterの中では俺もflake8を使ってるわ
497デフォルトの名無しさん
2021/05/01(土) 17:57:55.31ID:qiYKVwJr PyQtで自動生成されるuiソースもflake8で結構色々でますね。
自分のソースは通信系なのでtry/except入れているのでsyntaxエラーさえも例外で通信リカバリーみたいになるので悩んでました。
自分のソースは通信系なのでtry/except入れているのでsyntaxエラーさえも例外で通信リカバリーみたいになるので悩んでました。
498デフォルトの名無しさん
2021/05/01(土) 21:57:09.95ID:qfW/WcRP >>496
Syntax Errorはちゃんとでるんでないかい?
一方で、こういう逆のケースはある。
globals()['tau'] = 6.283185
print(tau) # linterやIDEではエラーとでるけど、実際にはちゃんと動く
Syntax Errorはちゃんとでるんでないかい?
一方で、こういう逆のケースはある。
globals()['tau'] = 6.283185
print(tau) # linterやIDEではエラーとでるけど、実際にはちゃんと動く
499デフォルトの名無しさん
2021/05/02(日) 15:17:35.67ID:v2ZnBcL1 a = ['a','b','c']
if not a[3]:
_print()
javascriptみたいにundefinedになってくれればと思ったのですが
pythonはIndexErrorが出るみたいですね
これを場合分けしようと思うと、try使うしかないですよね?
list index out of rangeの場合はelseそれ以外は値を取得
みたいにifだけ書きたいと思ったんですけどね
if not a[3]:
_print()
javascriptみたいにundefinedになってくれればと思ったのですが
pythonはIndexErrorが出るみたいですね
これを場合分けしようと思うと、try使うしかないですよね?
list index out of rangeの場合はelseそれ以外は値を取得
みたいにifだけ書きたいと思ったんですけどね
500デフォルトの名無しさん
2021/05/02(日) 15:20:45.85ID:Eu1LZK3p idx < len(a)でインデックスが範囲内にあることを確認するとか?
501デフォルトの名無しさん
2021/05/02(日) 15:20:49.97ID:zAlV+S16 dictならそういうのあるけどlistはないな
len(list)で長さ確認してから取得するか、try-catchするしか無い
len(list)で長さ確認してから取得するか、try-catchするしか無い
502デフォルトの名無しさん
2021/05/02(日) 20:42:49.07ID:x2TfprvW if not a[3:]:
で ok
で ok
503デフォルトの名無しさん
2021/05/02(日) 23:59:52.42ID:Qiy/T2Qn listを拡張して独自クラスを定義するのはどうか
class DefaultList(list):
__def __getitem__(self,i):
____if i<len(self):
______return super().__getitem__(i)
____else:
______return None
a=DefaultList([‘a’,’b’,’c’])
if not a[3]:
class DefaultList(list):
__def __getitem__(self,i):
____if i<len(self):
______return super().__getitem__(i)
____else:
______return None
a=DefaultList([‘a’,’b’,’c’])
if not a[3]:
504デフォルトの名無しさん
2021/05/03(月) 00:41:21.84ID:4Jcj15/I >>502
スライス範囲を絞ってif not a[idx: idx + 1]とかにしたらより速くなりそう
スライス範囲を絞ってif not a[idx: idx + 1]とかにしたらより速くなりそう
505デフォルトの名無しさん
2021/05/03(月) 08:29:57.06ID:oY4C2yCE いきなりStopIterationで止まるだけだから、長さ関係ないだろ。
普通にlenでいい。
JavaScriptやPHPのリスト"もどき"と比べるのもナンセンス。
普通にlenでいい。
JavaScriptやPHPのリスト"もどき"と比べるのもナンセンス。
506デフォルトの名無しさん
2021/05/03(月) 09:20:58.90ID:TDKc9ux4 環境はwindows10 64bitです
親フォルダ
:子フォルダA:画像1.画像2
:子フォルダB:画像1..
という構造があって,pathlibで生成した子フォルダのpathをiterdir()で回して
画像pathをPILのImage.openで読もうとしてるんですが
親か子のフォルダ名がめっちゃ長くなると
FileNotFoundError: [Errno 2] No such file or directoryになるやつが出たり出なかったりします
フォルダ名を短くして,画像名を最大まで長くした場合はエラーが出ません
何が原因で,どうすれば読めるようにできますか?
できればエラーキャッチしてその場で読めるようにしたい (フォルダ名のリネームはとりあえず置いておきたい)
親フォルダ
:子フォルダA:画像1.画像2
:子フォルダB:画像1..
という構造があって,pathlibで生成した子フォルダのpathをiterdir()で回して
画像pathをPILのImage.openで読もうとしてるんですが
親か子のフォルダ名がめっちゃ長くなると
FileNotFoundError: [Errno 2] No such file or directoryになるやつが出たり出なかったりします
フォルダ名を短くして,画像名を最大まで長くした場合はエラーが出ません
何が原因で,どうすれば読めるようにできますか?
できればエラーキャッチしてその場で読めるようにしたい (フォルダ名のリネームはとりあえず置いておきたい)
507デフォルトの名無しさん
2021/05/03(月) 09:25:40.83ID:YjR4A9Iz >>506
フルパスが長すぎてpython内であふれてしまうのが原因
フルパスではなくショートパスを生成して、それでやりとりするようにすればとりま回避できるが
あまりに長いフルパスは非推奨なのでとりま置いておいたとしてもいつかは直せ
フルパスが長すぎてpython内であふれてしまうのが原因
フルパスではなくショートパスを生成して、それでやりとりするようにすればとりま回避できるが
あまりに長いフルパスは非推奨なのでとりま置いておいたとしてもいつかは直せ
508デフォルトの名無しさん
2021/05/03(月) 09:47:03.23ID:GN4IAf32 PythonじゃなくてWindowsのせい
多分これでしょう
Windowsはデフォで絶対パス260文字制限があるらしいから、解除したいならレジストリをいじる必要がある
https://bizlog.tech/windows-maxpath-change/
多分これでしょう
Windowsはデフォで絶対パス260文字制限があるらしいから、解除したいならレジストリをいじる必要がある
https://bizlog.tech/windows-maxpath-change/
509デフォルトの名無しさん
2021/05/03(月) 09:59:34.50ID:YBya6Fwz フォルダ名はわかるけど
ファイル名長いのが大丈夫なのはなんでだ?
ファイル名長いのが大丈夫なのはなんでだ?
510デフォルトの名無しさん
2021/05/03(月) 12:48:07.42ID:TDKc9ux4 >>507
なるほど
今回はpyinstaller使いたくて、そうするとwin32apiとの相性が悪いっつーかショートパスが危険球っぽいんで
もうロングパスは受け付けないことにします。ありがとうございました
なるほど
今回はpyinstaller使いたくて、そうするとwin32apiとの相性が悪いっつーかショートパスが危険球っぽいんで
もうロングパスは受け付けないことにします。ありがとうございました
511デフォルトの名無しさん
2021/05/03(月) 12:52:29.86ID:YjR4A9Iz512デフォルトの名無しさん
2021/05/03(月) 18:53:48.47ID:YjR4A9Iz >>510追記
ところで、相対パス/絶対パス/フルパス/短縮(ショート)パスの違いはわかってるんだよな???
ところで、相対パス/絶対パス/フルパス/短縮(ショート)パスの違いはわかってるんだよな???
513デフォルトの名無しさん
2021/05/03(月) 23:59:09.62ID:9/VcaNVK その情報要る?
たぶん抜本的には裏で構造体を丸ごと短い名前でコピーして、それを処理して返すようにするとかいう話じゃね
たぶん抜本的には裏で構造体を丸ごと短い名前でコピーして、それを処理して返すようにするとかいう話じゃね
514デフォルトの名無しさん
2021/05/04(火) 00:11:11.66ID:MueeR1Ae まあショートネームは避けたい
そもそも超ロングパスがあり得る環境だとショートパス化できない文字列がぶち込まれそうだし
長いのはエラー吐くか
コピー→リネーム→処理→置き換え たい
そもそも超ロングパスがあり得る環境だとショートパス化できない文字列がぶち込まれそうだし
長いのはエラー吐くか
コピー→リネーム→処理→置き換え たい
515デフォルトの名無しさん
2021/05/04(火) 00:59:43.45ID:Zkcb+r3V Windowsの場合はPythonのインストールの最後に260文字制限を解除するか
聞かれたような気がする
聞かれたような気がする
516デフォルトの名無しさん
2021/05/04(火) 11:15:39.91ID:MTtoo9am win上のpythonて32767文字扱えないのか
517デフォルトの名無しさん
2021/05/04(火) 12:20:24.62ID:g/PMv139518デフォルトの名無しさん
2021/05/04(火) 14:21:30.25ID:QySiaJ1m 以下のようなデータセットのリストがあり、例えば各nameごとに、valueが最大となるものだけ抽出したい場合に内包表記や関数などで簡単に書ける方法はありますか?
[
{'name': 'a', 'value': 100},
{'name': 'a', 'value': 200},
{'name': 'b', 'value': 50},
{'name': 'b', 'value': 105},
{'name': 'c', 'value': 150}
]
↓こういうリストとして抽出したいです。
[
{'name': 'a', 'value': 200},
{'name': 'b', 'value': 105},
{'name': 'c', 'value': 150}
]
valueはタイムスタンプ等で最新のものだけ抽出する、といった使い方をしたいです。
[
{'name': 'a', 'value': 100},
{'name': 'a', 'value': 200},
{'name': 'b', 'value': 50},
{'name': 'b', 'value': 105},
{'name': 'c', 'value': 150}
]
↓こういうリストとして抽出したいです。
[
{'name': 'a', 'value': 200},
{'name': 'b', 'value': 105},
{'name': 'c', 'value': 150}
]
valueはタイムスタンプ等で最新のものだけ抽出する、といった使い方をしたいです。
519デフォルトの名無しさん
2021/05/04(火) 14:46:49.13ID:7YaPXlVC 聞く限りだとfor name, value in data:とかで回して
out[name] = max(out[name], value)
みたいな感じで処理したら良さそうだけど
out[name] = max(out[name], value)
みたいな感じで処理したら良さそうだけど
520デフォルトの名無しさん
2021/05/04(火) 15:14:35.45ID:E49Bjnaf df.groupby('name').max()
521デフォルトの名無しさん
2021/05/04(火) 15:16:48.68ID:QySiaJ1m >>519
ありがとうございます。
後出しで申し訳ないのですが、各データはvalue以外にも複数の属性値をもった辞書データになってます。
nameは抽出後は当然ユニークになりますが、抽出後もリストのままで並びも元の並びはキープしておきたいです。
SQLで言う、GROUP BYしてMAX関数適用するような感じの抽出方法はないかなと思いまして。
ありがとうございます。
後出しで申し訳ないのですが、各データはvalue以外にも複数の属性値をもった辞書データになってます。
nameは抽出後は当然ユニークになりますが、抽出後もリストのままで並びも元の並びはキープしておきたいです。
SQLで言う、GROUP BYしてMAX関数適用するような感じの抽出方法はないかなと思いまして。
522デフォルトの名無しさん
2021/05/04(火) 15:20:08.13ID:QySiaJ1m523デフォルトの名無しさん
2021/05/04(火) 15:35:54.90ID:LRawq6Xg 一応pythonの組み込みライブラリにもgroupbyってあったよね
pandasでやるのが一番手っ取り早いと思うけど
pandasでやるのが一番手っ取り早いと思うけど
524デフォルトの名無しさん
2021/05/04(火) 16:05:52.03ID:Z3Fw33AT Ruby なら、
input = [ {'name': 'a', 'value': 100}, {'name': 'c', 'value': 150}, {'name': 'a', 'value': 200} ]
result = input.group_by{ |hash| hash[ :name ] }.map do |ary|
ary[ 1 ].max_by{ |hash| hash[ :value ] }
end
p result #=> [{:name=>"a", :value=>200}, {:name=>"c", :value=>150}]
input = [ {'name': 'a', 'value': 100}, {'name': 'c', 'value': 150}, {'name': 'a', 'value': 200} ]
result = input.group_by{ |hash| hash[ :name ] }.map do |ary|
ary[ 1 ].max_by{ |hash| hash[ :value ] }
end
p result #=> [{:name=>"a", :value=>200}, {:name=>"c", :value=>150}]
525デフォルトの名無しさん
2021/05/04(火) 16:52:55.89ID:sM9M0m2z >>524
グロ
グロ
526デフォルトの名無しさん
2021/05/04(火) 16:53:31.46ID:plXKAz40 おっルビおじw
527デフォルトの名無しさん
2021/05/04(火) 17:23:42.38ID:5sA+/wAg >>518
愚直に内包表記
[
{‘name’:name, ‘value’:max(record[‘value’] for record in data if record[‘name’]==name)}
for name in set(r[‘name’] for r in data)
]
ただしnameの並びは崩れる
愚直に内包表記
[
{‘name’:name, ‘value’:max(record[‘value’] for record in data if record[‘name’]==name)}
for name in set(r[‘name’] for r in data)
]
ただしnameの並びは崩れる
528デフォルトの名無しさん
2021/05/04(火) 19:52:15.91ID:ns0mTqm6 pathlib.iterdir()の読み込み順ってどういう仕組みで制御されてるのかな
windowsは昇順001>0001なんだけど、natsortとかos_sortedでも0001>001になるのが
pathlibのジェネレーターはOSソートに追従してる気がする…偶然?
windowsは昇順001>0001なんだけど、natsortとかos_sortedでも0001>001になるのが
pathlibのジェネレーターはOSソートに追従してる気がする…偶然?
529デフォルトの名無しさん
2021/05/05(水) 08:36:34.57ID:/UG/+rZL ちょっと試してみたんだけど
01.txt
1.txt
2.txt
0010.txt
a.a.01.txt
a.a001.txt
explolerの名前の昇順でこう表示されるディレクトリを
同じ並びで出力するソート形式はないような気がする
natsortもos_sortedも効かないw
すごいなwindowsどうなってんだ
01.txt
1.txt
2.txt
0010.txt
a.a.01.txt
a.a001.txt
explolerの名前の昇順でこう表示されるディレクトリを
同じ並びで出力するソート形式はないような気がする
natsortもos_sortedも効かないw
すごいなwindowsどうなってんだ
530デフォルトの名無しさん
2021/05/05(水) 08:55:12.40ID:XnkETAr1 [natsorted[数字だけのファイル], sorted[文字あり]]
うーん……
うーん……
531デフォルトの名無しさん
2021/05/05(水) 09:20:35.28ID:szdX8X2R windowsのファイル名ソートアルゴリズムが謎
532デフォルトの名無しさん
2021/05/05(水) 09:30:37.39ID:wUp61E7s その謎、前からあるやで
533デフォルトの名無しさん
2021/05/05(水) 10:06:42.44ID:0XQqNpVi Win32APIのStrCmpLogicalW
534デフォルトの名無しさん
2021/05/05(水) 11:25:44.55ID:/UG/+rZL535デフォルトの名無しさん
2021/05/05(水) 11:29:21.21ID:9+xzMV/Q うわぁ…
536デフォルトの名無しさん
2021/05/05(水) 12:30:31.81ID:gzgZcJa9 OSリリースごとに結果が変わる可能性があるので正規化に使用してはいけませんとか注意書きが書あるAPI
537デフォルトの名無しさん
2021/05/05(水) 13:00:05.01ID:kj6fybeU >>531
つ https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
つ https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
538デフォルトの名無しさん
2021/05/05(水) 14:28:38.34ID:wUp61E7s >>536
XP→10で変わって戸惑ったきおく
XP→10で変わって戸惑ったきおく
539デフォルトの名無しさん
2021/05/05(水) 15:35:37.41ID:dvz+9Kky 定期的にこの話題でるな
540デフォルトの名無しさん
2021/05/05(水) 16:25:24.24ID:7m6bX2W0 >>534
__le__, __ge__, __ne__がそれぞれ1, -1, 0と比較してるのって間違ってない?
使われなくて影響ないのかもだけど
functoolsのcmp_to_keyを使えば
sorted(paths, key=cmp_to_key(win_cmp))で済むよ
同じAPI使ってるのにソート結果が違うのは
os_sortedのバグだと思うのでissueあげとくといいかも
__le__, __ge__, __ne__がそれぞれ1, -1, 0と比較してるのって間違ってない?
使われなくて影響ないのかもだけど
functoolsのcmp_to_keyを使えば
sorted(paths, key=cmp_to_key(win_cmp))で済むよ
同じAPI使ってるのにソート結果が違うのは
os_sortedのバグだと思うのでissueあげとくといいかも
541デフォルトの名無しさん
2021/05/05(水) 18:38:45.20ID:sGblmxZ3 from functools import cmp_to_key
import ctyps
def win_sort(obj):
__def win_cmp(s1, s2):
____shlw = ctypes.windll.LoadLibrary("SHLWAPI.dll")
____return shlw.StrCmpLogicalW(str(s1), str(s2))
__return sorted(obj, key=cmp_to_key(win_cmp))
なるほど
import ctyps
def win_sort(obj):
__def win_cmp(s1, s2):
____shlw = ctypes.windll.LoadLibrary("SHLWAPI.dll")
____return shlw.StrCmpLogicalW(str(s1), str(s2))
__return sorted(obj, key=cmp_to_key(win_cmp))
なるほど
542デフォルトの名無しさん
2021/05/05(水) 19:54:48.41ID:MgJEgPkj543デフォルトの名無しさん
2021/05/06(木) 03:36:21.23ID:Za2B/gSh tkinterでMVCに挑戦してるんですが
例えばapp.verとかicon用base64文字列とかの定数?はどこに書くんでしょうか
アプリケーション(root)固有の情報は全部Cに書いてる人もいれば
非画像データはM、画像関係はVに置いてる人もいて
どう考えたらいいのか教えてください
例えばapp.verとかicon用base64文字列とかの定数?はどこに書くんでしょうか
アプリケーション(root)固有の情報は全部Cに書いてる人もいれば
非画像データはM、画像関係はVに置いてる人もいて
どう考えたらいいのか教えてください
544デフォルトの名無しさん
2021/05/06(木) 10:33:21.16ID:84/gBo5v >>540
母胎osの仕様が変わるんだから手に負えない
母胎osの仕様が変わるんだから手に負えない
545デフォルトの名無しさん
2021/05/06(木) 10:34:55.21ID:84/gBo5v546デフォルトの名無しさん
2021/05/06(木) 19:28:22.80ID:yKLn4IC5 tkinterで応答なしを回避するには
別スレッドに処理投げるしかない?
できればthreading使いたくない
別スレッドに処理投げるしかない?
できればthreading使いたくない
547デフォルトの名無しさん
2021/05/06(木) 19:30:05.47ID:1p3Rvf0Y Winならレジストリいじってタイムアウトと判断する秒数を変える
548デフォルトの名無しさん
2021/05/06(木) 20:30:14.34ID:v54vsLS/ import pandas as pd
df = pd.DataFrame([['ia','ib','ic'],['id','ie','if']],columns=['a','b','c'])
if not df==None:
_print(df)
ってやると
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
というエラーが出ましたが
仮にdf=Noneだった場合にdf.all()とかやると今度はNoneはallを持ってません的なエラーがでます
こういうときってどう対応すればよいでしょうか
df = pd.DataFrame([['ia','ib','ic'],['id','ie','if']],columns=['a','b','c'])
if not df==None:
_print(df)
ってやると
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
というエラーが出ましたが
仮にdf=Noneだった場合にdf.all()とかやると今度はNoneはallを持ってません的なエラーがでます
こういうときってどう対応すればよいでしょうか
549デフォルトの名無しさん
2021/05/06(木) 20:33:45.39ID:v54vsLS/ ちなみに今は
if not str(df)=='None':
ってやってます
if not str(df)=='None':
ってやってます
550デフォルトの名無しさん
2021/05/06(木) 20:54:15.24ID:yh3xJpCx >>548
そもそもNone判定したい場合は==じゃなくてisを使う
if df is Not None:
みたいな書き方にする必要がある
で、注意点として
df = pd.DataFrame()
みたいに、空のデータフレームで初期化してる場合はNoneではない(is Noneで判定してもFalseで返ってくる)
空かどうかを判定したい場合はemptyを使う
そもそもNone判定したい場合は==じゃなくてisを使う
if df is Not None:
みたいな書き方にする必要がある
で、注意点として
df = pd.DataFrame()
みたいに、空のデータフレームで初期化してる場合はNoneではない(is Noneで判定してもFalseで返ってくる)
空かどうかを判定したい場合はemptyを使う
551デフォルトの名無しさん
2021/05/06(木) 20:54:36.39ID:PCWSPh5c if df is not None:
に変える
理屈は込み入っているので他の人にお任せする
に変える
理屈は込み入っているので他の人にお任せする
552デフォルトの名無しさん
2021/05/06(木) 20:59:03.00ID:yh3xJpCx 間違ってNotが大文字になってた……notが正しい
553デフォルトの名無しさん
2021/05/06(木) 21:14:18.42ID:v54vsLS/554515
2021/05/06(木) 22:01:24.30ID:DEG1F9Nj >>506
pythonの初回インストール時に以下の英文が表示されるので
この英文部分をクリック
Disable path length limit
Changes your machine configuration to allow programs,including Python,
to bypass the 260 character”MAX_PATH” limitation.
pythonのアップデートもかねて
今使ってるバージョンの最新版インストーラーを公式からダウンロードして実行し
最後のダイアログに上の英文が表示されたらクリックしてみて
pythonの初回インストール時に以下の英文が表示されるので
この英文部分をクリック
Disable path length limit
Changes your machine configuration to allow programs,including Python,
to bypass the 260 character”MAX_PATH” limitation.
pythonのアップデートもかねて
今使ってるバージョンの最新版インストーラーを公式からダウンロードして実行し
最後のダイアログに上の英文が表示されたらクリックしてみて
555デフォルトの名無しさん
2021/05/07(金) 00:28:15.35ID:TdDivYCp >>554
配布用なのでロングパスは許さんマンにしました…
配布用なのでロングパスは許さんマンにしました…
556デフォルトの名無しさん
2021/05/07(金) 05:18:06.85ID:yOYKTU3u if df:
じゃだめなの
じゃだめなの
557デフォルトの名無しさん
2021/05/07(金) 05:30:41.77ID:FZBmU73W 一連の作業のなかで
2回同じ相手にループ処理をします
一回は存在確認、もう一回はデータ取得
処理の距離が結構離れてるんだけど、一回目のときにデータ取得もして放置しておくことはできます
こういうとき、きちんと2回に分けた方がいいですか?
一回でガバっとやっていいですか?
2回同じ相手にループ処理をします
一回は存在確認、もう一回はデータ取得
処理の距離が結構離れてるんだけど、一回目のときにデータ取得もして放置しておくことはできます
こういうとき、きちんと2回に分けた方がいいですか?
一回でガバっとやっていいですか?
558デフォルトの名無しさん
2021/05/07(金) 10:57:12.07ID:O1URPzeE559デフォルトの名無しさん
2021/05/07(金) 11:37:20.61ID:fHTm+yKw >>546
after() after_cancel() を多用するイメージ
after() after_cancel() を多用するイメージ
560デフォルトの名無しさん
2021/05/07(金) 11:39:40.44ID:fHTm+yKw >>557
2回目までに消えてる可能性が無いと保証されてるならいつでもいい
2回目までに消えてる可能性が無いと保証されてるならいつでもいい
561デフォルトの名無しさん
2021/05/07(金) 12:31:30.97ID:MaAf4oEf 現在のバージョンがPython 3.8.7 - Dec. 21, 2020とした場合
同じ3.8系の中から現時点で最新のPython 3.8.10 - May 3, 2021をインストール
3.8系から3.9とか3.10に変えると、pipを使ってインストールしたパッケージが動かないことがある
かもしれないので変えないほうが良いと思う
how to Update Python to the Latest Version
https://www.youtube.com/watch?v=UXSxBx8eG28
同じ3.8系の中から現時点で最新のPython 3.8.10 - May 3, 2021をインストール
3.8系から3.9とか3.10に変えると、pipを使ってインストールしたパッケージが動かないことがある
かもしれないので変えないほうが良いと思う
how to Update Python to the Latest Version
https://www.youtube.com/watch?v=UXSxBx8eG28
562デフォルトの名無しさん
2021/05/07(金) 20:02:05.37ID:StgLFl94 コールバック関数の説明は、
公式ドキュメントのどこに書いてありますか?
公式ドキュメントのどこに書いてありますか?
563デフォルトの名無しさん
2021/05/07(金) 20:42:35.41ID:HcCkNDs0 bindで探せば情報はある
bindの実装をソースで見れば
わかるんじゃ
コールバック関数自体はただの関数が
コールバックで呼ばれてるだけなので
説明とかあるかな
bindの実装をソースで見れば
わかるんじゃ
コールバック関数自体はただの関数が
コールバックで呼ばれてるだけなので
説明とかあるかな
564デフォルトの名無しさん
2021/05/07(金) 22:32:12.12ID:TdDivYCp max(0, 10)
で10が返るのはなぜですか?
で10が返るのはなぜですか?
565デフォルトの名無しさん
2021/05/07(金) 22:32:58.62ID:TdDivYCp あ、もうしわけない
これkeyじゃないんですね
早とちりしました…
これkeyじゃないんですね
早とちりしました…
566デフォルトの名無しさん
2021/05/08(土) 08:55:22.68ID:DE4arKCM 全体的に人がいないね。
567デフォルトの名無しさん
2021/05/09(日) 17:43:20.28ID:29Yn0Nuv ttps://techiedelight.com/compiler/?AUYY
こういう練習問題があるんだが、こういうアルゴリズム?をぱっと思いつくようになるにはどうしたらいいんだろうか
何度も挑戦したからもはや覚えてしまったんだが、似たような問題出されても答えられる気がしないし
ゴールとしては問題形式ではなく自分のプログラミングで出てくる必要があるんだろうし
こういう練習問題があるんだが、こういうアルゴリズム?をぱっと思いつくようになるにはどうしたらいいんだろうか
何度も挑戦したからもはや覚えてしまったんだが、似たような問題出されても答えられる気がしないし
ゴールとしては問題形式ではなく自分のプログラミングで出てくる必要があるんだろうし
568デフォルトの名無しさん
2021/05/09(日) 17:52:07.18ID:E0SRP95C 自分の手でやるとしたらどうするか考える
その手順をフローチャートに書き出す
それを素直にコードに落とす
それをイケてる感じにリファクタリングする
まあ実際そんなのできなくてもモノは作れるし、特にPythonはそういうアルゴリズム書ける人は少ないと思うよ
その手順をフローチャートに書き出す
それを素直にコードに落とす
それをイケてる感じにリファクタリングする
まあ実際そんなのできなくてもモノは作れるし、特にPythonはそういうアルゴリズム書ける人は少ないと思うよ
569デフォルトの名無しさん
2021/05/09(日) 18:07:38.33ID:E0SRP95C あとは、問題の細分化だな
これはアルゴリズムの実装に限らずプログラミングにおいて常に有効な考え方だ
例えば、str1の指定した位置iから始まる位置に文字列str2があるかどうかを調べて返す関数 submatch(str1, str2, i) があれば、
この submatch を i を増やしながら str1 全体にわたって適用すれば解けるだろ?
で次はこの submatch をさらに細分化する、それを自分が簡単に実装できる十分簡単な問題になるまで繰り返す
これはアルゴリズムの実装に限らずプログラミングにおいて常に有効な考え方だ
例えば、str1の指定した位置iから始まる位置に文字列str2があるかどうかを調べて返す関数 submatch(str1, str2, i) があれば、
この submatch を i を増やしながら str1 全体にわたって適用すれば解けるだろ?
で次はこの submatch をさらに細分化する、それを自分が簡単に実装できる十分簡単な問題になるまで繰り返す
570デフォルトの名無しさん
2021/05/09(日) 18:08:31.75ID:lcdfGCto まず条件を満たしているということはどういうことかを考える
判定する方法がわかったら脳死で実装する
どれだけクソなコードが出来上がったかを観察してまともにする
判定する方法がわかったら脳死で実装する
どれだけクソなコードが出来上がったかを観察してまともにする
571デフォルトの名無しさん
2021/05/09(日) 19:04:21.95ID:CGDxHqdD 自分が頭の中でどうやってその問題を解いてるかをコードに落とし込むのが一番単純かもね
問題が簡単じゃないとこの方法は難しいけど
問題が簡単じゃないとこの方法は難しいけど
572デフォルトの名無しさん
2021/05/09(日) 19:22:45.44ID:LMLrHz7X 答えはこうじゃないの
def simple_match(str1,str2)
return str1.find(str2)
def simple_match(str1,str2)
return str1.find(str2)
573567
2021/05/09(日) 19:47:04.83ID:29Yn0Nuv574デフォルトの名無しさん
2021/05/09(日) 19:48:52.28ID:E0SRP95C575デフォルトの名無しさん
2021/05/09(日) 20:01:01.07ID:6ong4OY9576567
2021/05/09(日) 20:16:54.70ID:29Yn0Nuv >>575
問題文と実装が正しいかどうかを把握する能力がないので具体的に教えてもらえると助かる
一応、答えとして掲載されているから正しいとは思うが
問題分もコピペしただけ
文字列のメソッドやモジュール(正規表現など)使うなとも書いてあったが
https://utokyo-ipp.github.io/3/3-2.html
while文による繰り返し、の下の方の練習問題
問題文と実装が正しいかどうかを把握する能力がないので具体的に教えてもらえると助かる
一応、答えとして掲載されているから正しいとは思うが
問題分もコピペしただけ
文字列のメソッドやモジュール(正規表現など)使うなとも書いてあったが
https://utokyo-ipp.github.io/3/3-2.html
while文による繰り返し、の下の方の練習問題
577デフォルトの名無しさん
2021/05/09(日) 20:35:42.76ID:Fj+EbY4X578デフォルトの名無しさん
2021/05/09(日) 21:06:48.89ID:6ong4OY9 >>576
や、ほぼ日本語だけの問題
> str2 が str1 を部分文字列として含むかどうか判定する関数
例だとstr1がlocation、str2がcat、これで期待される戻り値が2なんでしょ?
str1がstr2を部分文字列として含むかどうか、あるいは、str2がstr1に部分文字列として含まれるかどうか、が関数の仕様として適切だと思うけど
こっちの頭が狂ってる? なんか不安になってきた
や、ほぼ日本語だけの問題
> str2 が str1 を部分文字列として含むかどうか判定する関数
例だとstr1がlocation、str2がcat、これで期待される戻り値が2なんでしょ?
str1がstr2を部分文字列として含むかどうか、あるいは、str2がstr1に部分文字列として含まれるかどうか、が関数の仕様として適切だと思うけど
こっちの頭が狂ってる? なんか不安になってきた
579デフォルトの名無しさん
2021/05/09(日) 21:20:07.31ID:MVBjVGaC 問題文の日本語が間違ってるね
str1やstr2みたいな悪い命名の見本
これほんとに東大の人間が作ってるんだとしたらヤバいな
str1やstr2みたいな悪い命名の見本
これほんとに東大の人間が作ってるんだとしたらヤバいな
580567
2021/05/09(日) 22:08:42.45ID:29Yn0Nuv581デフォルトの名無しさん
2021/05/09(日) 22:43:11.51ID:4LY/LzCs >>580
変数名とかの良い付け方とかは、基本的には誰が見ても分かるってのが大前提だね
(この辺の話は、リーダブルコード、ベタープログラマ、達人プログラマーみたいなコーディング作法本に詳しく書いてある)
自分が付けるならsrc_strとtarget_strって付けちゃうかな……
(自分も勉強中なのでこれ最善かは知らん、もっと一般的に良い名前があるかもしれないけど)
変数名とかの良い付け方とかは、基本的には誰が見ても分かるってのが大前提だね
(この辺の話は、リーダブルコード、ベタープログラマ、達人プログラマーみたいなコーディング作法本に詳しく書いてある)
自分が付けるならsrc_strとtarget_strって付けちゃうかな……
(自分も勉強中なのでこれ最善かは知らん、もっと一般的に良い名前があるかもしれないけど)
582デフォルトの名無しさん
2021/05/09(日) 23:17:56.42ID:MVBjVGaC >>580
簡単なものならtext, patternとか
とにかく意味の違いを名前に反映させる
str1とstr2じゃどっちがどっちか全然わからない
意図を伝えるのが大事
命名で参考にするのはその言語の標準ライブラリと
使い方がわかりやすいようなライブラリ
(str.find(sub, start, end)を参考にすればsimple_match(string, sub_string)とか)
簡単なものならtext, patternとか
とにかく意味の違いを名前に反映させる
str1とstr2じゃどっちがどっちか全然わからない
意図を伝えるのが大事
命名で参考にするのはその言語の標準ライブラリと
使い方がわかりやすいようなライブラリ
(str.find(sub, start, end)を参考にすればsimple_match(string, sub_string)とか)
583デフォルトの名無しさん
2021/05/09(日) 23:29:01.12ID:MVBjVGaC >>567
算数と同じで問題や解き方を図で捉えるようにすれば理解が捗るし応用も効きやすい
その解答例は2つの配列の単純な総当たりと根本は同じ
文字列(配列)のインデックスをそれぞれ進めたりリセットしながら比較する様子を
図にして脳内アニメーションで再生できれば似たような問題にも対応できる
算数と同じで問題や解き方を図で捉えるようにすれば理解が捗るし応用も効きやすい
その解答例は2つの配列の単純な総当たりと根本は同じ
文字列(配列)のインデックスをそれぞれ進めたりリセットしながら比較する様子を
図にして脳内アニメーションで再生できれば似たような問題にも対応できる
584デフォルトの名無しさん
2021/05/09(日) 23:42:28.80ID:yYD7w3ek Cをやってみれば良いんじゃね?
585デフォルトの名無しさん
2021/05/09(日) 23:50:37.41ID:uTd1VsWW Bから始めよう
586567
2021/05/10(月) 03:25:25.87ID:oDeb4Nzy 模範解答を使わず、自分の実力ならこんな感じに作るだろうなってのを改めて作ってみた
https://techiedelight.com/compiler/?~0jNN
2重ループの中で str1[ i ] と str2[ J ] をくらべりゃいいんだろ
みたいなことをやって不具合を小手先で正した
模範解答の
https://techiedelight.com/compiler/?AUYY
while j < len(str2) and str1[i+j] == str[j]
なんて一生かかっても思いつけない気がする……
あとここの掲示板のせいだと思うんだけど
自宅の回線でこのスレにURL付きの投稿しようとすると、数時間書き込み規制になる
だからずっとスマホで書き込みしてる
https://techiedelight.com/compiler/?~0jNN
2重ループの中で str1[ i ] と str2[ J ] をくらべりゃいいんだろ
みたいなことをやって不具合を小手先で正した
模範解答の
https://techiedelight.com/compiler/?AUYY
while j < len(str2) and str1[i+j] == str[j]
なんて一生かかっても思いつけない気がする……
あとここの掲示板のせいだと思うんだけど
自宅の回線でこのスレにURL付きの投稿しようとすると、数時間書き込み規制になる
だからずっとスマホで書き込みしてる
587デフォルトの名無しさん
2021/05/10(月) 04:11:00.85ID:HXPAQUt8 文字単位の処理方法を考える前にこんなのを考えちゃうなぁ
def f(a, b):
____ la, lb = len(a), len(b)
____ for i in range(la - lb + 1):
________ if a[i : i + lb] == b: return i
____ return -1
print(f("hello","el"))
def f(a, b):
____ la, lb = len(a), len(b)
____ for i in range(la - lb + 1):
________ if a[i : i + lb] == b: return i
____ return -1
print(f("hello","el"))
588デフォルトの名無しさん
2021/05/10(月) 07:25:33.08ID:ZcdY0167 ここにいる人に言うまでもないとは思うけれど、KMP法など使うと時間計算量をO(S1*S2)ではなくO(S1+S2)で解くことができます
589デフォルトの名無しさん
2021/05/10(月) 11:17:21.89ID:hyNFKJLf >>586
正しく動作するのかなぁ。jのループの中でiを加算しちゃってるけど。
正しく動作するのかなぁ。jのループの中でiを加算しちゃってるけど。
590デフォルトの名無しさん
2021/05/10(月) 11:37:45.73ID:giJ6lOgz >>586
模範解答を使わないやつを少し圧縮するとこういう感じになる
def simple_match(str1, str2):
____for i in range(len(str1) - len(str2) + 1):
________a = 0
________for j in range(len(str2)):
____________if str1[i+j] == str2[j]:
________________a += 1
________________if a == len(str2):
____________________return i
____return -1
5行目のif文は実質的にはloopの継続判定だけど
pythonのfor-loopでは直接それを表現できないのでwhileに置き換えたのが模範解答
アルゴリズムそのものを理解するということと
アルゴリズムを特定の言語で表現する方法を知るということとは少し分けて考えたほうがいいかも
模範解答を使わないやつを少し圧縮するとこういう感じになる
def simple_match(str1, str2):
____for i in range(len(str1) - len(str2) + 1):
________a = 0
________for j in range(len(str2)):
____________if str1[i+j] == str2[j]:
________________a += 1
________________if a == len(str2):
____________________return i
____return -1
5行目のif文は実質的にはloopの継続判定だけど
pythonのfor-loopでは直接それを表現できないのでwhileに置き換えたのが模範解答
アルゴリズムそのものを理解するということと
アルゴリズムを特定の言語で表現する方法を知るということとは少し分けて考えたほうがいいかも
591デフォルトの名無しさん
2021/05/10(月) 13:22:46.52ID:QDSNEet8 基本的なものでもあらかじめ知ってた方が早い
高速文字列解析の世界 - 岩波書店
https://www.iwanami.co.jp/book/b257894.html
こういうのも読んで>>567の言う通りに暗記したものを思い出すしかない
なので思い付いてるのは1割未満
高速文字列解析の世界 - 岩波書店
https://www.iwanami.co.jp/book/b257894.html
こういうのも読んで>>567の言う通りに暗記したものを思い出すしかない
なので思い付いてるのは1割未満
592デフォルトの名無しさん
2021/05/10(月) 15:11:13.59ID:lCZGOQhN str1 とか str2 とかはともかく
変数名に str や string を使う香具師は筋が悪い
変数名に str や string を使う香具師は筋が悪い
593デフォルトの名無しさん
2021/05/10(月) 16:45:53.24ID:auO1c8Ib 関数が汎用的になればなるほど変数名も抽象化されてしまうのは仕方がない
仮にstrlen関数がpythonにあったら、分かりやすい仮引数名はstrかstringしか思いつかんわ
仮にstrlen関数がpythonにあったら、分かりやすい仮引数名はstrかstringしか思いつかんわ
594デフォルトの名無しさん
2021/05/10(月) 16:54:27.06ID:BLE40/70 組み込み関数を変数名に使うんだね
595デフォルトの名無しさん
2021/05/10(月) 17:32:17.10ID:loNnKCpC >>593
阿鼻叫喚やな
阿鼻叫喚やな
596デフォルトの名無しさん
2021/05/10(月) 18:33:52.38ID:giJ6lOgz597デフォルトの名無しさん
2021/05/10(月) 18:44:39.69ID:ro06Xyvc >>593
strText, str1, str0 などとするといい。
strText, str1, str0 などとするといい。
598デフォルトの名無しさん
2021/05/10(月) 20:10:42.20ID:jLWGeya+599デフォルトの名無しさん
2021/05/10(月) 20:58:18.93ID:tUbSWZNp >>586
図解にしたらわかりやすい
str1="ihavealemon"
str2="ale"
012345678901
0ihavealemon
1a
2_a
3__a
3__al
4___a
5____a
6_____a
6_____al
6_____ale!
想定外の意味不明
図解にしたらわかりやすい
str1="ihavealemon"
str2="ale"
012345678901
0ihavealemon
1a
2_a
3__a
3__al
4___a
5____a
6_____a
6_____al
6_____ale!
想定外の意味不明
600デフォルトの名無しさん
2021/05/10(月) 23:36:33.67ID:ViCp850r >>586
たぶん、5ch で広告規制されているURL を書いたらダメ!
エラーになったら、同じURLで投稿しないように、全角文字に変換するとか、
URLの間に、@など全角文字を入れたりするとか
MANGO 板で、NG ワードを絞り込みできる
たまに、いきなり吸い込まれるURLがある。
はてなブログとか、twitter の長いURLとか
5chから返事が戻って来なくて、いきなりアク禁になる
たぶん、5ch で広告規制されているURL を書いたらダメ!
エラーになったら、同じURLで投稿しないように、全角文字に変換するとか、
URLの間に、@など全角文字を入れたりするとか
MANGO 板で、NG ワードを絞り込みできる
たまに、いきなり吸い込まれるURLがある。
はてなブログとか、twitter の長いURLとか
5chから返事が戻って来なくて、いきなりアク禁になる
601デフォルトの名無しさん
2021/05/11(火) 09:06:20.36ID:Zn4VBJW/ tkinterでMyDialogクラスなんか作るとき
class MyDialog():
__init__(self, root):
__self.root = root
がよくあるパターンだと思うんですが
これをする理由はなんですか?
class MyDialog():
__init__(self, root):
__self.root = root
がよくあるパターンだと思うんですが
これをする理由はなんですか?
602デフォルトの名無しさん
2021/05/11(火) 10:29:49.62ID:FWZS8iTB >>600
amazon は %61mazon とか %41mazon とかすると通るω
amazon は %61mazon とか %41mazon とかすると通るω
603デフォルトの名無しさん
2021/05/11(火) 10:36:53.88ID:FWZS8iTB >>601
●tkinter 標準の Dialog の第一引数 (self 以外) が root を想定しているから
●後で MyDialog 中から root にアクセスするときに便利
●別に引数で受けずに global root でも良いがみっともない
●tkinter 標準の Dialog の第一引数 (self 以外) が root を想定しているから
●後で MyDialog 中から root にアクセスするときに便利
●別に引数で受けずに global root でも良いがみっともない
604デフォルトの名無しさん
2021/05/11(火) 10:52:33.39ID:FsPVc/v0 class MyD():
def __init__(self, root):
_master = tk.Toplevel(root)
使い捨てのモーダルダイアログ作成とかならroot使うのこのときだけだったりするので
そういうときは逆にメンバ化しない方がいいような気はする
def __init__(self, root):
_master = tk.Toplevel(root)
使い捨てのモーダルダイアログ作成とかならroot使うのこのときだけだったりするので
そういうときは逆にメンバ化しない方がいいような気はする
605デフォルトの名無しさん
2021/05/12(水) 00:31:29.50ID:p52W3PYV デストラクタの挙動がよくわかりません。
以下のコードを実行すると
#!/usr/bin/env python3
class Gnuplot:
import PyGnuplot as pgp
def __del__(self):
del self.pgp
if __name__ == "__main__":
gp = Gnuplot()
del gp
------------------
デストラクタの箇所で
del self.pgp
AttributeError: pgp
と属性エラーが出るのですがなにが悪いのかわかりません。
以下のコードを実行すると
#!/usr/bin/env python3
class Gnuplot:
import PyGnuplot as pgp
def __del__(self):
del self.pgp
if __name__ == "__main__":
gp = Gnuplot()
del gp
------------------
デストラクタの箇所で
del self.pgp
AttributeError: pgp
と属性エラーが出るのですがなにが悪いのかわかりません。
606デフォルトの名無しさん
2021/05/12(水) 00:45:07.28ID:p52W3PYV もしかして、クラス変数だからdelできない?
607デフォルトの名無しさん
2021/05/12(水) 01:37:11.15ID:+hwSdZi+ それオブジェクトじゃないからだよ
608デフォルトの名無しさん
2021/05/12(水) 09:15:37.32ID:HCx7UYF5 削除出来ないんじゃなくて
存在しないものはアクセス出来ないって言われてるだけ
存在しないものはアクセス出来ないって言われてるだけ
609デフォルトの名無しさん
2021/05/12(水) 09:15:47.20ID:HCx7UYF5 削除出来ないんじゃなくて
存在しないものはアクセス出来ないって言われてるだけ
存在しないものはアクセス出来ないって言われてるだけ
610デフォルトの名無しさん
2021/05/12(水) 11:18:04.73ID:bpb1h3yH611デフォルトの名無しさん
2021/05/12(水) 12:17:03.99ID:Hk10kKTI 試してないけど、
del self.__class__.pgp
ならいけんじゃね?
del self.__class__.pgp
ならいけんじゃね?
612デフォルトの名無しさん
2021/05/12(水) 12:28:22.20ID:eYOXfLq+ >>605
importはなるべくファイルの先頭で行うべきでは?
importはなるべくファイルの先頭で行うべきでは?
613デフォルトの名無しさん
2021/05/12(水) 21:55:38.61ID:p52W3PYV614デフォルトの名無しさん
2021/05/12(水) 21:56:32.94ID:gj/TogFi class Gnuplot:
import PyGnuplot as pgp
def __del__(self):
del self.pgp
import PyGnuplot as pgp
def __del__(self):
del self.pgp
615デフォルトの名無しさん
2021/05/12(水) 22:18:22.84ID:p52W3PYV モジュールをクラス変数ではなくインスタンス変数として束縛したいのですが
できません。
--------
#!/usr/bin/env python3
class Gnuplot:
def __init__(self):
import PyGnuplot as pgp
pass
def cmd(self,commands):
self.pgp.c(commands)
pass
if __name__ == "__main__":
agp = Gnuplot()
agp.cmd("plot sin(x)")
を実行すると、
AttributeError: 'Gnuplot' object has no attribute 'pgp'
と出ます。
__init__の中でPyGnuplot をインポートしてインスタンス変数self.pgp
に束縛したつもりなんですが、どうもそれがうまくいかないみたいなんです。
モジュール変数はクラス変数にしか束縛できないんでしょうか。。
できません。
--------
#!/usr/bin/env python3
class Gnuplot:
def __init__(self):
import PyGnuplot as pgp
pass
def cmd(self,commands):
self.pgp.c(commands)
pass
if __name__ == "__main__":
agp = Gnuplot()
agp.cmd("plot sin(x)")
を実行すると、
AttributeError: 'Gnuplot' object has no attribute 'pgp'
と出ます。
__init__の中でPyGnuplot をインポートしてインスタンス変数self.pgp
に束縛したつもりなんですが、どうもそれがうまくいかないみたいなんです。
モジュール変数はクラス変数にしか束縛できないんでしょうか。。
616デフォルトの名無しさん
2021/05/12(水) 22:38:42.04ID:eYOXfLq+ self.pgp = pgpをするのはダメなんですっけ
617デフォルトの名無しさん
2021/05/12(水) 22:47:49.00ID:p52W3PYV618デフォルトの名無しさん
2021/05/13(木) 14:19:15.50ID:gQUYeg5t reference counter が増えるというオチ
619デフォルトの名無しさん
2021/05/14(金) 00:00:09.34ID:kJLP/i/a pythonのrandomモジュールって安全ですか?秘密鍵を作ろうと思います
620デフォルトの名無しさん
2021/05/14(金) 00:18:08.78ID:fpxIiQfD そんな質問するレベルの人が手を出すもんじゃないと思うが
621デフォルトの名無しさん
2021/05/14(金) 10:29:44.03ID:N2rlLeCr python 2 の頃に
for line in fp.readLines():
lst = line.rstrip().split('\t')
...
と描いていたコードがあって
python 3 だと
TypeError: a bytes-like object is required, not 'str'
と出たので
lst = line.rstrip().decode('utf-8').split('\t')
と描き治したら動くのですが
これって変じゃないですか?
bytes を .rstrip() すると勝手に str に変更されるんですか?
for line in fp.readLines():
lst = line.rstrip().split('\t')
...
と描いていたコードがあって
python 3 だと
TypeError: a bytes-like object is required, not 'str'
と出たので
lst = line.rstrip().decode('utf-8').split('\t')
と描き治したら動くのですが
これって変じゃないですか?
bytes を .rstrip() すると勝手に str に変更されるんですか?
622デフォルトの名無しさん
2021/05/14(金) 10:30:49.82ID:N2rlLeCr >>619
>Python は中心となる乱数生成器としてメルセンヌツイスタを使います
>Python は中心となる乱数生成器としてメルセンヌツイスタを使います
623デフォルトの名無しさん
2021/05/14(金) 10:32:50.50ID:N2rlLeCr624デフォルトの名無しさん
2021/05/14(金) 10:40:45.89ID:fhATjntu >>622
(秘密鍵の定義がないので微妙な指摘な気もするけど)暗号論的擬似乱数生成器でなくてよいの?
(秘密鍵の定義がないので微妙な指摘な気もするけど)暗号論的擬似乱数生成器でなくてよいの?
625デフォルトの名無しさん
2021/05/14(金) 10:45:39.79ID:N2rlLeCr >>624
リンク先をちゃんと読んでね
リンク先をちゃんと読んでね
626デフォルトの名無しさん
2021/05/14(金) 10:48:56.15ID:fhATjntu627デフォルトの名無しさん
2021/05/14(金) 11:05:15.28ID:N2rlLeCr 読み方が足りない
628デフォルトの名無しさん
2021/05/14(金) 11:33:52.87ID:DQCJDc0D629デフォルトの名無しさん
2021/05/14(金) 12:12:40.48ID:kXWjJhBx コイントスで生成しよう
630デフォルトの名無しさん
2021/05/14(金) 15:48:46.53ID:RGk279mo >>621
そもそもpython3だとreadlinesの戻りの型がstrのlistだと思う
そもそもpython3だとreadlinesの戻りの型がstrのlistだと思う
631デフォルトの名無しさん
2021/05/14(金) 16:51:03.65ID:MEf5zm8X def tes(i):
_return i+1,i*2
l1 =[]
l2 =[]
for i in range(10):
_l1, l2 ←appendしたい tes()
temp = tes()
l1.append(temp[0])
l2 append(temp[1])
こう書くのが一番いいですか?
もっといい書き方ありますか?
_return i+1,i*2
l1 =[]
l2 =[]
for i in range(10):
_l1, l2 ←appendしたい tes()
temp = tes()
l1.append(temp[0])
l2 append(temp[1])
こう書くのが一番いいですか?
もっといい書き方ありますか?
632デフォルトの名無しさん
2021/05/14(金) 17:40:34.28ID:dwsPOlKo from functools import reduce
a, b = reduce(lambda x, y: (x[0] + [y + 1], x[1] + [y * 2]), range(10), [[], []])
a, b = reduce(lambda x, y: (x[0] + [y + 1], x[1] + [y * 2]), range(10), [[], []])
633デフォルトの名無しさん
2021/05/14(金) 17:46:17.42ID:dwsPOlKo l1, l2 = reduce(lambda x, y: (lambda a, b, c: (a[0] + [b], a[1] + [c]))(x, *tes(y)), range(10), [[], []])
634デフォルトの名無しさん
2021/05/14(金) 18:14:41.94ID:jPY26TL6 でもこんなコード書いてきたらレビュー通さないでしょ
635デフォルトの名無しさん
2021/05/14(金) 18:43:05.82ID:mAmkSsiZ636デフォルトの名無しさん
2021/05/14(金) 21:40:11.71ID:QMgVBpCt メルセンヌ・ツイスタは疑似乱数生成器。
Ruby on Rails では、テストで同じ乱数を再現できるので便利
暗号化は、SecureRandom。
Linux のエントロピー、/dev/random, /dev/urandom
RubyのSecureRandomの乱数生成の実装を読んでみた
https://note.com/corocn/n/n84c91872c51c
Ruby on Rails では、テストで同じ乱数を再現できるので便利
暗号化は、SecureRandom。
Linux のエントロピー、/dev/random, /dev/urandom
RubyのSecureRandomの乱数生成の実装を読んでみた
https://note.com/corocn/n/n84c91872c51c
637デフォルトの名無しさん
2021/05/14(金) 22:40:17.62ID:SGxg0iSp638デフォルトの名無しさん
2021/05/14(金) 23:07:56.07ID:0kdm8qdh639デフォルトの名無しさん
2021/05/14(金) 23:16:18.97ID:0kdm8qdh >>637
リストの汎用的な名前はxs, ysみたいなのを使うとx, yと対応させやすくて読みやすい
関数型で一般的に使われてる命名方法
xs, ys = [], []
x, y = tes(i)
xs.append(x)
ys.append(y)
リストの汎用的な名前はxs, ysみたいなのを使うとx, yと対応させやすくて読みやすい
関数型で一般的に使われてる命名方法
xs, ys = [], []
x, y = tes(i)
xs.append(x)
ys.append(y)
640デフォルトの名無しさん
2021/05/15(土) 06:38:38.29ID:+N4SlPlF >>627
お前が何言いたいのか意味不明だったから聞いてやったんだけど、日本語が不自由だったみたいね
お前が何言いたいのか意味不明だったから聞いてやったんだけど、日本語が不自由だったみたいね
641デフォルトの名無しさん
2021/05/15(土) 11:13:03.00ID:JEJaRs2J そこは、Pytorchの自然言語処理が
ここまで進化したか!と驚愕する
場面かも知れないね
ここまで進化したか!と驚愕する
場面かも知れないね
642デフォルトの名無しさん
2021/05/15(土) 11:32:32.09ID:qr5cWu1T それは確かにたいしたものだ
643デフォルトの名無しさん
2021/05/15(土) 11:59:29.14ID:MlX8dqv4644デフォルトの名無しさん
2021/05/15(土) 12:00:24.17ID:MlX8dqv4 >>637
先頭大文字ってだめじゃなかったっけっか
先頭大文字ってだめじゃなかったっけっか
645デフォルトの名無しさん
2021/05/15(土) 12:07:21.87ID:skJMcbh+ シンタックス的には無問題
646デフォルトの名無しさん
2021/05/15(土) 12:28:58.54ID:6nRGWhyX >>628 他の方々
ありがとうございます
ありがとうございます
647デフォルトの名無しさん
2021/05/15(土) 12:32:47.31ID:eYtIld1h >>628
勿体ぶらずにサンプルコード出せよ
勿体ぶらずにサンプルコード出せよ
648デフォルトの名無しさん
2021/05/15(土) 13:08:58.62ID:bRznzK29 >>644
コード規約的に変数名は小文字+アンダースコアがいい
コード規約的に変数名は小文字+アンダースコアがいい
649デフォルトの名無しさん
2021/05/15(土) 16:39:11.67ID:te8p1bIO650デフォルトの名無しさん
2021/05/15(土) 16:45:41.28ID:te8p1bIO あ、すいません
packじゃなくてgridです
動的生成でbtn.grid(row=i, col=0)のやつです
フレームと固定ボタンもgridで、フレームがsticky=ewnsです
packじゃなくてgridです
動的生成でbtn.grid(row=i, col=0)のやつです
フレームと固定ボタンもgridで、フレームがsticky=ewnsです
651デフォルトの名無しさん
2021/05/15(土) 17:30:51.73ID:CXOESfdA root.geometry('適当にset')
652デフォルトの名無しさん
2021/05/15(土) 17:40:08.98ID:CXOESfdA make() の中
for の前
q = re.compile('([\d]+)', re.I | re.M | re.S)
w, h, x, y = map(int, q.findall(root.geometry()))
for の後
root.geometry(f'{w}x{h+125}+{x}+{y}')
for の前
q = re.compile('([\d]+)', re.I | re.M | re.S)
w, h, x, y = map(int, q.findall(root.geometry()))
for の後
root.geometry(f'{w}x{h+125}+{x}+{y}')
653デフォルトの名無しさん
2021/05/15(土) 19:12:50.31ID:te8p1bIO654デフォルトの名無しさん
2021/05/16(日) 18:10:42.39ID:LkZOTUXR 色々調べたんだけど良くわからなくって
pythonでいうメソッドって、クラス内関数のことですか?
pythonでいうメソッドって、クラス内関数のことですか?
655デフォルトの名無しさん
2021/05/16(日) 23:10:57.25ID:B1RP4BtA >>654
インスタンス変数に束縛されていて、かつインスタンス変数を共有している関数
インスタンス変数に束縛されていて、かつインスタンス変数を共有している関数
656デフォルトの名無しさん
2021/05/17(月) 11:53:08.81ID:GHG/4QhJ pathlibでpathがCドライブなどのドライブルート?を指してるかかどうかの判定って
bool(p.stem)でいいんですかね
誤判定あり得る?
bool(p.stem)でいいんですかね
誤判定あり得る?
657デフォルトの名無しさん
2021/05/17(月) 12:48:07.77ID:zuvtZKHx >>656
driveかanchorを使えばいいと思うがUNCを除外する処理が必要かも
https://docs.python.org/3/library/pathlib.html#methods-and-properties
driveかanchorを使えばいいと思うがUNCを除外する処理が必要かも
https://docs.python.org/3/library/pathlib.html#methods-and-properties
658デフォルトの名無しさん
2021/05/17(月) 12:49:35.05ID:LvfGIkWi 何言ってるか分からん
それだと以下もTrueだろ
bool(Path('a'))
それだと以下もTrueだろ
bool(Path('a'))
659デフォルトの名無しさん
2021/05/17(月) 12:50:56.21ID:LvfGIkWi660デフォルトの名無しさん
2021/05/17(月) 13:35:14.68ID:9/Dbs2kw クラス内にある関数をメソッドと認識してないオブジェクト指向がどっかにあるのか?
661デフォルトの名無しさん
2021/05/17(月) 16:26:06.67ID:GHG/4QhJ ああすいません。もうしわけない
target = tkinter.filedialog.askdirectory()
p = pathlib.Path(target)
でダイアログでドライブ自体を指定したときを弾きたいのです
target = tkinter.filedialog.askdirectory()
p = pathlib.Path(target)
でダイアログでドライブ自体を指定したときを弾きたいのです
662デフォルトの名無しさん
2021/05/17(月) 17:34:58.64ID:zuvtZKHx 弾きたい理由がよく分からないが
os.path.ismount(path)でチェックするほうがいいんじゃないかな
pathlibのis_mountはWindows非対応らしい
os.path.ismount(path)でチェックするほうがいいんじゃないかな
pathlibのis_mountはWindows非対応らしい
663デフォルトの名無しさん
2021/05/17(月) 17:55:47.00ID:kNQLQ75E p.parts
('c:\\', 'sub', 'child')
なので
if len(p.parts)<2:
('c:\\', 'sub', 'child')
なので
if len(p.parts)<2:
664デフォルトの名無しさん
2021/05/17(月) 18:22:09.97ID:GHG/4QhJ665デフォルトの名無しさん
2021/05/17(月) 19:20:08.36ID:sx6aVY5c glob.globの再帰って、日本語ディレクトリ名だとうまく動作しませんか?
666デフォルトの名無しさん
2021/05/17(月) 19:39:35.66ID:HZ1L0Oav mountはlinuxの概念だから
returnされるものが欲しい物とは
限らない
returnされるものが欲しい物とは
限らない
667デフォルトの名無しさん
2021/05/17(月) 19:41:12.60ID:3TA+gznA クソチョンw
668デフォルトの名無しさん
2021/05/17(月) 20:23:09.84ID:XyOBSw0a669デフォルトの名無しさん
2021/05/17(月) 21:06:43.69ID:zuvtZKHx670665
2021/05/17(月) 22:24:02.73ID:sNN9NhGA >>669
レスありがとうございます。
リストを確認してみたところ、変なディレクトリと組み合わせの要素が余計に2つ入っていて、いずれも~$で文字化けしていました。
若干気持ち悪いですが、一度存在確認をして無ければパスして対応しようと思います。
レスありがとうございます。
リストを確認してみたところ、変なディレクトリと組み合わせの要素が余計に2つ入っていて、いずれも~$で文字化けしていました。
若干気持ち悪いですが、一度存在確認をして無ければパスして対応しようと思います。
671665
2021/05/17(月) 23:51:49.03ID:sNN9NhGA 度々すんません
Excel使用中のダミーファイルの残骸を拾っていたというオチでした
Excel使用中のダミーファイルの残骸を拾っていたというオチでした
672デフォルトの名無しさん
2021/05/19(水) 08:18:07.60ID:iYEuEqYY rows = [[col1, col2], [col1, col2]]
for i, cols in enumerate(rows):
__if i == foo:
____cols[1] = hoge
__else:
____cols[1] = fuga
みたいな処理って
[cols[1]=hoge if i==foo else
_cols[1]=fuga for i,cols in enumerate(rows)]
て書けるけど,python的にはそっちのがいいのですか? 可読性アレなのでやめた方がいい?
というかこういう処理ってmapみたいな何かでスマートにできんのでしょうか.
for i, cols in enumerate(rows):
__if i == foo:
____cols[1] = hoge
__else:
____cols[1] = fuga
みたいな処理って
[cols[1]=hoge if i==foo else
_cols[1]=fuga for i,cols in enumerate(rows)]
て書けるけど,python的にはそっちのがいいのですか? 可読性アレなのでやめた方がいい?
というかこういう処理ってmapみたいな何かでスマートにできんのでしょうか.
673デフォルトの名無しさん
2021/05/19(水) 09:12:35.07ID:+3U9Nmga リスト作成以外の内包表記はやめとこ って風潮
674デフォルトの名無しさん
2021/05/19(水) 09:14:39.75ID:0J40Gx1f もったいない
675デフォルトの名無しさん
2021/05/19(水) 10:06:03.29ID:4ScJfzOE >>672
rows0 = [[col1, col2], [col1, col2]]
rows = [[hoge if i==foo else fuga, col2] for i,cols in enumerate(rows0)]
って感じかな
rows0 = [[col1, col2], [col1, col2]]
rows = [[hoge if i==foo else fuga, col2] for i,cols in enumerate(rows0)]
って感じかな
676デフォルトの名無しさん
2021/05/19(水) 10:08:58.05ID:4ScJfzOE >>675
間違えた、2行目のcol2はcols[1]の間違い
間違えた、2行目のcol2はcols[1]の間違い
677デフォルトの名無しさん
2021/05/19(水) 10:35:13.73ID:iYEuEqYY >>675
なるほど
なるほど
678デフォルトの名無しさん
2021/05/19(水) 11:37:56.44ID:psqzmlBB >672
[cols[1]=(hoge if i==foo else fuga) for i,cols in enumerate(rows)]
[cols[1]=(hoge if i==foo else fuga) for i,cols in enumerate(rows)]
679デフォルトの名無しさん
2021/05/19(水) 11:57:00.88ID:eHf0e2Vm680デフォルトの名無しさん
2021/05/19(水) 12:00:58.28ID:u9Tr9lyP 内包表記の中は式じゃないといけないので↓こういう代入文は使えない
cols[1]=hoge
cols[1]=(hoge if i==foo else fuga)
cols[1]=hoge
cols[1]=(hoge if i==foo else fuga)
681デフォルトの名無しさん
2021/05/20(木) 08:54:47.33ID:xj7p5kce PyAutoGUI をインポートしようとすると以下のエラーがでます。
import pyautogui
↓
ModuleNotFoundError: No module named 'pyautogui'
・pip install pyautogui 実行しました。
・pip show pyautogui でインストール先も確認しています。
・環境はWindows10、Python 3.9、Jupyter notebookを使っています。
どなたかお力添えをお願いします。
import pyautogui
↓
ModuleNotFoundError: No module named 'pyautogui'
・pip install pyautogui 実行しました。
・pip show pyautogui でインストール先も確認しています。
・環境はWindows10、Python 3.9、Jupyter notebookを使っています。
どなたかお力添えをお願いします。
682デフォルトの名無しさん
2021/05/20(木) 09:55:24.34ID:RA9rZAD1 >>681
コマンドラインでpython起動して、
import sys
print(sys.path)
同様のことをjupyterでやってみる
全然結果が違ったら、pyautoguiはjupyterを動かしてるpython環境には入れられてない
一番確実なのは、jupyter内で、
!pip installしちゃうこと
コマンドラインでpython起動して、
import sys
print(sys.path)
同様のことをjupyterでやってみる
全然結果が違ったら、pyautoguiはjupyterを動かしてるpython環境には入れられてない
一番確実なのは、jupyter内で、
!pip installしちゃうこと
683デフォルトの名無しさん
2021/05/20(木) 11:22:11.41ID:xj7p5kce684デフォルトの名無しさん
2021/05/20(木) 12:53:43.39ID:bQ5/ppWH685デフォルトの名無しさん
2021/05/21(金) 22:17:13.18ID:CTO13KrW ステートマシンやってみたいんですが
なにかいいネタってないですか?
何も思い浮かばなくて…
なにかいいネタってないですか?
何も思い浮かばなくて…
686デフォルトの名無しさん
2021/05/22(土) 00:24:57.95ID:k07/NFUV 複数のカ所からオンオフ出来る電球装置。
687デフォルトの名無しさん
2021/05/22(土) 08:08:35.87ID:T+ogjR97 自販機なんかもステートマシンかね。
余談だが、コンビニのマルチコピー機とか、めっちゃ使いづらくてイライラするが、お金扱う部分とコピー機部分が別会社が作ってるとなると仕方ないんだろうな。スキャン結果をお金払ってUSBメモリに書き込む段階で2連続でエラーになったときには腹が立った。金返せと。
余談だが、コンビニのマルチコピー機とか、めっちゃ使いづらくてイライラするが、お金扱う部分とコピー機部分が別会社が作ってるとなると仕方ないんだろうな。スキャン結果をお金払ってUSBメモリに書き込む段階で2連続でエラーになったときには腹が立った。金返せと。
688デフォルトの名無しさん
2021/05/22(土) 08:16:32.16ID:8p7z75uz 現金が消えればもっとシンプルになれる
689デフォルトの名無しさん
2021/05/22(土) 10:20:40.50ID:J1CN/eMv Pythonって入門用言語という位置づけだったんですね。。。。
scratchと同じ位置づけだと学ぶのやめようかな。。。
https://b.hatena.ne.jp/entry/4702950277146083554/comment/nakamura-kenichi
scratchと同じ位置づけだと学ぶのやめようかな。。。
https://b.hatena.ne.jp/entry/4702950277146083554/comment/nakamura-kenichi
690デフォルトの名無しさん
2021/05/22(土) 10:24:51.50ID:fvqwCaVy 権威主義的だがGoogleは社内プログラミング言語としてC,C++,Java,JavaScript,Pythonを採用してる訳だし、Pythonを学ぶ意味は入門用言語であること以外にもあるとは思うよ
691デフォルトの名無しさん
2021/05/22(土) 10:26:26.92ID:zUe7A7la 昔はTAKERUのようなモンが情報端末になると思ったがマルチコピー機の方が生き残るとは予想しなかった
692デフォルトの名無しさん
2021/05/22(土) 11:50:28.78ID:vbX2nPFn C や C++ も入門に最適ですよ
693デフォルトの名無しさん
2021/05/22(土) 11:51:38.54ID:vbX2nPFn >>691
Loppi とかは端末分かれてる
Loppi とかは端末分かれてる
694デフォルトの名無しさん
2021/05/22(土) 12:26:36.70ID:jQojk9An 書きやすくてちゃんと動けばいいだろぐらいの感覚でpython使ってたんだけどみんな色々考えてたんだな⋯
俺の意識が低すぎるんだろうか
俺の意識が低すぎるんだろうか
695デフォルトの名無しさん
2021/05/22(土) 12:40:15.93ID:T+ogjR97 流石にscratchと同じ位置付けはない。
まあ、情報だけ仕入れてなかなか手を動かせない人はプログラマー適性ないから、そういう意味ではプログラミング入門をやめといた方がいいってのは事実だけど。
Pythonは書くのが簡単だから、とりあえずPythonで書いてみてアルゴリズムの妥当性なんかを検証してみて、
性能が出なかったりどうしてもPythonでできないことがあればそこだけC/C++で書く、みたいな言語だよ。3DCGにだって深層機械学習にだって使われてるんだから。応用先は広い。
まあ、情報だけ仕入れてなかなか手を動かせない人はプログラマー適性ないから、そういう意味ではプログラミング入門をやめといた方がいいってのは事実だけど。
Pythonは書くのが簡単だから、とりあえずPythonで書いてみてアルゴリズムの妥当性なんかを検証してみて、
性能が出なかったりどうしてもPythonでできないことがあればそこだけC/C++で書く、みたいな言語だよ。3DCGにだって深層機械学習にだって使われてるんだから。応用先は広い。
696デフォルトの名無しさん
2021/05/23(日) 09:54:19.88ID:hDiYjgJs pyhtonは日本語で例えるなら標準語
「仕組みが標準的である」という意味ではなく
「どんな方言を話す人でも標準語だけは理解できるようになっている」という意味でな
可読性というのは大事
「仕組みが標準的である」という意味ではなく
「どんな方言を話す人でも標準語だけは理解できるようになっている」という意味でな
可読性というのは大事
697デフォルトの名無しさん
2021/05/23(日) 12:08:29.63ID:MJ9lD3tL selfの嵐
698デフォルトの名無しさん
2021/05/23(日) 12:10:31.49ID:UsHeCFxs 最近気づいたんだがオブシコやるにはpythonってちょっと厳しいよな
699デフォルトの名無しさん
2021/05/23(日) 13:51:03.68ID:Ki6GpCCw クソチョンw
700デフォルトの名無しさん
2021/05/23(日) 23:40:09.59ID:lPsOREZe seleniumでChromeを操作中、get_screenshot_as_file等でスクリーンショットを撮ると
タスクバーのアイコンが点灯して煩わしいのですが抑制する方法はなにか無いでしょうか
タスクバーのアイコンが点灯して煩わしいのですが抑制する方法はなにか無いでしょうか
701デフォルトの名無しさん
2021/05/24(月) 00:11:00.85ID:Wk9HMUeS def graph(x,y):
plt.plot(x, y)
plt.show()
def main()
graph(1,1)
graph(2,2)
graph(n,n)
みたいな感じで任意のn個のグラフを表示しようと思ったんですが、
1つのウインドウ上にグラフがどんどん重ねて表示されてしまいます。
plt.show()のたびに毎回別ウィンドを開いてグラフ表示する方法はないでしょうか?
plt.plot(x, y)
plt.show()
def main()
graph(1,1)
graph(2,2)
graph(n,n)
みたいな感じで任意のn個のグラフを表示しようと思ったんですが、
1つのウインドウ上にグラフがどんどん重ねて表示されてしまいます。
plt.show()のたびに毎回別ウィンドを開いてグラフ表示する方法はないでしょうか?
702デフォルトの名無しさん
2021/05/24(月) 10:56:47.03ID:qQRUQj1u 最近のPythonについていけない
703デフォルトの名無しさん
2021/05/24(月) 12:09:28.90ID:oesZEK70 んだ
704デフォルトの名無しさん
2021/05/24(月) 14:00:40.00ID:lt23bAAY >>701
figure
figure
705デフォルトの名無しさん
2021/05/24(月) 15:07:36.68ID:oesZEK70706デフォルトの名無しさん
2021/05/24(月) 20:51:21.48ID:kerfgHek Python ← これ何て読むの? ピゾン? それとも鳥ポケモンのピジョン?
707デフォルトの名無しさん
2021/05/24(月) 23:21:14.74ID:i5hvSeUv ぴぃちょん
708デフォルトの名無しさん
2021/05/25(火) 00:24:01.31ID:n0Rhp6rW ピートン
709デフォルトの名無しさん
2021/05/25(火) 00:38:25.80ID:NpPP6zfr pyてょn
710デフォルトの名無しさん
2021/05/25(火) 10:35:17.59ID:RnsrvLKR ボタンを押すと別ウィンドウでimgファイルを表示する関数を作りました。
これを実行すると1回目は画像の大きさでウィンドウが作成され表示できます。
ウィンドウを閉じずに、
2回目にボタンを押すと画像が更新ではなく、縦に空白が継ぎ足しで画像が表示されてしまいます。
どうしたら、画像の更新ができるのでしょうか。。
ウィンドウ状況が説明しづらいのですが、以下の様にボタンを押すたびに空白が追加されます。
1回目 2回め
■ ←画像 □←画像の大きさの空白
■←新しい画像
def img_button(img):
global image_Tk
global imgwindow
#すでにウィンドウあればウィンドウ作らない
if imgwindow == None or not imgwindow.winfo_exists():
imgwindow = tk.Toplevel()
imgwindow.title("サブウィンドウ")
#画像の変換
image_pil = Image.fromarray(img)
image_Tk = ImageTk.PhotoImage(image_pil, master=imgwindow)
# Canvas作成
canvas = tk.Canvas(imgwindow, width=img.shape[1], height=img.shape[0])
canvas.pack()
canvas.create_image(0, 0, anchor="nw", image=image_Tk)
これを実行すると1回目は画像の大きさでウィンドウが作成され表示できます。
ウィンドウを閉じずに、
2回目にボタンを押すと画像が更新ではなく、縦に空白が継ぎ足しで画像が表示されてしまいます。
どうしたら、画像の更新ができるのでしょうか。。
ウィンドウ状況が説明しづらいのですが、以下の様にボタンを押すたびに空白が追加されます。
1回目 2回め
■ ←画像 □←画像の大きさの空白
■←新しい画像
def img_button(img):
global image_Tk
global imgwindow
#すでにウィンドウあればウィンドウ作らない
if imgwindow == None or not imgwindow.winfo_exists():
imgwindow = tk.Toplevel()
imgwindow.title("サブウィンドウ")
#画像の変換
image_pil = Image.fromarray(img)
image_Tk = ImageTk.PhotoImage(image_pil, master=imgwindow)
# Canvas作成
canvas = tk.Canvas(imgwindow, width=img.shape[1], height=img.shape[0])
canvas.pack()
canvas.create_image(0, 0, anchor="nw", image=image_Tk)
711デフォルトの名無しさん
2021/05/25(火) 10:51:19.53ID:gfrCIRMM canvas的に
ID=canvas.create_image(
canvas.delete(ID)
ID=canvas.create_image(
canvas.delete(ID)
712デフォルトの名無しさん
2021/05/25(火) 11:09:23.00ID:RnsrvLKR713デフォルトの名無しさん
2021/05/25(火) 11:17:39.72ID:CfN4kKfQ714デフォルトの名無しさん
2021/05/25(火) 15:59:00.90ID:uHQaSw0s data = {"a":1, "b":2, "c":3}
search = random.sample(list(data.keys()), 2)
for target in search:
__foo(data[target])
ループ回さないとだめですか?
なんかforとかダサいぜって聞いたので…
特定の複数の既知キーに対して同じ処理をするときは、これが最軽量?
search = random.sample(list(data.keys()), 2)
for target in search:
__foo(data[target])
ループ回さないとだめですか?
なんかforとかダサいぜって聞いたので…
特定の複数の既知キーに対して同じ処理をするときは、これが最軽量?
715デフォルトの名無しさん
2021/05/25(火) 16:42:18.45ID:PJq37B34 list(data.values())じゃだめなのかな >>714
716デフォルトの名無しさん
2021/05/25(火) 16:45:07.88ID:PJq37B34 fooでdataのkey名を使うのであれば内包表記でもどっちでもいいような。
fooが何かしら値を返してその値を使うなら内包表記が便利なときが多い
fooが何かしら値を返してその値を使うなら内包表記が便利なときが多い
717デフォルトの名無しさん
2021/05/25(火) 18:30:18.72ID:v0pR4cRr >>706
ぴちょん
ぴちょん
718デフォルトの名無しさん
2021/05/25(火) 19:03:44.01ID:LrtW2E22719デフォルトの名無しさん
2021/05/25(火) 19:28:32.35ID:pUGLRN2w >>718
foo内で特定のキーだけ取り出す処理書くということ?
foo内で特定のキーだけ取り出す処理書くということ?
720デフォルトの名無しさん
2021/05/25(火) 19:52:40.11ID:LrtW2E22721デフォルトの名無しさん
2021/05/25(火) 21:20:54.31ID:fxdy+Y5x うまく伝わるか分かりませんが、教えてください。
wxpythonをもちいて、変数を使ってボタンを40個くらい作るんですが、
一つ一つイベントをつくる必要はありますか?
どのボタンも、ボタンの属性を変更するだけなのですが、
どれかのボタンをクリックしたときに、そのIDを取得して、
それに応じて動作するように、一つのイベントで書けませんか?
wxpythonをもちいて、変数を使ってボタンを40個くらい作るんですが、
一つ一つイベントをつくる必要はありますか?
どのボタンも、ボタンの属性を変更するだけなのですが、
どれかのボタンをクリックしたときに、そのIDを取得して、
それに応じて動作するように、一つのイベントで書けませんか?
722デフォルトの名無しさん
2021/05/25(火) 21:32:11.61ID:OybxuSYl command=lamda:func(1)
で
で
723デフォルトの名無しさん
2021/05/25(火) 21:39:20.58ID:zODo0Elc コールバックをクロージャにする
724デフォルトの名無しさん
2021/05/26(水) 00:38:40.45ID:ozAEioOZ PIL(Pillow)でpng画像をjpeg形式で保存しようと思うとエラーがでます。
どうやればpillowで形式変換できますか?
#!/usr/bin/env python3
from PIL import Image
img = Image.open("gazou.png")
newImg = img.rotate(45)
newImg.save("gazou.jpg", format="jpg")
エラー内容
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/Image.py", line 2153, in save
save_handler = SAVE[format.upper()]
KeyError: 'JPG'
可逆圧縮pngから不可逆圧縮jpgに変換はできませんか?
どうやればpillowで形式変換できますか?
#!/usr/bin/env python3
from PIL import Image
img = Image.open("gazou.png")
newImg = img.rotate(45)
newImg.save("gazou.jpg", format="jpg")
エラー内容
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/Image.py", line 2153, in save
save_handler = SAVE[format.upper()]
KeyError: 'JPG'
可逆圧縮pngから不可逆圧縮jpgに変換はできませんか?
725デフォルトの名無しさん
2021/05/26(水) 00:56:49.44ID:fSAivsd8726デフォルトの名無しさん
2021/05/26(水) 01:58:00.82ID:ozAEioOZ >>725
format="JPEG"でやってみたんですけど、次のようなエラーが出ます。
]>> newImg.save("gazou.jpg", format="JPEG")
Traceback (most recent call last):
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/JpegImagePlugin.py", line 610, in _save
rawmode = RAWMODE[im.mode]
KeyError: 'P'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/Image.py", line 2164, in save
save_handler(self, fp, filename)
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/JpegImagePlugin.py", line 612, in _save
raise OSError(f"cannot write mode {im.mode} as JPEG") from e
OSError: cannot write mode P as JPEG
format="JPEG"でやってみたんですけど、次のようなエラーが出ます。
]>> newImg.save("gazou.jpg", format="JPEG")
Traceback (most recent call last):
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/JpegImagePlugin.py", line 610, in _save
rawmode = RAWMODE[im.mode]
KeyError: 'P'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/Image.py", line 2164, in save
save_handler(self, fp, filename)
File "/Users/hogehoge/venvpy/3.9/lib/python3.9/site-packages/PIL/JpegImagePlugin.py", line 612, in _save
raise OSError(f"cannot write mode {im.mode} as JPEG") from e
OSError: cannot write mode P as JPEG
727デフォルトの名無しさん
2021/05/26(水) 02:32:39.01ID:EtADpH1/728デフォルトの名無しさん
2021/05/26(水) 02:44:16.85ID:IRAeWeZp google colaboratoryで再現してみた >>724,725
JPEGにしたらできたよ
https://colab.research.google.com/drive/1dWEzVYQy840S_uEtOBEiTy2EF34NT1fz?usp=sharing
JPEGにしたらできたよ
https://colab.research.google.com/drive/1dWEzVYQy840S_uEtOBEiTy2EF34NT1fz?usp=sharing
729デフォルトの名無しさん
2021/05/26(水) 03:45:34.92ID:fSAivsd8730デフォルトの名無しさん
2021/05/26(水) 06:59:51.58ID:XGTO2klA Ruby on Rails では画像変換に、ImageMagick を使っているけど
731デフォルトの名無しさん
2021/05/26(水) 07:57:05.73ID:4tNLFt9k でたw
732デフォルトの名無しさん
2021/05/26(水) 10:54:28.63ID:2/BE6bBS >>721
できますよ
できますよ
733デフォルトの名無しさん
2021/05/26(水) 10:55:56.83ID:2/BE6bBS734デフォルトの名無しさん
2021/05/26(水) 17:39:22.31ID:8FPq1suG count = 0
for i in range(10):
count += 1
print(count)
みたいにインクリメントする処理があるとします。
上では初期値を0にしてるので最初の出力が1になりますが、最初を0にしたい場合どうしますか?
上はあくまで例ですのでenumerateは使わない状況だとしてください。
count = -1で初期化する?(何か不格好です)
printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
for i in range(10):
count += 1
print(count)
みたいにインクリメントする処理があるとします。
上では初期値を0にしてるので最初の出力が1になりますが、最初を0にしたい場合どうしますか?
上はあくまで例ですのでenumerateは使わない状況だとしてください。
count = -1で初期化する?(何か不格好です)
printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
735デフォルトの名無しさん
2021/05/26(水) 17:40:03.91ID:8FPq1suG ごめんなさい半角スペースの連続だと消えるんでしたね
736デフォルトの名無しさん
2021/05/26(水) 18:02:22.23ID:q6g7Vr2M print(i)にする。
>最後のループで無駄な処理
むしろこれだけ見るとcount変数の+=の方が無駄な処理。
>最後のループで無駄な処理
むしろこれだけ見るとcount変数の+=の方が無駄な処理。
737デフォルトの名無しさん
2021/05/26(水) 18:30:13.58ID:07VJOFax forの前でprintする
738デフォルトの名無しさん
2021/05/26(水) 18:37:06.13ID:kjvLv3j9 他の言語だとdo〜whileを使うパターンか。
739デフォルトの名無しさん
2021/05/26(水) 19:40:05.85ID:NUUFHqBA >>731
お化けみたいに言うなw
お化けみたいに言うなw
740デフォルトの名無しさん
2021/05/26(水) 19:59:33.95741デフォルトの名無しさん
2021/05/26(水) 20:06:57.31ID:mC/KZvAU >>734
print(count-1)
print(count-1)
742デフォルトの名無しさん
2021/05/26(水) 20:50:53.11ID:Gw0GQCqH Pythonって並列処理できないって本当?
シェルスクリプトで言えば cmd1 | cmd2 みたいに
パイプの左右を並列で実行したいだけなんだけど?
シェルスクリプトで言えば cmd1 | cmd2 みたいに
パイプの左右を並列で実行したいだけなんだけど?
743デフォルトの名無しさん
2021/05/26(水) 20:58:36.03ID:LbvCe00f それはストリーミング処理だろ
並列処理ではない
並列処理ではない
744デフォルトの名無しさん
2021/05/26(水) 21:53:19.41ID:8+ymouS/ 直列
cmd1
cmd2
並列
cmd1|cmd2
こういう事か
cmd1
cmd2
並列
cmd1|cmd2
こういう事か
745デフォルトの名無しさん
2021/05/26(水) 22:06:21.74ID:rgCCVIaL >>742
「Python GIL」でググるといい
「Python GIL」でググるといい
746デフォルトの名無しさん
2021/05/26(水) 22:12:11.41ID:ozAEioOZ747デフォルトの名無しさん
2021/05/26(水) 22:55:38.20ID:ozAEioOZ748デフォルトの名無しさん
2021/05/27(木) 00:27:09.95ID:553xg22q 確か、YouTube のPython で有名な、キノコードの動画で紹介していたような
749デフォルトの名無しさん
2021/05/27(木) 00:44:14.42ID:l6e1zJk8 本人宣伝乙
750デフォルトの名無しさん
2021/05/27(木) 04:30:23.43ID:wuJlwyMR まともに使えるのがPythonしかないのでここで聞かせてください
退屈なことはpythonにやらせようを一部飛ばしたけど一通りやった
データ構造とアルゴリズムは別の本でソートアルゴリズムとかは実装したことあるけど探索木のところで面倒くさくなって放り投げた
基本情報は持ってる
大学の学部は工学だけど全然関係ない科
大学のレベルは地方国立
まともに組んで使ってるのはEXCEL処理の自動化くらい
この程度の実力しかないんですけどブラックじゃないit関連企業に就職できますかね
遊びたくて院進したものの自分の分野で就職する気はあまりない
でも他の分野だとitくらいしかかじったものが無いんでどんなもんかなと
退屈なことはpythonにやらせようを一部飛ばしたけど一通りやった
データ構造とアルゴリズムは別の本でソートアルゴリズムとかは実装したことあるけど探索木のところで面倒くさくなって放り投げた
基本情報は持ってる
大学の学部は工学だけど全然関係ない科
大学のレベルは地方国立
まともに組んで使ってるのはEXCEL処理の自動化くらい
この程度の実力しかないんですけどブラックじゃないit関連企業に就職できますかね
遊びたくて院進したものの自分の分野で就職する気はあまりない
でも他の分野だとitくらいしかかじったものが無いんでどんなもんかなと
751デフォルトの名無しさん
2021/05/27(木) 04:45:23.78ID:KxzrMq7/ > 遊びたくて院進したものの自分の分野で就職する気はあまりない
好きにすればいいと思う
キミに誰が何を言っても無駄
好きにすればいいと思う
キミに誰が何を言っても無駄
752デフォルトの名無しさん
2021/05/27(木) 07:01:30.13ID:tgaRcrWk753デフォルトの名無しさん
2021/05/27(木) 08:36:21.02ID:PvZCRO+r >>750
そのスペックなら面接で普通に喋れたら大手グループのユー子くらいは普通にいける
コミュ力に自信があったり英語得意だったりするなら有名企業本体の情シスも挑戦してみる価値はある
大手SIer本体もどこかは受かるだろうけど激務が嫌ならお勧めはしない
Web系とか技術力を求めるところはまあ面接次第では受かるかもしれんが多分君には合わないからやめとけ
そのスペックなら面接で普通に喋れたら大手グループのユー子くらいは普通にいける
コミュ力に自信があったり英語得意だったりするなら有名企業本体の情シスも挑戦してみる価値はある
大手SIer本体もどこかは受かるだろうけど激務が嫌ならお勧めはしない
Web系とか技術力を求めるところはまあ面接次第では受かるかもしれんが多分君には合わないからやめとけ
754デフォルトの名無しさん
2021/05/27(木) 08:43:43.69ID:Ys/d/UYY つづきはマ板か
大坊板・就職相談系板あたりで!
大坊板・就職相談系板あたりで!
755デフォルトの名無しさん
2021/05/27(木) 09:15:16.72ID:Q/UJUSBh tkiter.filedialog.askdirectory()したときの
フォルダー: の部分の初期値って入れられないのでしょうか?
https://i.imgur.com/0o1rG3k.jpg
この画像でいう
フォルダー: python
の部分です
フォルダー: の部分の初期値って入れられないのでしょうか?
https://i.imgur.com/0o1rG3k.jpg
この画像でいう
フォルダー: python
の部分です
756デフォルトの名無しさん
2021/05/27(木) 11:46:42.37ID:CrQkQbIT スクレイピングした情報をツイッターみたいに画面にリアルタイムに流すのって何使えばいいですか
DOSに表示するなら簡単にできるんですけどもっと視覚的にわかりやすくしたいんですよね
なのでHTMLに変換する必要があるかなとは思うんですけどその先がわからない・・・
DOSに表示するなら簡単にできるんですけどもっと視覚的にわかりやすくしたいんですよね
なのでHTMLに変換する必要があるかなとは思うんですけどその先がわからない・・・
757デフォルトの名無しさん
2021/05/27(木) 12:13:34.90ID:DhAhTAG+ react 使えばええんちゃう
758デフォルトの名無しさん
2021/05/27(木) 12:33:46.57ID:THQ6jHMK >>755
「askdirectory 初期値」で検索すればいい
https://water2litter.net/rum/post/python_tkinter_filedialog_directry/
「askdirectory 初期値」で検索すればいい
https://water2litter.net/rum/post/python_tkinter_filedialog_directry/
759デフォルトの名無しさん
2021/05/27(木) 13:45:34.27ID:U0nLnJgd >>714
>>> df = pandas.DataFrame([[1,2,3]], columns=['a','b','c'])
>>> df
...a b c
0 1 2 3
>>> s = random.sample(list(df.keys()), 2)
>>> s
['c', 'a']
>>> df.loc[:,s]
...c a
0 3 1
>>> df.loc[:,s].apply(lambda x: x+1)
...c a
0 4 2
>>> df = pandas.DataFrame([[1,2,3]], columns=['a','b','c'])
>>> df
...a b c
0 1 2 3
>>> s = random.sample(list(df.keys()), 2)
>>> s
['c', 'a']
>>> df.loc[:,s]
...c a
0 3 1
>>> df.loc[:,s].apply(lambda x: x+1)
...c a
0 4 2
760デフォルトの名無しさん
2021/05/27(木) 14:25:54.47ID:U0nLnJgd761デフォルトの名無しさん
2021/05/27(木) 14:28:23.27ID:U0nLnJgd762デフォルトの名無しさん
2021/05/27(木) 16:30:33.66ID:s3y6OrJI763デフォルトの名無しさん
2021/05/27(木) 16:51:15.09 最初は0にしたいけど、0にしたくないってこと?
764デフォルトの名無しさん
2021/05/27(木) 16:54:45.69 >最初が0になってしまい
てことは最初は0になってほしくないってことよね
しかし
>最初を0にしたい場合
最初を0にしたいってことよね
てことは最初は0になってほしくないってことよね
しかし
>最初を0にしたい場合
最初を0にしたいってことよね
765デフォルトの名無しさん
2021/05/27(木) 17:20:29.85ID:s4UkTseg >>762
自分のやりたい事を整理して質問から書き直し
自分のやりたい事を整理して質問から書き直し
766デフォルトの名無しさん
2021/05/27(木) 17:38:34.38ID:Q/UJUSBh >>758
なんの話をしてるんですか?
なんの話をしてるんですか?
767デフォルトの名無しさん
2021/05/27(木) 18:33:21.46ID:rOct9PhV >>762
要は最初を0にするんじゃなくて、0から始めたいっていうことだよな?
要は最初を0にするんじゃなくて、0から始めたいっていうことだよな?
768デフォルトの名無しさん
2021/05/27(木) 19:14:24.03ID:BZT/lD7Y 解決すべきはロジックじゃなく気持ち
769デフォルトの名無しさん
2021/05/27(木) 20:29:53.79ID:tDs5bu9A >>734
>printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
printの後にcountをするようにして
後はifなりbreakなりで最終ループ時だけ無駄な処理を省けば良いやん
>printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
printの後にcountをするようにして
後はifなりbreakなりで最終ループ時だけ無駄な処理を省けば良いやん
770デフォルトの名無しさん
2021/05/27(木) 21:07:22.98ID:331NlD9k >>734
もう
print(0)
print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
って書けばいいんじゃね
もう
print(0)
print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
って書けばいいんじゃね
771デフォルトの名無しさん
2021/05/27(木) 21:59:03.27ID:OQqxMAG+ コンパイラかな?
772デフォルトの名無しさん
2021/05/27(木) 22:05:22.05ID:YUUYPYGS そもそもenumerateできないってどういう状況なんだよ
773デフォルトの名無しさん
2021/05/27(木) 23:44:19.10ID:xnk0LFCp python-vlc で動画再生をしようとしていますがエラーが出て表示できません。
#!/usr/bin/env python3
import vlc
import time
media = vlc.MediaPlayer("conan.mp4")
media.play()
while True: pass
-------
エラーメッセージ
[00007ffbea8240f0] main video output error: video output creation failed
[00007ffbf0e1e4f0] main decoder error: failed to create video output
[h264 @ 0x7ffbec81de00] get_buffer() failed
[h264 @ 0x7ffbec81de00] thread_get_buffer() failed
[h264 @ 0x7ffbec81de00] decode_slice_header error
[h264 @ 0x7ffbec81de00] no frame!
どうも動画を表示するフレームを生成したいないのが原因のようなのですが、
生成方法がわかりません。OSはMacです。Windowsだとうまくいくみたい?
#!/usr/bin/env python3
import vlc
import time
media = vlc.MediaPlayer("conan.mp4")
media.play()
while True: pass
-------
エラーメッセージ
[00007ffbea8240f0] main video output error: video output creation failed
[00007ffbf0e1e4f0] main decoder error: failed to create video output
[h264 @ 0x7ffbec81de00] get_buffer() failed
[h264 @ 0x7ffbec81de00] thread_get_buffer() failed
[h264 @ 0x7ffbec81de00] decode_slice_header error
[h264 @ 0x7ffbec81de00] no frame!
どうも動画を表示するフレームを生成したいないのが原因のようなのですが、
生成方法がわかりません。OSはMacです。Windowsだとうまくいくみたい?
774デフォルトの名無しさん
2021/05/28(金) 09:04:46.25ID:JAHXj1EI >>734
count = 0
print(count)
for i in range(1, 10):
__count += 1
__print(count)
一見無駄なことしているように見えて、これが一番だったり。
この手の最適化は、Javaなどのコンパイラで行われている。
count = 0
print(count)
for i in range(1, 10):
__count += 1
__print(count)
一見無駄なことしているように見えて、これが一番だったり。
この手の最適化は、Javaなどのコンパイラで行われている。
775デフォルトの名無しさん
2021/05/28(金) 09:11:50.43ID:hUAjGD+g >>772
実際には任意のループで条件でカウントアップしたいってことなんじゃないの?
こういう場合って、たいした処理じゃないから処理の意図が分かるように書くべきな気がするけど。
初期値を0にしたいなら
count = 0
ループでは単に先にprint(count)すればいいんじゃないのかね
実際には任意のループで条件でカウントアップしたいってことなんじゃないの?
こういう場合って、たいした処理じゃないから処理の意図が分かるように書くべきな気がするけど。
初期値を0にしたいなら
count = 0
ループでは単に先にprint(count)すればいいんじゃないのかね
776デフォルトの名無しさん
2021/05/28(金) 12:40:16.89 最初にprint(count)するのは否定されてね
理由は”最初が0になってしまう”から >>762
理由は”最初が0になってしまう”から >>762
777デフォルトの名無しさん
2021/05/28(金) 13:39:50.35ID:h8psOPk0 ループ抜けた時に count の値を最後に表示した値にしたいとかならまだわかるけど
> printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
とかだとたいした無駄じゃねーからそんなもん気にすんな!で終わる話だろ
> printの前ではなく後にcount += 1をする?(最後のループで無駄な処理になるます)
とかだとたいした無駄じゃねーからそんなもん気にすんな!で終わる話だろ
778デフォルトの名無しさん
2021/05/28(金) 15:15:23.54ID:hUAjGD+g779デフォルトの名無しさん
2021/05/28(金) 16:40:20.44ID:ZEZeXogb c=0
while c<10:
print(c)
c+=1
while c<10:
print(c)
c+=1
780デフォルトの名無しさん
2021/05/28(金) 17:06:29.61ID:6CwHnVjs >>779
最後のループで無駄な処理になるんで無しです
最後のループで無駄な処理になるんで無しです
781デフォルトの名無しさん
2021/05/28(金) 18:53:00.78ID:b/AkiR2P じゃぁ
while c=<9
で:
while c=<9
で:
782デフォルトの名無しさん
2021/05/28(金) 19:36:12.14ID:OhqLeUvs c=c+1
って書けよ
その方が実行速度早いし、つまりセンスある
って書けよ
その方が実行速度早いし、つまりセンスある
783デフォルトの名無しさん
2021/05/28(金) 21:39:06.19ID:ZEZeXogb ループ抜けるのに無駄な処理?が必要
c=<9にしたところでcに10は入る
c+=1のほうが速い
c=<9にしたところでcに10は入る
c+=1のほうが速い
784デフォルトの名無しさん
2021/05/28(金) 21:57:55.84ID:uV5nbJUS >>780
forの内部でもトライはするんだよね? なら、>779と変わらんのでは?
forの内部でもトライはするんだよね? なら、>779と変わらんのでは?
785デフォルトの名無しさん
2021/05/28(金) 22:25:04.89ID:AsMYqoY4 各種option値に変更があるとこのcallbackを経由してiniに書きにいく
func(name, *args):
__value = str(eval(f"{name}_var.get()"))
__ini.set("opt", name, value
なんて名前にすたらいいですか?
opts_callback? (それぞれのoptはそれぞれに別のcallback持ってるのでややこしいし、何してるかわからない)
bind_ini?
func(name, *args):
__value = str(eval(f"{name}_var.get()"))
__ini.set("opt", name, value
なんて名前にすたらいいですか?
opts_callback? (それぞれのoptはそれぞれに別のcallback持ってるのでややこしいし、何してるかわからない)
bind_ini?
786デフォルトの名無しさん
2021/05/29(土) 00:43:37.38ID:ERYJwpMm >>785
命名スレへどうぞ
命名スレへどうぞ
787デフォルトの名無しさん
2021/05/29(土) 01:18:09.28ID:IDyu8xLm788デフォルトの名無しさん
2021/05/29(土) 07:45:30.21ID:cBhWMXo2789デフォルトの名無しさん
2021/05/29(土) 08:21:18.93ID:ux58CXsc そもそもpythonで書いてる時点で無駄な処理ばっかりなんだから数字を一回余計に足すみたいなことを無駄だと考えてもしょうがない。
もしそれがめちゃくちゃコストが高いものだったら、
c=1
for i in range(2,10):
_ c+=1
_ print(c)
とかなんじゃないの。
しかしどこをどのように無駄だと考えるかで答えは変わってくるからこんな簡単な例だと意味がない。
1クロックも無駄にしたくないならCで書いて逆アセンブルして最適化すべき
もしそれがめちゃくちゃコストが高いものだったら、
c=1
for i in range(2,10):
_ c+=1
_ print(c)
とかなんじゃないの。
しかしどこをどのように無駄だと考えるかで答えは変わってくるからこんな簡単な例だと意味がない。
1クロックも無駄にしたくないならCで書いて逆アセンブルして最適化すべき
790デフォルトの名無しさん
2021/05/29(土) 10:50:41.47ID:1rqPiETn 分岐のコストなんかより、たとえば動的ディスパッチみたいなの方がもっとコスト高いしな。
Python使っている時点でそんなの気にする方がおかしい。
Python使っている時点でそんなの気にする方がおかしい。
791デフォルトの名無しさん
2021/05/29(土) 11:44:07.53ID:IDyu8xLm792デフォルトの名無しさん
2021/05/29(土) 12:55:22.74ID:1cSD9ghj >>791
それは質問に対する答えじゃないでしょう
それは質問に対する答えじゃないでしょう
793デフォルトの名無しさん
2021/05/29(土) 14:07:19.37ID:eCdX3xcf そもそも質問が可笑しかったり
質問自体が間違ってるときは
議論がナンセンスになる
質問自体が間違ってるときは
議論がナンセンスになる
794デフォルトの名無しさん
2021/05/29(土) 14:17:24.87ID:w6PJb4Ro Selenium について教えを頂きたいです。
・社内システムの毎月出力作業を自動化したいと考えています。
・選択ボックスに100項目あって、CSV出力しています。
・ただし一度に100項目選択すると止まってしまうので、10項目ずつ選択して出力しています。
・これを for 文で表したいのですが、セレクトボックスから10項目ずつ選択→ループする方法ってありますでしょうか?
↓1つずつ選択するコードはこんな感じで作りました。
#セレクトボックスの選択肢リスト
select_list =["001","002",・・・,"100"]
#1個ずつ選んで出力
for i in select_list:
select.select_by_value(i)
(→CSV出力)
(→選んだものを削除)
変な質問でお恥ずかしいですが、よろしくお願いします。
・社内システムの毎月出力作業を自動化したいと考えています。
・選択ボックスに100項目あって、CSV出力しています。
・ただし一度に100項目選択すると止まってしまうので、10項目ずつ選択して出力しています。
・これを for 文で表したいのですが、セレクトボックスから10項目ずつ選択→ループする方法ってありますでしょうか?
↓1つずつ選択するコードはこんな感じで作りました。
#セレクトボックスの選択肢リスト
select_list =["001","002",・・・,"100"]
#1個ずつ選んで出力
for i in select_list:
select.select_by_value(i)
(→CSV出力)
(→選んだものを削除)
変な質問でお恥ずかしいですが、よろしくお願いします。
795デフォルトの名無しさん
2021/05/29(土) 15:22:09.00ID:IDyu8xLm >>794
n = 10
for i in select_list[::n]:
__for j in range(n):
____select.select_by_value(i+j)
__CSV出力
iterableからn個のchunkごとに要素を扱う方法もあるけど標準だけだと少し面倒くさい
n = 10
for i in select_list[::n]:
__for j in range(n):
____select.select_by_value(i+j)
__CSV出力
iterableからn個のchunkごとに要素を扱う方法もあるけど標準だけだと少し面倒くさい
796デフォルトの名無しさん
2021/05/29(土) 17:04:22.27ID:Q5ZWhxJZ >>794
select_list=[("001","002","003"…),("011","012"…),()…,("091","092",)]
for i in range(10):
_for j in select_list[i]:
__select.select_by_value(j)
_CSV,DELETE
_処理待
select_list=[("001","002","003"…),("011","012"…),()…,("091","092",)]
for i in range(10):
_for j in select_list[i]:
__select.select_by_value(j)
_CSV,DELETE
_処理待
797デフォルトの名無しさん
2021/05/29(土) 17:07:48.15ID:aILMlz1X システム担当者にCSVでこういうデータくれって言う方が早い
798デフォルトの名無しさん
2021/05/29(土) 17:54:10.41ID:9eA0IGVX んだや>>797
799デフォルトの名無しさん
2021/05/29(土) 18:56:27.94ID:IDyu8xLm >>795
いろいろバグってたわ
少し面倒でもchunkingしたほうがいいね
def chunked(sequence, chunk_size):
__for i, x in enumerate(sequence[::n]):
____yield sequence[i*n:i*n+n]
n = 10
for xs in chunked(select_list, n):
__for x in xs:
____select.select_by_value(x)
__CSV出力
__select.deselect_all()
上のはsliceしてるのでsequenceしか対応してない
iterableに対応したければislice使って自作するかtoolzのpartition_all
いろいろバグってたわ
少し面倒でもchunkingしたほうがいいね
def chunked(sequence, chunk_size):
__for i, x in enumerate(sequence[::n]):
____yield sequence[i*n:i*n+n]
n = 10
for xs in chunked(select_list, n):
__for x in xs:
____select.select_by_value(x)
__CSV出力
__select.deselect_all()
上のはsliceしてるのでsequenceしか対応してない
iterableに対応したければislice使って自作するかtoolzのpartition_all
800デフォルトの名無しさん
2021/05/29(土) 22:28:41.31ID:w6PJb4Ro801デフォルトの名無しさん
2021/05/30(日) 01:51:26.72ID:QbQ8fL7I pythonとsql学んだあとにflask学んでるだけどわけが分からん
書いてある通りにコピペしたら動くけど一文一文の説明とかないから意味不明な引数渡してたりしておまじないにしか見えん
言語よりフレームワークの方が丁寧な説明してるサイトなくて辛いわ
書いてある通りにコピペしたら動くけど一文一文の説明とかないから意味不明な引数渡してたりしておまじないにしか見えん
言語よりフレームワークの方が丁寧な説明してるサイトなくて辛いわ
802デフォルトの名無しさん
2021/05/30(日) 02:12:39.29ID:/X+axtgF803デフォルトの名無しさん
2021/05/30(日) 02:17:55.55ID:q/JEAbG9 俺も知らなくて今見たけど
普通にURLのパスで振り分けて
レスポンスを返しているだけで
非常にわかりやすかったが…
httpの勉強をしてはどうだろう
普通にURLのパスで振り分けて
レスポンスを返しているだけで
非常にわかりやすかったが…
httpの勉強をしてはどうだろう
804デフォルトの名無しさん
2021/05/30(日) 02:26:23.49ID:+GIz90Eu flaskみたいなマイクロフレームワークはほぼHTTP剥き出しだから仕組みを理解していれば何も難しいことはないし分かってないとサッパリだろうな
基礎をすっ飛ばしてとにかく動きゃいいならPHPやRailsの方がいいんじゃないかな
基礎をすっ飛ばしてとにかく動きゃいいならPHPやRailsの方がいいんじゃないかな
805デフォルトの名無しさん
2021/05/30(日) 03:12:15.81ID:Hj1QGeYh >>801
ほぼ一文一文説明されてない?
https://flask.palletsprojects.com/en/2.0.x/quickstart/
具体的に分からない点をあげてもらえれば
不足してる前提知識がわかるかもしれない
ほぼ一文一文説明されてない?
https://flask.palletsprojects.com/en/2.0.x/quickstart/
具体的に分からない点をあげてもらえれば
不足してる前提知識がわかるかもしれない
806デフォルトの名無しさん
2021/05/30(日) 05:34:27.67ID:thNqHOO+ うちも去年PythonはじめてDjango挫折してFlaskでようやく検索サイト作れたよ
httpなんか必要ないし。とにかくググって自分に必要そうなやつコピペしまくってるうちにわかるようになる
httpなんか必要ないし。とにかくググって自分に必要そうなやつコピペしまくってるうちにわかるようになる
807デフォルトの名無しさん
2021/05/30(日) 06:16:53.32ID:nQsIrgLa seleniumとchrome driverで自動操作させるのを作ってるんだけどちゃんと動くか確認する際に、今どの操作をやっているのか表示させる方法ってありますか?
待機している状態なのか、要素をクリックするはずがその要素がまだ表示されてなくてプログラムが止まってしまったのか小窓か何かで確認できたら嬉しい
スマホアプリのFrep(タッチやスクロールや待機などをプログラムして自動化できるアプリ)みたいな感じで
待機している状態なのか、要素をクリックするはずがその要素がまだ表示されてなくてプログラムが止まってしまったのか小窓か何かで確認できたら嬉しい
スマホアプリのFrep(タッチやスクロールや待機などをプログラムして自動化できるアプリ)みたいな感じで
808デフォルトの名無しさん
2021/05/30(日) 07:55:34.47ID:ll3X7Vbz809デフォルトの名無しさん
2021/05/30(日) 09:31:11.43ID:SQirJDgW wxpythonで、たくさんのボタンをbutton_funcでバインドして、
def button_func( self , event ):
で、クリックしたボタンの名前を取得するには、どう書きますか?
event.GetEventObject() や event.GetId() だと
メモリアドレスやよく分からない6桁くらいの数字が出てきます。
def button_func( self , event ):
で、クリックしたボタンの名前を取得するには、どう書きますか?
event.GetEventObject() や event.GetId() だと
メモリアドレスやよく分からない6桁くらいの数字が出てきます。
810デフォルトの名無しさん
2021/05/30(日) 10:07:49.63ID:7FUVn7Mh これの続きか?
Pythonでループ文(for文など)を用いてButtonを多く作成したいの... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13243927018
Pythonでループ文(for文など)を用いてButtonを多く作成したいの... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13243927018
811デフォルトの名無しさん
2021/05/30(日) 10:15:00.50ID:wVmXhvTW812デフォルトの名無しさん
2021/05/30(日) 12:03:44.16ID:Gk//zzeB >>801
学校はどこも、Ruby on Rails。
YouTube で有名な雑食系エンジニア・KENTA のサロンでも、そう
Rails 6 だけでも黒田努とか、数冊出ている。
Rails チュートリアルとか、教育体制が圧巻!
Rails以外のフレームワークを学んでも、実務で使えない。
保守できないので使う会社がない。需要がない
Udemy の人気講師・山浦清透、YouTube、1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
圧巻! 山浦のDockerからCircleCIまで含めた、一連の動画
学校はどこも、Ruby on Rails。
YouTube で有名な雑食系エンジニア・KENTA のサロンでも、そう
Rails 6 だけでも黒田努とか、数冊出ている。
Rails チュートリアルとか、教育体制が圧巻!
Rails以外のフレームワークを学んでも、実務で使えない。
保守できないので使う会社がない。需要がない
Udemy の人気講師・山浦清透、YouTube、1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
圧巻! 山浦のDockerからCircleCIまで含めた、一連の動画
813デフォルトの名無しさん
2021/05/30(日) 16:59:06.70ID:thNqHOO+ www
814デフォルトの名無しさん
2021/05/30(日) 17:28:25.64ID:SQirJDgW815デフォルトの名無しさん
2021/05/30(日) 19:16:27.20ID:GQzTsaB3 人気山師に見えたわ
816デフォルトの名無しさん
2021/05/31(月) 05:39:07.08ID:7zrNsB91817デフォルトの名無しさん
2021/05/31(月) 09:35:26.59ID:3RgsPXyf 馬鹿には無理
818デフォルトの名無しさん
2021/05/31(月) 12:32:05.59ID:HIaAzIRd openpyxlでスケールを設定せず折れ線グラフとか散布図を描いた後に自動で設定されたスケールを変数に格納する事ってできない?
グラフ名.y_axis.scaling=openpyxl.chart.axis.scaling(min=0,max=100)
みたいに明示的に設定してから描画したら最小0、最大100になるけど
この数値を入れずに自動設定で描画した後に
print(グラフ名.y_axis.scaling)
を入れるとmax=None,min=Noneになっちゃうんだよね
グラフ名.y_axis.scaling=openpyxl.chart.axis.scaling(min=0,max=100)
みたいに明示的に設定してから描画したら最小0、最大100になるけど
この数値を入れずに自動設定で描画した後に
print(グラフ名.y_axis.scaling)
を入れるとmax=None,min=Noneになっちゃうんだよね
819デフォルトの名無しさん
2021/05/31(月) 21:11:21.29ID:nK3+fI7q Noneが自動って考えなんでは
自動か指定ではあきらかに違う
自動か指定ではあきらかに違う
820デフォルトの名無しさん
2021/05/31(月) 22:01:18.87ID:Gvuxe9Ho virtualenvで作ったファイルにvscodeでアクセスできるのはなぜですか?
仮想化した状態で作ったpyファイルに仮想化をactivateしてないのに左側のエクスプローラーからアクセスできて自由に書き換え保存もできます
いちいち仮想化しなくても書き換えできるので便利だな程度にしか思ってなかったのですがwindows標準のエクスプローラーからアクセスしようとしたらファイルなくてそういえば仮想化して作ったファイルだったなと
なんでvscodeならアクセスできるか不思議に思いました
仮想化した状態で作ったpyファイルに仮想化をactivateしてないのに左側のエクスプローラーからアクセスできて自由に書き換え保存もできます
いちいち仮想化しなくても書き換えできるので便利だな程度にしか思ってなかったのですがwindows標準のエクスプローラーからアクセスしようとしたらファイルなくてそういえば仮想化して作ったファイルだったなと
なんでvscodeならアクセスできるか不思議に思いました
821デフォルトの名無しさん
2021/05/31(月) 22:23:27.20ID:W0rzhAw2 これは目が曇ってるやつ
822デフォルトの名無しさん
2021/05/31(月) 22:36:32.74ID:W0rzhAw2 VSCodeでそのpyファイルを右クリックして "Reveal in Explorer" を選んでごらん
823デフォルトの名無しさん
2021/05/31(月) 22:44:02.30ID:Gvuxe9Ho これはお恥ずかしい
意味のわからないこと書き込んでました
ツイートみたいに削除したい
意味のわからないこと書き込んでました
ツイートみたいに削除したい
824デフォルトの名無しさん
2021/05/31(月) 22:47:11.85ID:A1aFJfEy >>820
> virtualenvで作ったファイルにvscodeでアクセスできるのはなぜですか?
実在するからです
>windows標準のエクスプローラーからアクセスしようとしたらファイルなくて
むしろこっちがおかしいです
仮想環境を具体的にどうやって作成したかは知りませんがそういうものです
virtualenvというものは実質的には実行環境のことです
> virtualenvで作ったファイルにvscodeでアクセスできるのはなぜですか?
実在するからです
>windows標準のエクスプローラーからアクセスしようとしたらファイルなくて
むしろこっちがおかしいです
仮想環境を具体的にどうやって作成したかは知りませんがそういうものです
virtualenvというものは実質的には実行環境のことです
825デフォルトの名無しさん
2021/06/01(火) 00:43:06.01ID:z4P7Xsae 数日前から初めてプログラミングそのものを始めた超初心者です。
どうぞよろしくお願いいたします。簡単なおみくじのプログラミングをしてみたのですが、
下記エラーメッセージが出て動きません。
改善点あれば教示ください。
■作成プログラム
import random
def omikuji():
kuji = ["大吉","小吉","凶”]
return random.choice(kuji)
kekka = omikuji()
print('結果は',kekka,'です')
■エラーメッセージ内容
EOL while scanning string literal
どうぞよろしくお願いいたします。簡単なおみくじのプログラミングをしてみたのですが、
下記エラーメッセージが出て動きません。
改善点あれば教示ください。
■作成プログラム
import random
def omikuji():
kuji = ["大吉","小吉","凶”]
return random.choice(kuji)
kekka = omikuji()
print('結果は',kekka,'です')
■エラーメッセージ内容
EOL while scanning string literal
826デフォルトの名無しさん
2021/06/01(火) 00:50:49.90ID:h2QyZNy/827デフォルトの名無しさん
2021/06/01(火) 01:18:44.93ID:z4P7Xsae828デフォルトの名無しさん
2021/06/01(火) 09:00:51.97ID:kyVtHsFz プログラム経験ゼロの文系男がPythonで株の自動売買のプログラム作れるようになるのは至難の業かな?
毎日数時間の勉強を数年続けないとダメかなやっぱり
教えてエロい人
毎日数時間の勉強を数年続けないとダメかなやっぱり
教えてエロい人
829デフォルトの名無しさん
2021/06/01(火) 09:45:32.88ID:J1JNasTR >>828
多分3ヶ月ぐらいでできるようになるよ
多分3ヶ月ぐらいでできるようになるよ
830デフォルトの名無しさん
2021/06/01(火) 09:52:21.07ID:kyVtHsFz831デフォルトの名無しさん
2021/06/01(火) 10:02:50.85ID:J2N8rWTY ワンショットの分析で売買シグナルを出すくらいなら本も腐るほどあるし簡単だけど、
継続的に稼働して利益を出し続けられる仕組みを構築するのは超難しいよ
IT8年目の本職だけど、自分のコードに金を任せる気にはなれんわ
やってるのは売買戦略のバックテストまでだな
継続的に稼働して利益を出し続けられる仕組みを構築するのは超難しいよ
IT8年目の本職だけど、自分のコードに金を任せる気にはなれんわ
やってるのは売買戦略のバックテストまでだな
832デフォルトの名無しさん
2021/06/01(火) 10:04:53.35ID:cJD9xMIA833デフォルトの名無しさん
2021/06/01(火) 10:10:39.58ID:TvRQnady ていうか買ってあるならやれよw
やってから聞け
やってから聞け
834デフォルトの名無しさん
2021/06/01(火) 12:04:48.93ID:GfvVYbqX 20分遅れのデータで売買してもボラれるだけだしな
835デフォルトの名無しさん
2021/06/01(火) 12:14:05.16ID:h2QyZNy/ >>827
こういう細かいミスはVSCodeとかPyCharmみたいな
プログラミング用エディタとかIDEを使うと
警告文を出してくれるから、そろそろ使ってみると良いかもしれないね
VSCodeが導入も楽でお勧め
こういう細かいミスはVSCodeとかPyCharmみたいな
プログラミング用エディタとかIDEを使うと
警告文を出してくれるから、そろそろ使ってみると良いかもしれないね
VSCodeが導入も楽でお勧め
836デフォルトの名無しさん
2021/06/01(火) 13:55:15.01ID:kkYAvrn4 無駄にトラップが一つ増えてるだけじゃないかなぁ
凶のあと続けてダブルコーテーションを打ったらそのまんま全角になってて、しかも見ても分からなかった、でしょコレ
日本語でやらせるだけで変換ミスが起きる
つまり日本の初心者とアメリカの初心者はひっかかり具合が違う
要らないトラップが増えてる
凶のあと続けてダブルコーテーションを打ったらそのまんま全角になってて、しかも見ても分からなかった、でしょコレ
日本語でやらせるだけで変換ミスが起きる
つまり日本の初心者とアメリカの初心者はひっかかり具合が違う
要らないトラップが増えてる
837デフォルトの名無しさん
2021/06/01(火) 14:49:42.43ID:uwqmKkHK エラーメッセージがわかりにくいのと
エラーメッセージの見方を知らないのが原因
前者は言語が改善すべき点
後者はIDEを使う場合でも学んでおくべき
エラーメッセージの見方を知らないのが原因
前者は言語が改善すべき点
後者はIDEを使う場合でも学んでおくべき
838デフォルトの名無しさん
2021/06/01(火) 15:07:37.68ID:kkYAvrn4 アメリカ人が作ってんだから全角文字うんぬんは酷でしょ
人生の中でこれまで一度も使ったことない記号へのエラーメッセージを分かり易く作れ……ってのは流石に絵空事だ
だって全角文字関連は架空の話に見えるじゃん
人生の中でこれまで一度も使ったことない記号へのエラーメッセージを分かり易く作れ……ってのは流石に絵空事だ
だって全角文字関連は架空の話に見えるじゃん
839デフォルトの名無しさん
2021/06/01(火) 15:21:07.96ID:urmZmZKO アメリカ人が作っているのかφ(..)メモメモ
840デフォルトの名無しさん
2021/06/01(火) 17:01:10.24ID:G+CkyqTl 変数名に2byte文字使えるしむしろ日本語圏の人間にも優しい作りでは?(雑な認識)
841デフォルトの名無しさん
2021/06/01(火) 17:57:30.79ID:Jb5LYbPi ずっと前から思ってるがGHQはなぜ他の植民地同様に英語を公用語にしてくれなかったんだ
そのせいで日本人はハンデを生まれたときから背負ってる
英語さえ自由自在に使えたら無料公開されてる本沢山あるのに
そのせいで日本人はハンデを生まれたときから背負ってる
英語さえ自由自在に使えたら無料公開されてる本沢山あるのに
842デフォルトの名無しさん
2021/06/01(火) 18:05:15.89ID:kkYAvrn4 どっちつかずのダブルリミテッドをワンサカ量産すれば占領継続がラクじゃん
超合理主義になって歯向かってきても困るし
超合理主義になって歯向かってきても困るし
843デフォルトの名無しさん
2021/06/01(火) 18:12:07.69ID:uwqmKkHK >>838
全角クォーテーションを指摘しろってのは酷だわ
3.10で改善されるエラーメッセージは↓こんな感じ
3.9 SyntaxError: EOL while scanning string literal
3.10 SyntaxError: unterminated string literal (detected at line 3)
でもこの変更でエラー箇所を示すキャレット位置がバグるようになってる
全角クォーテーションを指摘しろってのは酷だわ
3.10で改善されるエラーメッセージは↓こんな感じ
3.9 SyntaxError: EOL while scanning string literal
3.10 SyntaxError: unterminated string literal (detected at line 3)
でもこの変更でエラー箇所を示すキャレット位置がバグるようになってる
844デフォルトの名無しさん
2021/06/01(火) 19:24:03.65ID:l4DXf63f >>841
勉強すりゃいいだけじゃね
勉強すりゃいいだけじゃね
845デフォルトの名無しさん
2021/06/01(火) 22:18:37.49ID:z4P7Xsae846デフォルトの名無しさん
2021/06/02(水) 04:28:33.87ID:sSbsV05j mainモジュールのインスタンスのsubモジュールから自作exceptをraiseするときって
mainで定義してsubに渡して使うんですか?
Main
class myEx():
_pass
class main()
_def __init__(self):
__try:
___self.sub = Sub(myEx)
__except myEx as e:
___pass
Sub
class sub()
_def__init__(self, myEx):
__self.myex = myEx
__raise self.myex
みたいな?
mainで定義してsubに渡して使うんですか?
Main
class myEx():
_pass
class main()
_def __init__(self):
__try:
___self.sub = Sub(myEx)
__except myEx as e:
___pass
Sub
class sub()
_def__init__(self, myEx):
__self.myex = myEx
__raise self.myex
みたいな?
847デフォルトの名無しさん
2021/06/02(水) 05:37:48.78ID:6ZqDM4Li 例外の性格次第だが、一般的にsub.py以外でスローしない例外はsub.pyに定義してmain.pyでimportする
例えばJSONDecodeErrorはjsonモジュールの中で定義されていてmainから渡すとかやらないだろ
例えばJSONDecodeErrorはjsonモジュールの中で定義されていてmainから渡すとかやらないだろ
848デフォルトの名無しさん
2021/06/02(水) 05:42:33.79ID:sSbsV05j あーそりゃそうか
import sub.Sub, sub.Err ですね
import sub.Sub, sub.Err ですね
849デフォルトの名無しさん
2021/06/02(水) 10:17:35.50ID:qtmfAhQ7 >>836
>つまり日本の初心者とアメリカの初心者はひっかかり具合が違う
>要らないトラップが増えてる
そこはその通りだと思うが
トラップが無いことで latin-1 プログラミングしか知らない馬鹿が大量生産されてるぞ
>つまり日本の初心者とアメリカの初心者はひっかかり具合が違う
>要らないトラップが増えてる
そこはその通りだと思うが
トラップが無いことで latin-1 プログラミングしか知らない馬鹿が大量生産されてるぞ
850デフォルトの名無しさん
2021/06/02(水) 10:19:32.01ID:qtmfAhQ7 >>838-839
IMEとかは韓国人だよな
IMEとかは韓国人だよな
851デフォルトの名無しさん
2021/06/02(水) 10:21:42.06ID:qtmfAhQ7 >>841
あいつらは Divide and Conquer の原則で動いている
あいつらは Divide and Conquer の原則で動いている
852デフォルトの名無しさん
2021/06/02(水) 10:23:10.22ID:qtmfAhQ7853デフォルトの名無しさん
2021/06/02(水) 10:41:02.55ID:FKfsOG19 VScodeでWindows上で動作するソフトを、AndroidやiOS用に変換するのは大変ですか?
また、変換・作成するのに、何を使うのがいいでしょうか?
また、変換・作成するのに、何を使うのがいいでしょうか?
854デフォルトの名無しさん
2021/06/02(水) 11:52:54.26ID:ff41IlUq >>853
そのWindows上で動作するソフトが何で作られてるのか等を明確にしないと分からないんじゃね
Webアプリならそのまま使えるかもしれないしモバイル対応のフレームワーク使われてて楽できるかもしれないし1から作り直しかもしれない
WindowsのソフトがPython製なのかAndroidやiOS側をPythonで作りたいのか、変換作成ツールをPythonで作りたいのかも分からんけど
そのWindows上で動作するソフトが何で作られてるのか等を明確にしないと分からないんじゃね
Webアプリならそのまま使えるかもしれないしモバイル対応のフレームワーク使われてて楽できるかもしれないし1から作り直しかもしれない
WindowsのソフトがPython製なのかAndroidやiOS側をPythonで作りたいのか、変換作成ツールをPythonで作りたいのかも分からんけど
855デフォルトの名無しさん
2021/06/02(水) 15:40:58.71ID:yQA8A0IZ ファイルをopenしたあとcloseするのにtry構文かwith使えっていうこと自体は納得できるんやけど
例外が発生した場合て何?ファイル操作してるだけでどんな例外が発生するわけ?
例外が発生した場合て何?ファイル操作してるだけでどんな例外が発生するわけ?
856デフォルトの名無しさん
2021/06/02(水) 17:00:58.06ID:zFDXJHkT ファイル操作自体の例外もあるけど、それを処理するプログラムでの例外なんていくらでもあるでしょ
例えば読み込んだデータが想定外な内容だったときにそれを適切に処理できなかったら例外になるわけだし
例えば読み込んだデータが想定外な内容だったときにそれを適切に処理できなかったら例外になるわけだし
857デフォルトの名無しさん
2021/06/02(水) 17:03:10.35ID:V9vML6OV858デフォルトの名無しさん
2021/06/02(水) 17:10:14.08ID:hw91iJNb 自分用のプログラムで例外なんかまず起こらんし
859デフォルトの名無しさん
2021/06/02(水) 17:48:37.82ID:yQA8A0IZ なるほど
あとcloseしなかったところで結局メモリ上に残るだけなんやよね
サーバーとか業務用とか迂闊に再起動かけられないやつはともかく
個人のpcで使う分には再起動かければリセットされるからテストで適当に書いたやつ動かすときにまで気をつける必要はないってことでいい?
個人やから複数人が同時に同じファイルにアクセスすることはないわけやけどcloseしなかったせいでファイルの中身がバグる可能性はある?
あとcloseしなかったところで結局メモリ上に残るだけなんやよね
サーバーとか業務用とか迂闊に再起動かけられないやつはともかく
個人のpcで使う分には再起動かければリセットされるからテストで適当に書いたやつ動かすときにまで気をつける必要はないってことでいい?
個人やから複数人が同時に同じファイルにアクセスすることはないわけやけどcloseしなかったせいでファイルの中身がバグる可能性はある?
860デフォルトの名無しさん
2021/06/02(水) 18:12:55.73ID:zFDXJHkT なんで自分用プログラム前提になってるんだw
861デフォルトの名無しさん
2021/06/02(水) 18:23:34.54ID:Zp+BPaz5 例外処理書くのつまんなーいってのはわかるけどさ
862デフォルトの名無しさん
2021/06/02(水) 18:30:03.99ID:ff41IlUq 個人PCでも再起動かけるのってかなりの面倒臭さじゃね
863デフォルトの名無しさん
2021/06/02(水) 18:46:21.81ID:kd21cT4U そういうのは分かってる奴がやるもの
分かったつもりになってるバカの分際で安易に省略するもんじゃない
ヤケドでは済まんかも知れんぞ
分かったつもりになってるバカの分際で安易に省略するもんじゃない
ヤケドでは済まんかも知れんぞ
864デフォルトの名無しさん
2021/06/02(水) 18:47:29.35ID:hhKhRwzz closeすべきものをしないで終了した時どうなるかなんてのはどちらかといえばOS寄りの問題だし
いい加減なことしてるのに保証してくれる人なんかいるわけがない
自分しか使わないやつなら勝手にすりゃいいじゃん
いい加減なことしてるのに保証してくれる人なんかいるわけがない
自分しか使わないやつなら勝手にすりゃいいじゃん
865デフォルトの名無しさん
2021/06/02(水) 19:09:17.60ID:yQA8A0IZ 了解きちんと書くことにする
866デフォルトの名無しさん
2021/06/02(水) 19:11:31.11ID:qtmfAhQ7 readlines() の StopIteration は例外じゃないのか
867デフォルトの名無しさん
2021/06/02(水) 20:52:33.85ID:d1/ncfWF どこでどうやってどんな例外をキャッチするか考えるのが楽しいのに
868デフォルトの名無しさん
2021/06/02(水) 21:51:04.17ID:RfLE0/Hl 何万アクセスでopenしてcloseしないと問題になることもある
869デフォルトの名無しさん
2021/06/03(木) 02:58:57.78ID:jthF3aHA jupyter notebookの入力補完を使ってるんですが、文字を素早く入力すると勝手に確定されてしまいます
何か対策はないでしょうか
何か対策はないでしょうか
870デフォルトの名無しさん
2021/06/03(木) 03:23:36.33ID:D8+ISXKN ゆっくり入力する?
871デフォルトの名無しさん
2021/06/03(木) 03:48:21.74ID:w+CRMQcJ pychrm で jupiter使う
872デフォルトの名無しさん
2021/06/03(木) 05:21:28.62ID:qwq0SuTE そんなに早いんではもう初心者ではないよね
873デフォルトの名無しさん
2021/06/03(木) 08:09:56.06ID:Nz5dmiB8 ファイル処理ってかなり例外起こりやすい方のものだと思うけどなあ。
ファイルがない、パーミッションがない、書き込むのに必要なディスク容量が足りない、読み書き中にストレージとの接続が切れてそれ以上続けられなくなった、とか。
ファイルがない、パーミッションがない、書き込むのに必要なディスク容量が足りない、読み書き中にストレージとの接続が切れてそれ以上続けられなくなった、とか。
874デフォルトの名無しさん
2021/06/03(木) 10:15:14.07ID:oKNqyVQK printの戻り値もちゃんと処理汁
875デフォルトの名無しさん
2021/06/03(木) 10:53:17.24ID:7fzpIauE バージョンごとの新機能をまとめたページ教えて
type hintingあたりからついていけません
type hintingあたりからついていけません
876デフォルトの名無しさん
2021/06/03(木) 11:54:44.90ID:EB2fXtke 新機能使わないといけないわけでもあるまいし
877デフォルトの名無しさん
2021/06/03(木) 11:57:02.61ID:NRqgjvXI クロージャーについてなんやけど
クロージャーて状態を保存するのがメリットみたいやけどこれって要はインスタンス変数とやってること同じやよね
いちいちインスタンス化してると冗長になるからクラス作るほどじゃない処理に使うってことでいい?
クロージャーて状態を保存するのがメリットみたいやけどこれって要はインスタンス変数とやってること同じやよね
いちいちインスタンス化してると冗長になるからクラス作るほどじゃない処理に使うってことでいい?
878デフォルトの名無しさん
2021/06/03(木) 15:07:45.55ID:b8UYWy0n いいぜ
879デフォルトの名無しさん
2021/06/03(木) 20:31:02.33ID:jthF3aHA 私の環境っぽいですね
文字が重複して入力されるんで困ってますがどうにもならないんで入力補完止めることにします
文字が重複して入力されるんで困ってますがどうにもならないんで入力補完止めることにします
880デフォルトの名無しさん
2021/06/03(木) 20:42:07.21ID:z4cztZ+j881デフォルトの名無しさん
2021/06/03(木) 22:55:09.14ID:yQsEsK9g pyenv initが出来ないのですがどうしたらよいかわかりますか?
macにpyenvをインストールして.bashrcと.bash_profileに
パスを通す書き込みも終えています。
pyenv initをすると下記のエラーが出ます。
# (The below instructions are intended for common
# shell setups. See the README for more guidance
# if they don't apply and/or don't work for you.)
# Add pyenv executable to PATH and
# enable shims by adding the following
# to ~/.profile:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
# If your ~/.profile sources ~/.bashrc,
# the lines need to be inserted before the part
# that does that. See the README for another option.
# If you have ~/.bash_profile, make sure that it
# also executes the above lines -- e.g. by
# copying them there or by sourcing ~/.profile
# Load pyenv into the shell by adding
# the following to ~/.bashrc:
eval "$(pyenv init -)"
# Make sure to restart your entire logon session
# for changes to profile files to take effect.
macにpyenvをインストールして.bashrcと.bash_profileに
パスを通す書き込みも終えています。
pyenv initをすると下記のエラーが出ます。
# (The below instructions are intended for common
# shell setups. See the README for more guidance
# if they don't apply and/or don't work for you.)
# Add pyenv executable to PATH and
# enable shims by adding the following
# to ~/.profile:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
# If your ~/.profile sources ~/.bashrc,
# the lines need to be inserted before the part
# that does that. See the README for another option.
# If you have ~/.bash_profile, make sure that it
# also executes the above lines -- e.g. by
# copying them there or by sourcing ~/.profile
# Load pyenv into the shell by adding
# the following to ~/.bashrc:
eval "$(pyenv init -)"
# Make sure to restart your entire logon session
# for changes to profile files to take effect.
882デフォルトの名無しさん
2021/06/03(木) 23:11:10.54ID:b8UYWy0n Catalina以降はzshだから設定ファイルがちゃうねんな
883デフォルトの名無しさん
2021/06/03(木) 23:52:32.37ID:xoFGjtQh 公式で用意されてるmacOS用のインストーラとそれについてるvenvでやったほうが楽でないかい?
884デフォルトの名無しさん
2021/06/03(木) 23:55:40.34ID:yQsEsK9g885デフォルトの名無しさん
2021/06/04(金) 00:05:30.80ID:2f3UvlAI >>884
とりあえずエラー文を読んだらどうか
とりあえずエラー文を読んだらどうか
886デフォルトの名無しさん
2021/06/04(金) 01:50:06.87ID:B2zNvZsu すみません
pythonで趣味のサッカーの統計とか機械学習で勝敗予想とかできたらなぁと思って最近始めた者です。if、for文を使った簡単なコード、エクセルの読み書き、スクレイピングなど一通り勉強して初心者脱出したかなぁくらいです。
機械学習の本を立ち読みすると結構難解で手が出しづらいのですが、こんな本がいいよとか、次何勉強するといいよあればとか教えて頂きたいです。
pythonで趣味のサッカーの統計とか機械学習で勝敗予想とかできたらなぁと思って最近始めた者です。if、for文を使った簡単なコード、エクセルの読み書き、スクレイピングなど一通り勉強して初心者脱出したかなぁくらいです。
機械学習の本を立ち読みすると結構難解で手が出しづらいのですが、こんな本がいいよとか、次何勉強するといいよあればとか教えて頂きたいです。
887デフォルトの名無しさん
2021/06/04(金) 03:15:13.94ID:dtMqa1wv つ OpenVino
888デフォルトの名無しさん
2021/06/04(金) 05:45:42.87ID:YFLVaXSQ889デフォルトの名無しさん
2021/06/04(金) 06:18:08.16ID:cRyUwDm7 >>886
とりあえずオライリーの魚のやつが機械学習の入口に最適かなと思う
とりあえずオライリーの魚のやつが機械学習の入口に最適かなと思う
890デフォルトの名無しさん
2021/06/04(金) 07:42:16.85ID:Ylsj9/zX 流石に古文書だろう。学校で習うなら良いかも知れないが
891デフォルトの名無しさん
2021/06/04(金) 09:20:15.89ID:B2Hze9b2 機械学習は理論むずいからな
最低限統計学と線形代数を講義で習ってないなら理論から入るよりもコードで動かしながらやった方がいいと思う
その場合本よりもネット上にある機械学習体験コースかな
最低限統計学と線形代数を講義で習ってないなら理論から入るよりもコードで動かしながらやった方がいいと思う
その場合本よりもネット上にある機械学習体験コースかな
892デフォルトの名無しさん
2021/06/04(金) 09:58:48.22ID:XSEjTbdI >>886
数学
数学
893デフォルトの名無しさん
2021/06/04(金) 10:41:39.55ID:+b2D6xvw >>881
漏れは、Ruby on Rails で、
Windows 10, WSL2, Ubuntu 18.04, Docker でも、環境構築できるようになった。
VSCode の拡張機能、Remote WSL, Remote Container も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
これでも依存関係が難しいのなら、Docker Compose を使う
漏れは、Ruby on Rails で、
Windows 10, WSL2, Ubuntu 18.04, Docker でも、環境構築できるようになった。
VSCode の拡張機能、Remote WSL, Remote Container も使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
これでも依存関係が難しいのなら、Docker Compose を使う
894893
2021/06/04(金) 10:54:12.07ID:+b2D6xvw Ubuntu 18.04, anyenv では、~/.bashrc に、
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
これだけで全言語、/home/ユーザー名/.anyenv/envs/ 以下に入る
which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby
which node
/home/ユーザー名/.anyenv/envs/nodenv/shims/node
これでも依存関係が難しいのなら、Docker Compose が良いかも
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
これだけで全言語、/home/ユーザー名/.anyenv/envs/ 以下に入る
which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby
which node
/home/ユーザー名/.anyenv/envs/nodenv/shims/node
これでも依存関係が難しいのなら、Docker Compose が良いかも
895デフォルトの名無しさん
2021/06/04(金) 11:36:03.65ID:Y9WRHQwM >>892
ほんと、これだよね。
ほんと、これだよね。
896デフォルトの名無しさん
2021/06/04(金) 16:18:44.37ID:tVKHcgFl CPythonのソースコードを一部ブログで引用したいです
公式の引用ルールを調べましたが特に定義は出てきませんでした
海外のブログなどはがっつりソースコードを記事にのせてるところもあります
一部分の引用なら特に問題ないという認識なんですが、この認識で問題ないでしょうか?
公式の引用ルールを調べましたが特に定義は出てきませんでした
海外のブログなどはがっつりソースコードを記事にのせてるところもあります
一部分の引用なら特に問題ないという認識なんですが、この認識で問題ないでしょうか?
897デフォルトの名無しさん
2021/06/04(金) 16:50:41.20ID:GwKOpW33 引用ルールってなに?ライセンス以外にそういうのがあるの?
898デフォルトの名無しさん
2021/06/04(金) 16:58:05.10ID:tVKHcgFl899デフォルトの名無しさん
2021/06/04(金) 17:05:10.09ID:xxsePxeY900デフォルトの名無しさん
2021/06/04(金) 17:21:50.32ID:tVKHcgFl >>899
回答ありがとうございます
回答ありがとうございます
901デフォルトの名無しさん
2021/06/04(金) 17:23:00.49ID:+b2D6xvw MIT などの、ライセンスが付いていないの?
902デフォルトの名無しさん
2021/06/04(金) 17:26:41.44ID:SUVTI0z/ https://qiita.com/bremen/items/c5aa9446e73aa4bc1de0
ossライセンスについての記事
調べたらcythonはApache Licenseみたい
てかossなんやから引用するのは自由やぞ
引用したものを改変してプログラ厶組んだときにそれを公開しないといけない義務があるライセンスのやつがあったりするだけで引用はなんならまるっと全部コピペしても何も問題ない
そんなこと普通せんと引用元のURL貼るけど
あとは一般的な引用ルールに従って引用したなら引用したと明示すればok
ossライセンスについての記事
調べたらcythonはApache Licenseみたい
てかossなんやから引用するのは自由やぞ
引用したものを改変してプログラ厶組んだときにそれを公開しないといけない義務があるライセンスのやつがあったりするだけで引用はなんならまるっと全部コピペしても何も問題ない
そんなこと普通せんと引用元のURL貼るけど
あとは一般的な引用ルールに従って引用したなら引用したと明示すればok
903デフォルトの名無しさん
2021/06/04(金) 17:35:15.87ID:tVKHcgFl904デフォルトの名無しさん
2021/06/04(金) 17:44:54.37ID:SUVTI0z/ 普通に個人がブログに貼るだけなら大丈夫
ソースコードを利用して作ったアプリで金儲けしてるのにライセンス違反でコードを公開しなかったりするとossだけど著作権違反だったかそれに近い感じのもので訴えられることはあると思う
あとはossと違ってソースコード開示してても著作権は保持してて再配布の禁止とかしてる場合もあるからそういうのの引用は知らん著作権者に尋ねるべきやと思う
ソースコードを利用して作ったアプリで金儲けしてるのにライセンス違反でコードを公開しなかったりするとossだけど著作権違反だったかそれに近い感じのもので訴えられることはあると思う
あとはossと違ってソースコード開示してても著作権は保持してて再配布の禁止とかしてる場合もあるからそういうのの引用は知らん著作権者に尋ねるべきやと思う
905デフォルトの名無しさん
2021/06/04(金) 17:49:24.30ID:tVKHcgFl906デフォルトの名無しさん
2021/06/04(金) 18:20:59.22ID:UL/g29xp >>902
cythonじゃなくてCPythonな。別物
cythonじゃなくてCPythonな。別物
907デフォルトの名無しさん
2021/06/04(金) 18:25:13.66ID:SUVTI0z/908デフォルトの名無しさん
2021/06/04(金) 20:36:30.06ID:a6XWEKie pythonはpythonを商用利用した人にソースの公開を
要求してるでしょうか否
要求してるでしょうか否
909デフォルトの名無しさん
2021/06/06(日) 05:06:01.96ID:v26ARvQ7 arr1 = [["北海道","札幌市"],["青森県","青森市"],["岩手県","盛岡市"],["宮城県","仙台市"],["秋田県","秋田市"],["山形県","山形市"],["福島県","福島市"]]
arr2 = ["秋田県","福島県"]
という2つの配列があったとして
[['秋田県', '秋田市'], ['福島県', '福島市']]という配列がほしい場合、
arr3 = []
for x in arr2:
....for y in arr1:
........if y[0] == x:
............arr3.extend([y])
以外にいい書き方ってありますか?
arr2 = ["秋田県","福島県"]
という2つの配列があったとして
[['秋田県', '秋田市'], ['福島県', '福島市']]という配列がほしい場合、
arr3 = []
for x in arr2:
....for y in arr1:
........if y[0] == x:
............arr3.extend([y])
以外にいい書き方ってありますか?
910デフォルトの名無しさん
2021/06/06(日) 06:02:27.68ID:c7m87H9N [p for p in arr1 if p[0] in arr2]
でいけるかと
でいけるかと
911デフォルトの名無しさん
2021/06/06(日) 06:59:38.38ID:TkNBt396 arr2はsetにしないと遅いよ
912デフォルトの名無しさん
2021/06/06(日) 07:53:08.95ID:RJFSPZSM 2要素ならsetより配列の方が速いんじゃね
Pythonの実装にもよるけど原理的にはそのはず
Pythonの実装にもよるけど原理的にはそのはず
913デフォルトの名無しさん
2021/06/06(日) 08:13:26.50ID:b+8h8Rir 2要素ならそりゃまあ…
一般的な話
一般的な話
914デフォルトの名無しさん
2021/06/06(日) 09:03:08.60ID:FIycCTNf >>909
arr1を連想配列にするわけにはいかんの?
arr1を連想配列にするわけにはいかんの?
915デフォルトの名無しさん
2021/06/06(日) 12:20:46.75ID:n+sQSuEO inの比較は2要素でもsetのほうが速いよ
このケースは都道府県のほうをdictにするから使わないだろうけど
このケースは都道府県のほうをdictにするから使わないだろうけど
916デフォルトの名無しさん
2021/06/06(日) 12:54:39.41ID:DGB8ER8o pathlibのis_dirとis_fileてありますけど
必ずどちらかですよね? どちらにもTrue/Falseを返すやつはいませんよね
必ずどちらかですよね? どちらにもTrue/Falseを返すやつはいませんよね
917デフォルトの名無しさん
2021/06/06(日) 13:00:32.07ID:DGB8ER8o あ、実在パスをiterdir()したときの子パスの話です
918デフォルトの名無しさん
2021/06/06(日) 13:11:50.10ID:zdsuBAAw 子パスも含めてリンクとかでないならたぶんそれで合ってる
919デフォルトの名無しさん
2021/06/06(日) 13:13:07.51ID:FJMZOWZ2 is_fifoとかis_socketとかいろいろあることから察しろ
920デフォルトの名無しさん
2021/06/06(日) 13:24:39.82ID:c7m87H9N 究極的にはファイルシステムやOSの実装に依存して、そんな変なものが未来永劫ないという保証はないだろうから、pathlibではそこは担保できないんじゃないかな
921デフォルトの名無しさん
2021/06/06(日) 13:27:50.67ID:DGB8ER8o922デフォルトの名無しさん
2021/06/06(日) 13:46:38.97ID:RoRkDiVo リンク先が存在しないシンボリックリンクは両方Falseになるけど実害はないんじゃね
923デフォルトの名無しさん
2021/06/06(日) 13:48:43.76ID:NyhjUSek あーリンクってリンクファイルじゃなくて元を見てるのか
まあそりゃそうだわな
まあそりゃそうだわな
924デフォルトの名無しさん
2021/06/06(日) 14:25:48.16ID:n+sQSuEO 両方Trueを返すやつはなさそうだけど
両方Falseを返すのはそこそこあるね
https://github.com/python/cpython/blob/main/Lib/stat.py#L27-L46
両方Falseを返すのはそこそこあるね
https://github.com/python/cpython/blob/main/Lib/stat.py#L27-L46
925デフォルトの名無しさん
2021/06/06(日) 14:51:43.74ID:jCNfz170 numpyのインストールって、コマンドプロンプトにpip打ち込んで入れるのと
Anacondaで入れるのとどっちがいいの?
どっちも変わらない?
Anacondaで入れるのとどっちがいいの?
どっちも変わらない?
926デフォルトの名無しさん
2021/06/06(日) 15:50:54.59ID:ZkAtJmrl Anacondaに決まってんだろ、それでだめならpip
927デフォルトの名無しさん
2021/06/06(日) 16:06:37.19ID:9mmqAG88 anaconda入れたら普通に入ってる
928デフォルトの名無しさん
2021/06/06(日) 16:41:40.72ID:H95uLz2j anacondaとかいう産廃使うのいい加減やめにしないか?
さすがにもうpoetryに移行しよう
さすがにもうpoetryに移行しよう
929デフォルトの名無しさん
2021/06/06(日) 17:00:07.37ID:zUgOrPQ2 ww anaconda ww
930デフォルトの名無しさん
2021/06/06(日) 17:20:56.53ID:3IIg9tuB >>928
anaconda並みに安定したら使ってやるよ。カスを薦めるな。
anaconda並みに安定したら使ってやるよ。カスを薦めるな。
931デフォルトの名無しさん
2021/06/06(日) 20:59:25.29ID:pepoJCiR 質問させてください
Raspbian環境下(環境A)で
簡単なpythonプログラムを作って
python -m compileall aaa.py
を実行してpycファイルを作って実行したらちゃんと動作しました
もう一台のRaspbian環境(環境B)で同一のpycファイルを実行すると
./aaa.pyc
./aaa.pyc: 行 1: $'\003\363\r': コマンドが見つかりません
./aaa.pyc: 行 2: 対応する ``' を探索中に予期しないファイル終了 (EOF) です
./aaa.pyc: 行 8: 構文エラー: 予期しないファイル終了 (EOF) です
というエラーが出て動作しませんでした。
色々調べたのですが何が問題なのかわかりませんでした。
アドバイスお願いします
環境A、環境Bともに
Python aaa.py
で動かす分にはどちらの環境でもちゃんと動作しますが
環境Bではpycが動かない という状況です
Raspbian環境下(環境A)で
簡単なpythonプログラムを作って
python -m compileall aaa.py
を実行してpycファイルを作って実行したらちゃんと動作しました
もう一台のRaspbian環境(環境B)で同一のpycファイルを実行すると
./aaa.pyc
./aaa.pyc: 行 1: $'\003\363\r': コマンドが見つかりません
./aaa.pyc: 行 2: 対応する ``' を探索中に予期しないファイル終了 (EOF) です
./aaa.pyc: 行 8: 構文エラー: 予期しないファイル終了 (EOF) です
というエラーが出て動作しませんでした。
色々調べたのですが何が問題なのかわかりませんでした。
アドバイスお願いします
環境A、環境Bともに
Python aaa.py
で動かす分にはどちらの環境でもちゃんと動作しますが
環境Bではpycが動かない という状況です
932デフォルトの名無しさん
2021/06/06(日) 21:08:56.84ID:3jLKJPwx 同一のpycファイルってコピーしたってこと?
933デフォルトの名無しさん
2021/06/06(日) 21:40:22.53ID:pepoJCiR934デフォルトの名無しさん
2021/06/07(月) 10:52:48.03ID:BLDePS2Q 環境Aから環境Bに.pyと.pycどちらもコピーしろ
935デフォルトの名無しさん
2021/06/07(月) 13:45:43.59ID:Jn08avwf プレシの寸劇がうーたんが辛辣な扱い受けてて好き
936デフォルトの名無しさん
2021/06/07(月) 16:05:09.64ID:ipT3dgeq937デフォルトの名無しさん
2021/06/07(月) 17:33:13.64ID:wssteHEM 初めまして、質問させてください。
windowsとmacだとコードが違うらしいんですが、具体的にどのように違うのか教えてるサイト等ありますか?
または変換してくれる何かがあったりしますか?
windowsとmacだとコードが違うらしいんですが、具体的にどのように違うのか教えてるサイト等ありますか?
または変換してくれる何かがあったりしますか?
938デフォルトの名無しさん
2021/06/07(月) 18:01:13.24ID:j6zJ7cwJ >>937
質問が曖昧だからあれだけど
・プログラムの内容(コード)ではwindowsとMacで違いはない(どっちも同じ書き方で動作する)
・ただし両者で『文字コード』(デフォルトエンコード)は異なるので、
テキストファイルとかの読み込み/書き出し処理に、文字コード違いでエラーになる可能性はある
(文字コード周りの設定をちゃんと確認すればこの辺は大体何とかなる)
質問が曖昧だからあれだけど
・プログラムの内容(コード)ではwindowsとMacで違いはない(どっちも同じ書き方で動作する)
・ただし両者で『文字コード』(デフォルトエンコード)は異なるので、
テキストファイルとかの読み込み/書き出し処理に、文字コード違いでエラーになる可能性はある
(文字コード周りの設定をちゃんと確認すればこの辺は大体何とかなる)
939デフォルトの名無しさん
2021/06/07(月) 18:23:55.86ID:wssteHEM >>938
返事ありがとうございます、MACで作ったコードをダウンロードしたんですが、私Windowsなのでそのままでは使えないと思っていました。
文字コードをもう少し調べてみることにします。ありがとうございました!
返事ありがとうございます、MACで作ったコードをダウンロードしたんですが、私Windowsなのでそのままでは使えないと思っていました。
文字コードをもう少し調べてみることにします。ありがとうございました!
940デフォルトの名無しさん
2021/06/07(月) 18:37:34.26ID:7qZ7vyBh x = 1
s = "var is {x}"
print -> "var is 1"
が欲しい。どうにかなりませんか
変数の文字列にf当てたいというか…
s = "var is {x}"
print -> "var is 1"
が欲しい。どうにかなりませんか
変数の文字列にf当てたいというか…
941デフォルトの名無しさん
2021/06/07(月) 18:55:46.43ID:ipT3dgeq f当てたいって知らんけど
こういうことなの
def printvar(var):
print('var is {}'.format(var))
printvar(1)
>>931
pycをbashで実行したら同じエラーがでた
こういうことなの
def printvar(var):
print('var is {}'.format(var))
printvar(1)
>>931
pycをbashで実行したら同じエラーがでた
942デフォルトの名無しさん
2021/06/07(月) 19:05:29.82ID:TK3hG12A943デフォルトの名無しさん
2021/06/07(月) 19:10:55.17ID:4MLoy8uU f使えると思うけど…
s = f"..."
s = f"..."
944デフォルトの名無しさん
2021/06/07(月) 19:51:20.15ID:ipT3dgeq 欲しいのは
x=1
s=f"var is {x}"
print(s)
なのか
汎用的なのにするための関数が欲しいのかと
思ったけど
x=1
s=f"var is {x}"
print(s)
なのか
汎用的なのにするための関数が欲しいのかと
思ったけど
945デフォルトの名無しさん
2021/06/07(月) 19:57:41.93ID:7qZ7vyBh む?
すいません、言葉が足りなかった
sは事前定義でstr固定でいじれず、xだけがあとで動的に代入される感じです
例えばconfigparserの取得文字列に変数当てたいという
すいません、言葉が足りなかった
sは事前定義でstr固定でいじれず、xだけがあとで動的に代入される感じです
例えばconfigparserの取得文字列に変数当てたいという
946デフォルトの名無しさん
2021/06/07(月) 20:00:04.84ID:k2+fmGQH >>938
ほかに
Linux系しか使えない命令
Macでしか使えない命令
WInでしか使えない命令
があるようななな・・・?
ほかに
Linux系しか使えない命令
Macでしか使えない命令
WInでしか使えない命令
があるようななな・・・?
947デフォルトの名無しさん
2021/06/07(月) 20:00:40.69ID:vnIitvTz f文字列が一番いいってどこかで見た
948デフォルトの名無しさん
2021/06/07(月) 20:11:50.53ID:m2IU34uB formatでもf文字でもどっちでも構わんけど気分でごちゃ混ぜにするのはやめてくれ
949デフォルトの名無しさん
2021/06/07(月) 20:27:55.91ID:pxUr0SVP950デフォルトの名無しさん
2021/06/07(月) 21:42:39.88ID:CltRSTuB f'{n}'が文字数も少なくて一番簡単でわかりやすいのにわざわざ.format()で書くのってなんか意味あるの?
951デフォルトの名無しさん
2021/06/07(月) 21:56:36.72ID:TK3hG12A 変数展開を遅延させたいからだよ
遅延評価するにはf-stringだと関数でくくる必要があるのと
テンプレート文字列をコード上にリテラルで書く必要があるので
こういう用途の場合は今のところstr.format()かTemplateクラス使う
遅延評価するにはf-stringだと関数でくくる必要があるのと
テンプレート文字列をコード上にリテラルで書く必要があるので
こういう用途の場合は今のところstr.format()かTemplateクラス使う
952デフォルトの名無しさん
2021/06/07(月) 22:29:36.43ID:It6lCabU 何でもかんでもf-stringsにするのはよくないんやなあって
https://note.crohaco.net/2019/python-format-methods/
https://note.crohaco.net/2019/python-format-methods/
953デフォルトの名無しさん
2021/06/07(月) 23:05:20.97ID:x/kbgdh0 logging以外は全部str.formatにしてるわ
954デフォルトの名無しさん
2021/06/08(火) 01:45:44.03ID:HQgqltjE >>952
formatのほうがいいごく少数例をあげてるだけって感じ
formatのほうがいいごく少数例をあげてるだけって感じ
955デフォルトの名無しさん
2021/06/08(火) 02:05:33.12ID:QU85yBSR 3.4(Win XPラスト)のために、それ以降に登場したf文字列のような手法やメソッドは使わないようにしてる
subprocess.run() の代わりにsubprocess.Popen() でシコシコやったり…
subprocess.run() の代わりにsubprocess.Popen() でシコシコやったり…
956デフォルトの名無しさん
2021/06/08(火) 02:45:00.13ID:ie1akZGa 脳が1ビットでf-stringかformatしか記憶できない人もいるんですよ
957デフォルトの名無しさん
2021/06/08(火) 13:07:58.64ID:6SttzhsF python入れたらpipが付いてくるってどこのサイトにも書いてあるけど、コマンドプロンプトでpipのコマンドを打っても認識されない
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
どうすれば使える?
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
どうすれば使える?
958デフォルトの名無しさん
2021/06/08(火) 13:19:24.28ID:RLQzdArC 最初にpython -m pip install novasでインストールしないとダメなんじゃね
959デフォルトの名無しさん
2021/06/08(火) 13:22:16.83ID:XwHmRNqr960デフォルトの名無しさん
2021/06/08(火) 13:34:36.82ID:oCdJgv/h どこのやつをどのようにしてインストールしたのか
公式windosインストーラー版ならAdd Python 3.x to PATHにチェック入れずにインストールするとpath通ってない
公式windosインストーラー版ならAdd Python 3.x to PATHにチェック入れずにインストールするとpath通ってない
961デフォルトの名無しさん
2021/06/08(火) 14:01:00.16ID:X0jbV2ox962デフォルトの名無しさん
2021/06/08(火) 17:01:22.12ID:dOMi6vvz Windows のPowerShell では、環境変数PATH は、; で区切り。
$env:Path.split( ";" )
Python を含むPATHなら、
$env:Path.split( ";" ) | Where-Object {$_ -like "*python*"}
Linux の環境変数PATHなら、: で区切り。
echo $PATH | tr : "\n"
$env:Path.split( ";" )
Python を含むPATHなら、
$env:Path.split( ";" ) | Where-Object {$_ -like "*python*"}
Linux の環境変数PATHなら、: で区切り。
echo $PATH | tr : "\n"
963デフォルトの名無しさん
2021/06/08(火) 18:20:40.58ID:KCPagTB6 windows公式ならpath通すやつにチェック初めからついてる
わざわざ外すとも思えんので取り敢えず再起動してみよか
わざわざ外すとも思えんので取り敢えず再起動してみよか
964デフォルトの名無しさん
2021/06/08(火) 18:43:29.68ID:zMtx/HCT %USERPROFILE%\AppData\Roaming\Python\Python38\Scripts
これも場合によっては必要(というかこっちをメインにすべき)。
Windowsの場合は、pip使うときに--userを付けないと問答無用でPython本体の方に入れようとするので。
これも場合によっては必要(というかこっちをメインにすべき)。
Windowsの場合は、pip使うときに--userを付けないと問答無用でPython本体の方に入れようとするので。
965デフォルトの名無しさん
2021/06/08(火) 19:29:07.74ID:4DvHg2Yd966デフォルトの名無しさん
2021/06/08(火) 20:27:12.98ID:6SttzhsF967デフォルトの名無しさん
2021/06/08(火) 21:32:06.65ID:5GftIHto getter(target):
__return eval("{target}_var.get()")
関数内で使われる(ユーザー入力と関係ない)evalですが
やっぱり避けるべき? こういうのは別にいい?
__return eval("{target}_var.get()")
関数内で使われる(ユーザー入力と関係ない)evalですが
やっぱり避けるべき? こういうのは別にいい?
968デフォルトの名無しさん
2021/06/08(火) 21:36:16.68 クラス変数を変更しようとしたときエラーを吐かせたいんですけど
どうするのがいいでしょうか
現状、
class A:
_# 変更しないでください
_TEST = 100
a = A()
みたいにしています。
できれば、self.TEST=、a.TEST=、A.TEST=
それぞれで変更しようとするとエラーを吐かせられたらなと。
前半2つはセッターでできましたが、結局A.TESTで変更できてしまうし
そもそもクラス変数を変更”してしまうミス”にそこまで注視しないといけないのかな?とも思い
変更しないよう注意喚起・自粛するだけに留めておくのがいいのかどうか迷っています
どうするのがいいでしょうか
現状、
class A:
_# 変更しないでください
_TEST = 100
a = A()
みたいにしています。
できれば、self.TEST=、a.TEST=、A.TEST=
それぞれで変更しようとするとエラーを吐かせられたらなと。
前半2つはセッターでできましたが、結局A.TESTで変更できてしまうし
そもそもクラス変数を変更”してしまうミス”にそこまで注視しないといけないのかな?とも思い
変更しないよう注意喚起・自粛するだけに留めておくのがいいのかどうか迷っています
969デフォルトの名無しさん
2021/06/08(火) 22:00:39.38ID:A0D+JkMn >>968
一番手っ取り早いのはメンバ変数の頭に__(アンダースコアを2つ付けて)
プライベート変数扱いにする
詳しい書き方とかはググると出てくるけど、この辺かな
ぶっちゃけ『注意喚起する』っていうのは大体地雷化するから、正当な方法で実装した方が良い
https://docs.python.org/ja/3/tutorial/classes.html#private-variables
https://www.headboost.jp/python-property/
一番手っ取り早いのはメンバ変数の頭に__(アンダースコアを2つ付けて)
プライベート変数扱いにする
詳しい書き方とかはググると出てくるけど、この辺かな
ぶっちゃけ『注意喚起する』っていうのは大体地雷化するから、正当な方法で実装した方が良い
https://docs.python.org/ja/3/tutorial/classes.html#private-variables
https://www.headboost.jp/python-property/
970デフォルトの名無しさん
2021/06/08(火) 22:09:45.69 >>969
なるほどそういう慣習があったのですね ありがとうございました
なるほどそういう慣習があったのですね ありがとうございました
971デフォルトの名無しさん
2021/06/08(火) 22:18:59.67ID:UcvX2QEY972デフォルトの名無しさん
2021/06/08(火) 22:36:55.06ID:5GftIHto >>971
あ、ほんとうですね
でもうちの場合は中で微妙に処理が異なるので分岐がいるのです(getする範囲が違うとか)
evalないとif連打か辞書使うとかになるけど、それでも回避推奨なのかなと思って
あ、ほんとうですね
でもうちの場合は中で微妙に処理が異なるので分岐がいるのです(getする範囲が違うとか)
evalないとif連打か辞書使うとかになるけど、それでも回避推奨なのかなと思って
973デフォルトの名無しさん
2021/06/08(火) 23:19:28.78ID:JbMjUK2X 検討すればいいんじゃ
自分で使うだけなら問題ないし
ネットでつながっても隔離されてれば問題ない
検討が面倒なら使わないと決めたほうが
楽な場合もある
自分で使うだけなら問題ないし
ネットでつながっても隔離されてれば問題ない
検討が面倒なら使わないと決めたほうが
楽な場合もある
974デフォルトの名無しさん
2021/06/08(火) 23:24:47.79ID:UcvX2QEY975デフォルトの名無しさん
2021/06/09(水) 00:16:11.63ID:BQ0ecELC >>973
python関係ないけどevalて双方向通信のときにヤバいんでやめましょうね、だけですよね
python関係ないけどevalて双方向通信のときにヤバいんでやめましょうね、だけですよね
976デフォルトの名無しさん
2021/06/09(水) 00:45:15.15ID:tjJuKde+ evalを使う言い訳を探すくらいなら
evalを使わない書き方を学んだ方が良い
evalを使わない書き方を学んだ方が良い
977デフォルトの名無しさん
2021/06/09(水) 02:09:05.41ID:NxdIgDtt 書けるけどゴチャつくって話でしょ
しかも別に対話しないなら使ってもいいしな
しかも別に対話しないなら使ってもいいしな
978デフォルトの名無しさん
2021/06/09(水) 07:16:34.25ID:u3L+Vxsq スレでえばる初心者
979デフォルトの名無しさん
2021/06/09(水) 14:22:13.69ID:PlcFv7F9 どうでもいいけど上見たらくだらない質問の略だったのか
python蛇だからくだを巻いてるスレッドの略やと思ってた
python蛇だからくだを巻いてるスレッドの略やと思ってた
980デフォルトの名無しさん
2021/06/09(水) 15:58:48.26ID:o9EDXjUA print(hoge.data[0][0][0][0])
を実行すると、値ではなく、
<NdArray(()) at 0x1c7b360b960>
が返ってきます。
このインデックスにある値を表示する方法を教えて下さい。
hogeは((1, 1, 8, 8))のNumpy多次元配列とのことで、
このprint文の直前で
hoge.data.zero()
とやっているので、すべての要素はゼロになっているはずです。
うまく表示できると値が「0」と表示されるはずです。
を実行すると、値ではなく、
<NdArray(()) at 0x1c7b360b960>
が返ってきます。
このインデックスにある値を表示する方法を教えて下さい。
hogeは((1, 1, 8, 8))のNumpy多次元配列とのことで、
このprint文の直前で
hoge.data.zero()
とやっているので、すべての要素はゼロになっているはずです。
うまく表示できると値が「0」と表示されるはずです。
981デフォルトの名無しさん
2021/06/09(水) 16:02:29.18ID:Gt06K9sH getter(target):
__return getattr(self, [f'{target}_var').get()
__return locals[f'{target}_var'].get()
__return globals[f'{target}_var'].get()
__return getattr(self, [f'{target}_var').get()
__return locals[f'{target}_var'].get()
__return globals[f'{target}_var'].get()
982デフォルトの名無しさん
2021/06/09(水) 16:59:23.95ID:ylbs+1ZI getattrって存在すら知らんかった
これ本来はどういう用途のためにある関数なんだ?
これ本来はどういう用途のためにある関数なんだ?
983デフォルトの名無しさん
2021/06/09(水) 18:33:02.13ID:J3IrN4Ey tkinterならglobalgetvar()使うか
コールバック登録時にクロージャで変数をキャプチャしておけばgetattrは不要
コールバック登録時にクロージャで変数をキャプチャしておけばgetattrは不要
984デフォルトの名無しさん
2021/06/09(水) 19:31:32.53ID:2FVE2wAx >>982
テスト用に便利
>>> for x in dir(obj):
... print x, ':', type(getattr(obj, x))
情報を得たり
クラス内の全テスト用関数実行するとか
関数の増減気にしないですむ
テスト用に便利
>>> for x in dir(obj):
... print x, ':', type(getattr(obj, x))
情報を得たり
クラス内の全テスト用関数実行するとか
関数の増減気にしないですむ
985デフォルトの名無しさん
2021/06/09(水) 19:59:43.06ID:cSpjmop9986デフォルトの名無しさん
2021/06/09(水) 20:41:17.87ID:WPb/eWBP むー次スレ立てられなかった
>>987頼みます
>>987頼みます
987デフォルトの名無しさん
2021/06/09(水) 20:47:42.93ID:10jEyhRQ Pythonにおけるgetattr()の利用方法を現役エンジニアが解説
988デフォルトの名無しさん
2021/06/09(水) 21:06:38.55ID:zRBfpo4e >>985-986
987が逃げたっぽいので試してみたらたてれたったぞ
【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/
987が逃げたっぽいので試してみたらたてれたったぞ
【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/
989デフォルトの名無しさん
2021/06/10(木) 00:58:10.88ID:aIq1E33q でかした
990デフォルトの名無しさん
2021/06/10(木) 11:00:17.95ID:smul9M+b >>982
黒魔術
黒魔術
991デフォルトの名無しさん
2021/06/10(木) 11:18:28.54 getattrの使いどころって、文字列としてメンバ変数名を扱いたい場合くらいしかない?
992デフォルトの名無しさん
2021/06/10(木) 11:42:16.34ID:WX9l2lHR 業務でリフレクション使ってるコードあったらrejectするけどな
ライブラリは仕方ないとしてギリでアノテーション
ライブラリは仕方ないとしてギリでアノテーション
993デフォルトの名無しさん
2021/06/12(土) 10:25:56.27ID:ZfyfTVcF もう3.10が出るっていうのに、アノテーションを忌避する理由もないだろ。
994デフォルトの名無しさん
2021/06/12(土) 10:59:57.74ID:dWkts0ub 通常コード内のリフレクションはダメ
ライブラリやアノテーション内のリフレクションはOK
かな
ライブラリやアノテーション内のリフレクションはOK
かな
995デフォルトの名無しさん
2021/06/12(土) 11:02:04.34ID:dWkts0ub デコレータやなこれ
996デフォルトの名無しさん
2021/06/14(月) 11:04:32.81ID:LnG83xz5997デフォルトの名無しさん
2021/06/17(木) 22:00:54.84ID:ny5F+6RE スクレイピングしたいんだけどやってる人いますかー
998デフォルトの名無しさん
2021/06/18(金) 19:08:32.94ID:uyHUVeDb いるよー
999デフォルトの名無しさん
2021/06/18(金) 20:03:59.50ID:DfkSYr0N ん
1000デフォルトの名無しさん
2021/06/18(金) 20:04:37.80ID:DfkSYr0N ぴ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 94日 12時間 44分 54秒
新しいスレッドを立ててください。
life time: 94日 12時間 44分 54秒
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を超えています。これ以上書き込みはできません。
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性には共通点が [Hitzeschleier★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 【高市速報】中国、最後通牒 [308389511]
- 声優って何で写真の無断転載に厳しいの?
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
- 『魔女の旅々』イレイナがワンピース姿でフィギュア化キタ━━━━━━(゚∀゚)━━━━━━!!!!! エチエチなワキ見えてんぞ!!! [303493227]
- 【速報】福島原発でキセノン135が検出されてる模様、再臨界か [668970678]
- お前らってほくそ笑んだことある?
