[表示 : 全て 最新50 1-99 101- 201- 2ch.scのread.cgiへ]
Update time : 04/04 12:41 / Filesize : 64 KB / Number-of Response : 224
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【まず1嫁】くだすれPython(超初心者用) その53



1 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 07:19:44.36 ID:PfTIXkDh.net]
当スレに★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公式サイト◇ 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 ###

2 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 19:25:04.88 ID:GPMJJDKk.net]
>>1

PyTorchの力と共にあらん事を

3 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 20:29:18.93 ID:SXyIy3pf.net]
なくなってたと思ったらくだすれ発見!

4 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 22:43:33.75 ID:wDp7dZOY.net]
くだれす〜

5 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 04:34:23.73 ID:OOj2NSgC.net]
ずっと気になってたんだけど「くだすれ」って何?

6 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 08:06:19.70 ID:TpdTO3YL.net]
>>5
(わざわざスレ立てするほどでもない)
くだらない質問
の略

7 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 14:14:35.31 ID:TpdTO3YL.net]
>>6途中で送っちゃってた
(わざわざスレ立てするほどでもない)
くだらない質問を書いてくスレ
の略。 >>5

8 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 17:37:06.12 ID:OOj2NSgC.net]
>>7
なるほどそう言う事だったのか
サンクス

9 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 18:40:31.97 ID:TpdTO3YL.net]
>>8
なーに
いいってことよ

おれもむかしこのスレの過去シリーズできいた

10 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 01:44:53.32 ID:A6mO37qQ.net]
requestsのpostしても空っぽで返ってくるのにハマりまくったけど
post(url,data=data)
のdataのところを
json.dumps({"name":"tarou","age":20})
みたいに文字列化したらなぜかうまくいった・・・
他のところは辞書型のままでもいけたのに



11 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 05:24:55.18 ID:E6K6GX2p.net]
>>10
たまたまそこに至るまではうまくいいようにはからってくれてたか
こころのひろい鯖さんだったのだろう

解決よかったね+理由記載乙
なにかだれかのたしにもなるといいね

12 名前:デフォルトの名無しさん [2021/03/18(木) 15:10:11.71 ID:HfXxQmPX.net]
そこは json.dumps より urllib.urlencode 汁

13 名前:デフォルトの名無しさん [2021/03/18(木) 15:15:49.51 ID:HfXxQmPX.net]
前スレ
>>983
Erlang と OTP は良くやってる

14 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 16:07:41.59 ID:k/Cp5d5i.net]
導入で詰んだ
minicondaをインストールしたがpipを実行しようとするとpython38.dllが見つからないとしはじかれる
python38.dllはpython38.exeと同一フォルダにあるのに

15 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 16:09:25.79 ID:k/Cp5d5i.net]
python38.exeではないなpython.exeか

16 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 16:50:30.37 ID:VjRMlHUp.net]
Ruby on Rails 6 の本も書いている人が、新刊を出した

Elixir実践ガイド、黒田努、2021/2/5

Ubuntu 20.04, Docker CE 19.03, Elixir 1.11

Erlang/OTP か、片方向リストは、先頭の要素だけが速いとか、
実行環境の内部構造の話が多くて、辛い

17 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 17:27:24.11 ID:7Uj1c/fU.net]
推奨NGワード: Ruby
推奨NGワード: Rails
推奨NGワード: 書いている人

18 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 17:32:30.78 ID:E6K6GX2p.net]
>>14-15
スレタイも1も読めない池沼にはむりぽっぽ

19 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 17:44:58.89 ID:k/Cp5d5i.net]
はいどうも、書いてみるもんですな、原因はセキュリティソフトでした、どうも失礼しました

20 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 12:46:20.22 ID:bQkGR5Qu.net]
質問スレって結構解決率高くて役に立つよね
なぜか投稿した直後に自己解決する



21 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 13:33:42.02 ID:+kOAJZBd.net]
書くことで頭の整理ができて自己解決することもおおいいいいい

22 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 14:05:53.67 ID:WPerE166.net]
くだすれってどういう意味?

23 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 15:24:56.01 ID:+kOAJZBd.net]
あえてつられてさしあげよう
現行ログくらい嫁

24 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 16:35:36.21 ID:lT0CdhUS.net]
くだを巻くの「くだ」

25 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 16:57:10.38 ID:JOVgIa9u.net]
管狐のくだ

26 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 19:20:08.31 ID:AYoTSH/q.net]
菅スレw

27 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 19:22:35.26 ID:VzIhkYvX.net]
蛇だけに

28 名前:デフォルトの名無しさん [2021/03/19(金) 22:45:14.97 ID:X0y0iVpq.net]
「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.

29 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 23:15:47.95 ID:RMQx/osX.net]
pythonはまず起動されたディレクトリからモジュールを探す
sound.pyか、sound/__init__.py
それが無ければリストsys.pathに入ってるパスを見に行く
親切なインストーラは勝手にsys.pathにリストされたディレクトリに入りに行く
親切過ぎて勝手にsys.pathを改変する逆に迷惑なライブラリもある
何もしないライブラリ/インストーラも当然あるので、自分で追加しよう

しかしコード内からsys.pathを直接弄るのは薦めない
pythonは起動時にsys.pathに加えるパスを環境変数PYTHONPATHから調べるので、そこにsoundのパスを加えるべき

もし直接弄ると、その特定のコードの実行時にしか見えないバグを産みかねない、ユーザーとしては非常に厄介
python -i script.pyで実行後に対話モードに移れるけど、特に他人の書いたコードでそんなことやる気起きないでしょ?

30 名前:デフォルトの名無しさん mailto:sage [2021/03/19(金) 23:23:26.41 ID:RMQx/osX.net]
PYTHONPATHが長くなり過ぎるのも見にくいので、ホームディレクトリ直下にpylib3.10みたいなディレクトリ作って、それだけPYTHONPATHに加え、そこにパッケージシステム管理外のライブラリを全部ブチ込むのもあり



31 名前:デフォルトの名無しさん mailto:sage [2021/03/20(土) 09:08:07.43 ID:nt8Be5Ib.net]
>>29-30
ありがとうございました。

32 名前:デフォルトの名無しさん [2021/03/20(土) 21:03:20.71 ID:cHAvtLAs.net]
print(range(3))
と一行書いて実行すると、
0 1 2
と表示されるはずなのに
range(0, 3)
としか表示されない。どうしてでしょうか。

33 名前:デフォルトの名無しさん mailto:sage [2021/03/20(土) 21:12:13.24 ID:cHAvtLAs.net]
>>32 は自己解決しました

34 名前:デフォルトの名無しさん mailto:sage [2021/03/20(土) 21:41:21.50 ID:GfnHrk+w.net]
オブジェクトだからさ。

35 名前:デフォルトの名無しさん mailto:sage [2021/03/20(土) 23:09:48.82 ID:SzdWYV/s.net]
好きなだけ広い範囲を取れるぞ!
好きなだけ取って楽しめよ!

36 名前:デフォルトの名無しさん [2021/03/21(日) 00:41:47.55 ID:c1Fm1qtl.net]
>>32
もしrange(5000兆)とかがその場で展開されたらメモリが足りなくなるから
必要になってから都度計算するrangeオブジェクトっていうオブジェクトになる

37 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 01:15:24.00 ID:ba25SXqE.net]
自己解決したと書いてるのに、蘊蓄を披露するのが我慢できない人達

38 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 03:30:01.28 ID:Duyg5pmm.net]
蛇だけに!

39 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 07:55:22.35 ID:Xyvra8tZ.net]
「じゃあ」ってか

>>37
自己解決のさいは
なにしたら解決できたか書いて毛なのに
むしろ質問者は書いていかないし

40 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 08:02:45.18 ID:rOmbGrT+.net]
このくらいは質問する前に気づいて欲しいな
そしたら蘊蓄披露したがりクンも沸いてこなかった
つまり質問者が悪い



41 名前:デフォルトの名無しさん [2021/03/21(日) 09:50:58.07 ID:c1Fm1qtl.net]
>>37
Rubyでは、・・・
とか言い出すよりマシだろ?

42 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 10:50:14.27 ID:ba25SXqE.net]
すまん、俺が悪かった。

43 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 10:56:39.10 ID:eocPnEKi.net]
「オブジェクトだから」だと思ってる人達は文字列(str)はオブジェクトじゃないと思ってるのかな?

range(0, 3)と表示される仕組みを理解してるとは思えないんだが

44 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:10:46.35 ID:dweFEPRe.net]
inとか調べるのがノーコストになるというのはインフォマティブだよ
コンテナ実装するときにふと思い出してくれればよい

45 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:17:17.80 ID:dweFEPRe.net]
俺もついでにくだを巻いていくけどrangeだけなら整数2つ持ってるのと大差ない(lo<=i <hiと等価)が
rangeが生きるのはもっと複雑なテスト、rangeはchainsで数珠繋ぎにして生きる

46 名前:デフォルトの名無しさん [2021/03/21(日) 11:21:05.88 ID:GVEcec50.net]
Juliaというプログラミング言語がいいという話ですが、Pythonに詳しい人はPythonと比較してJuliaについてどう思いますか?

47 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:31:49.59 ID:ECrDs+gQ.net]
ブーム前はFortran/Matlab(&Octave)と同じ感覚で配列を自在に扱える代替環境ってのがPython/numpyの需要だったのよ
numpy/scipyはFortranライブラリのラッパ集として始まったわけで
今はもうPythonは手軽なスクリプト言語はじめ色んな用途が開けてるから、古い感覚だけどね

C風のPythonし、結局Fortran民はJuliaを作ったわけだけど
まあPythonでいい

48 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:42:30.17 ID:ECrDs+gQ.net]
文書がバグってた…
Pythonは配列0始まり/メモリ配置行メジャーのC系の慣習を引きずってる
線形代数記法、つまり配列1始まり/メモリ配置列メジャーの数値計算の慣習と逆ってことね
新興で後者採用のFortran系の言語はJuliaくらいしかないのでそっちに慣れてるオッサンならjuliaの方が受け入れやすいと想う

49 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:51:31.81 ID:ECrDs+gQ.net]
Pythonも不便ということはないよ
生Pythonで配列扱うmemoryviewやctvpesにちゃんと'F'フラグ容易されてるし
numpyももちろんそうで、FortranコードをPython関数として簡便コンパイルするf2py.pyもある
自身をコンパイルする為だけど、もちろんユーザーも使える

50 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 11:59:02.49 ID:Duyg5pmm.net]
numpy入れるとコマンドラインからf2py直接呼べるようになってるね
比較的小さいスクリプトだけど、これこそがnumpyの本体



51 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 13:02:14.02 ID:ba25SXqE.net]
超初心者スレでそのネタを書く?
マウンティングが目的?

52 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 13:16:37.33 ID:Duyg5pmm.net]
PythonとJulia比べるならそこの違いだろうよ
Pythonでよろしい、潰しも効くし

53 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 13:20:42.89 ID:M5Jy6lC/.net]
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すればいいのか迷っています
ぶっちゃけどちらでもいいとは思いますが
公開されている統計データなどをみていると大抵は、(インデックスは無しか連番で)カラムに日付データが入っているので
そういう慣習でもあるのかが気になります

54 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 13:38:24.45 ID:11DwdO6F.net]
>>41
メモリアロケーションされてるかどうかなんて全く関係ない理由をあげて間違った理解を植え付けるくらいなら
Rubyでは・・・のほうがまだマシだわ

55 名前:デフォルトの名無しさん [2021/03/21(日) 13:49:42.36 ID:c1Fm1qtl.net]
質問者はrangeをlistかtupleと同一視していると思われたから、どちらでも無い別種のオブジェクトだと教えたまでだが問題あったか?
(メモリアロケーション云々は何故rangeがlistを返さないかの説明に過ぎない)

いきなり__repr__の実装に言及しても訳分からんだろ

56 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 13:52:10.61 ID:b+/7pFI3.net]
0 1 2 と表示される方法を知りたかったのかも知れない。

57 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 14:24:12.67 ID:HtK2VIhJ.net]
>>55
見苦しい言い訳だね〜
それなら「rangeはlistとは違うから」とでも答えておけばいいだけだろ

必死に調べて__repr__見つけたのかなw
でも間違ってるしreprの実装に言及しないと説明できないと思ってる時点で分かってないから

超初心者にドヤ顔で間違った答えを教えたりRubyキチをバカにする前に公式チュートリアルくらいは読めよな

58 名前:デフォルトの名無しさん [2021/03/21(日) 14:33:51.63 ID:c1Fm1qtl.net]
>>57
そうだね、ケチ付けてばかりじゃなくて「分かってる」あなたも説明してみてよ
初心者スレだからみんなの為になるよ

59 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 15:01:23.60 ID:rOmbGrT+.net]
はいはい。病院でお医者さんにはなしてあげてね

60 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 15:08:07.65 ID:ba25SXqE.net]
つまらん煽りは他所でやってくれ
と、俺が言ってみる



61 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 17:19:57.60 ID:LD2dmgE2.net]
>>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)))

62 名前:デフォルトの名無しさん [2021/03/21(日) 17:51:46.12 ID:sFWHtMDC.net]
>>> print(*range(3))
0 1 2

63 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 19:05:58.83 ID:7CdIp7EP.net]
>>62
優勝!

64 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 19:14:50.12 .net]
処理Aが同じで
無限ループしたいときと、任意回数ループしたいときを分けたいんだけど

n = 10 if 条件 else 99999999
i=0
while i < n:
_print('処理A')
_time.sleep(1)
_i += 1

無限ではないにしろこれでいいんだけど
n=99999999がなんかかっこ悪い・・
別の書き方ありませんか

65 名前:64 mailto:sage [2021/03/21(日) 19:22:48.42 .net]
自己解決・・かどうかわからないけど
でいけた
でも
for i in range(float('inf')):
は無理だった・・

66 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 19:30:08.83 ID:g0m1T9az.net]
n = 10
a = 1 if 条件 else 0
i = 0
while i < n
_print('処理A')
_time.sleep(1)
_i += a

67 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 19:46:13.27 ID:Duyg5pmm.net]
[*iter]

68 名前:デフォルトの名無しさん [2021/03/21(日) 20:27:26.58 ID:c1Fm1qtl.net]
>>61
その「文字列表現」を決定するのが__repr__では?
__repr__の実装に言及せずとも説明できると言うのは?
単に名前を出さないだけで言及していないことにはなってないな

69 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 20:28:41.92 .net]
>>66
変数増えるけどスッキリしてこっちのがいいですね
ありがとうございました

70 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 20:41:49.95 ID:Duyg5pmm.net]
numberを継承したoo.__lt__にreturn falseをブチ込む



71 名前:デフォルトの名無しさん [2021/03/21(日) 22:32:14.97 ID:OQZaxlrU.net]
よろしくお願いいたします。
aList = [[1,2]for j in range(3)]
aList = [[1,2]]*3

2つとも[[1, 2], [1, 2], [1, 2]]の多重リストが作られたのですが、なぜ下の文で多重リストができるのか教えてほしいです。

72 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 22:53:21.54 ID:mInw6BRh.net]
>>68
>いきなり__repr__の実装に言及しても訳分からんだろ

__repr__の実装に言及する必要なんてない
__repr__が果たしてる役割を超初心者にも分かる言葉で説明すればいいだけ

それができないと感じるのは自分がその事柄を理解してないから
理解してれば「オブジェクトだから」とか「アロケーションされてないから」みたいな嘘を教えたりしない

73 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 22:56:09.50 ID:mInw6BRh.net]
文字列表現がどう決まるのか、どういうついでに言っておくとprint()で使われるのは__repr__じゃなくまず__str__な
__str__が定義されてない場合だけfallbackして__repr__が使われる

公式チュートリアルに書いてるので勉強してね

74 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 23:00:23.62 ID:mqfsmAhv.net]
>>71
クラスの操作だからクラスをそういうふうに
作ればそうなる
何故とか本質がどうとかは設計した人の考え
便利だなと思えば使えばいい

75 名前:デフォルトの名無しさん [2021/03/21(日) 23:09:36.59 ID:OQZaxlrU.net]
>>74
ありがとうございました!
気にせず使っていきます

76 名前:デフォルトの名無しさん mailto:sage [2021/03/21(日) 23:22:30.25 ID:ztnIU7M3.net]
>>71
listやtupleやstrなどのシーケンスと呼ばれる型に対する*演算子は
シーケンスの中身の要素を指定した回数分繰り返した新しいシーケンスを返すように定義されてる

77 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 04:49:29.76 ID:FrFq7CFg.net]
>>71
FAQ中のFAQだから余計な世話かもしれんが、見た目が同じでも同じリストでは無いことに気をつけてね

リストの中身は要素への参照だから、それを複製した後者は同じオブジェクトを3回参照してる(cでいえば、同じポインタx3)
見た目が同じオブジェクトを判別するためにid関数が用意されているから試してみて
前者をl1, 後者をl2として
map(id, l1), map(id, l2)
前者のidは全て同じ、後者は新たに作った[1,2]を3つ並べてるので3つとも違うはず

参照の概念をややこしいと思いlistを避けたいと思うのなら、型の同じ要素を入れる場合は常にarrayを使う事を推奨する(標準型の範囲では)
具体的な値の配列なので、型チェックも入り、効率もよい

78 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 05:17:24.56 ID:FrFq7CFg.net]
i for rangeイディオムは不要な添字iが気持ち悪いよな…
ロジック通りに、ビルトイン関数のみでミニマルにやるには
memoryview([1, 2]).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
でいいだろう
tolistはリスト表示するためなのでお好みで
数字が小さいからbyte配列にしたけど、普段使いならlongにしといた方が気楽かも

79 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 05:25:09.41 ID:FrFq7CFg.net]
byteって言ってるのにbyte抜けてたごめん
memoryview(bytes([1, 2])).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
です、試してないけど多分動くだろ
実用にはbytesはarray('l', seq)へ差し替えてね

80 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 12:40:31.58 ID:uAAKNqiZ.net]
while True:
_a = 1
_break
print(a)

インデント下がって定義した変数をwhileの外でも使うのは普通なのでしょうか
スコープの判断で可読性が落ちるかなと個人的に思ったのですが慣れですかね



81 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 12:53:03.86 ID:bzTgC/HJ.net]
>>80
それしきの深さならえんでねーの

それにしてもパイセンいわく
while True:で安易に無限ループ作るのはイクナイ(・A・)らしいが

82 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 14:08:43.53 ID:Rzf9eLtl.net]
>>80
python的には普通らしい
ただ見通しが悪くなる場合が多いのと
勘違いによる不具合を起こさないために自分は極力避けてる

83 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 15:33:16.54 ID:uAAKNqiZ.net]
>>81,82
なるほど
とりあえずは現状維持にしときます ありやした

84 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 21:09:47.56 ID:cezDTGq+.net]
>>81
Cなら for(;;) とか出来たけど
itertools.count() とかダサいねん。

85 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 21:32:57.72 ID:H+rnlZW/.net]
whileTrueって使ったらあかんの?

86 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 21:38:05.40 ID:bzTgC/HJ.net]
良くはない、らしい
有能なパイセン談

87 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 21:45:46.85 ID:OQmrOVJK.net]
while str:

88 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 21:52:49.95 ID:10Qa0fDO.net]
するな
コールバックがあるから

89 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 23:07:52.41 ID:g8se3Ggw.net]
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

90 名前:デフォルトの名無しさん mailto:sage [2021/03/22(月) 23:19:25.97 ID:xEZrbDTS.net]
>>85
無限ループ自体が処理によってはCPU負荷が上がったりするし
break条件をミスってると不具合があった時にループから抜けずに変な所でエラーになる可能性も出てくる
だから最初から有限回ループして確実に止まるループ設計の方が安全だよね、っていう考えはある
(まあwhile True breakの方が書きやすい場面も多いけどね)



91 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 00:43:05.32 ID:ch/yi3Wo.net]
無限ループは無限ループが必要だから使うのであって、
有限のイテレータのループで書き換えられるときには当然使わないのでは?
有限と無限を同列に並べて比較すること自体がなんか違和感あるけど。

92 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 00:48:20.02 ID:BKCKGFNi.net]
while自体の処理が重いから使うなってならわかるけどミスったら困るから使うなって、理由になってなくない
使いどころも無視してとにかく使うなって、先人の下手なトラウマが一人歩きしてるだけじゃねーの

93 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 02:55:45.64 ID:71b8io/J.net]
まあループの有限性が事前にわかるようならそれを表現するためにwhile 1: 使うのは適切じゃないって話だろ。
実際ループ変数ぽいの使ってなぜか while 1使ってるコードは新人にはよくある。

94 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 02:59:15.82 ID:QbxOC6mC.net]
>>81
ポンコツかよ
他に無条件ループ作るコンストラクトがあるなら教えてほしいわ
上の方のレスにある9999999決め打ちでもするのか?
他にもハック挙がってるけどどう考えてもwhile True:より筋が悪いよね?
先輩が言ってたから正しい?自分の意見を持とうよ?

95 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 03:26:27.50 ID:ND3VvCO4.net]
while yes=sir:

96 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 03:33:34.75 ID:QbxOC6mC.net]
…と偉そうなこと言った手前、俺の習慣を紹介しておく
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.93 ID:zpYNNqZr.net]
>>64
if not cond:
__while True:
____print('処理A')
____time.sleep(1)
for i in range(10):
__print('処理A')
__time.sleep(1)

この部分だけ書けていわれたらこうするわ

98 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 06:54:35.77 ID:ZYJLDniu.net]
>>97
無限ループいつ抜けるの?

それと条件によって無限ループか有限ループかという2つの処理分岐が並列に書かれてないから意図が伝わりにくいよ

99 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 06:55:42.42 ID:ZYJLDniu.net]
>>96
ちょっと何言ってるかわからない

100 名前:デフォルトの名無しさん [2021/03/23(火) 10:05:15.95 ID:HSGkWRhe.net]
GOTO文のように無限ループ文を作れば解決する



101 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 14:54:00.54 ID:CY92qFOb.net]
while Trueするのはdo~whileしたい場合
そうじゃないなら書き直したほうがいいかもね

102 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 15:46:37.69 ID:mu30Ep9P.net]
ちょっとしたデバッグのときに
lst = [
__{"a":0,"b":1}
__'''
__,{
___"a":2,
___"b":3
__}
__'''
]
シンタックスエラー
'''は#の複数版かと思ったら単なる文字列だったんですね。
こういうときは、ショートカットキーで複数行に#入れたり消したりする人の方が多いのかな

103 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 16:21:30.22 ID:ch/yi3Wo.net]
>>102
さすがにコメントアウトショートカットで出来ないエディタを使うことはないな。
絶対に何も入れちゃいけない環境以外ではVSCodeいれちゃう。

何も入れちゃいけない環境でデバッグしなくちゃいけなくて、
lstに入れるだけいいんだったら、複数バージョンの代入文を作っておいて、if Trueとかでどれを実際に実行するかは決める、ぐらいはやるかなあ。
あとはなるべく改行を入れないで#一つでコメントアウトできるようにするって手も考えるかな。

104 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 17:12:08.45 ID:q1xbaFi+.net]
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]])

105 名前:デフォルトの名無しさん [2021/03/23(火) 17:43:46.60 ID:SeSscUQI.net]
>>101
どうして?

106 名前:デフォルトの名無しさん [2021/03/23(火) 18:30:46.10 ID:f4Z9PwYH.net]
>>104
計算誤差でしょ
非対角成分は0にかなり近い

107 名前:デフォルトの名無しさん mailto:sage [2021/03/23(火) 18:47:26.71 ID:WuxMgk/9.net]
行列が違うのはおいといてOctaveもnumpyも基本は浮動小数点数の演算だから丸め誤差などによりピッタリゼロになるとは限らない

Octaveで
format long e
を実行した後に確認すると多分ゼロになってないと思うよ

表示形式でゼロに見えてるだけだと思う

うちの環境だと0.00000じゃなくて-0.00000になる成分あるし

108 名前:デフォルトの名無しさん [2021/03/24(水) 19:57:42.51 ID:8oiSJv/j.net]
例えば、Pythonを用いたプログラミングの本を読んでいるとします。
その本の著者のサイトにPythonコードが「.pyファイル」としてダウンロードできるようになっているとします。

ある読者は、普段からIDEではなく、Jupyter Notebookを愛用しているとします。

そのため、この読者は、Jupyter Notebookのセルに著者の「.pyファイル」をロードして、コードを読んだり、変更したり、実行したりしたいと考えています。

この読者はどうすればこれを実現できるのでしょうか?

109 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 20:00:25.38 ID:jO3PWgho.net]
この読者って自分のこと?

110 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 20:04:40.15 ID:QbxZqHqJ.net]
>>108
IDE使おうが同じことすると思うのだけど
なぞなぞに思える
jupyter notebookは知らないがセルじゃなくてシェルなのだろうな



111 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 20:19:50.51 ID:8oiSJv/j.net]
>>109-110
ありがとうございます。

>>109
自分のことです。

%load sample.py

とセルに入力すればいいようです。

112 名前:デフォルトの名無しさん [2021/03/24(水) 20:23:27.54 ID:8oiSJv/j.net]
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

はもう入力しなくてもよくなったのでしょうか?

113 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 20:48:55.22 ID:SWND22zP.net]
>>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/

114 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 01:57:39.05 ID:5Yw77v05.net]
もしかして.pyファイルをjupyter notebookで実行する方法聞いてるだけか
何でそんな長々と意味不明なこと書いてるの?

115 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 02:19:54.21 ID:Lv/3T6MK.net]
回りくどくて草

116 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 04:13:00.19 ID:TW8zAfP8.net]
統失の特徴

117 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 08:02:26.68 ID:np4EPf1w.net]
コピペで大体実行できるかな

別にサクラエディタでもVSCodeでもいいから.pyファイルを開きコピペ
ただしsjisとUTF-8とか
あとインデントに気を付ける
コピペでインデントがずれて動かないことがあるので
そこは丹念に直す

118 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 08:21:24.72 ID:ITDRmOAn.net]
tkinterで
200*100じゃなくて
200x100と小文字のエックスするの何故なのか教えてほしいです……

119 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 08:39:22.55 ID:3ixfSSYA.net]
乗算じゃなくて
ピクセルで領域指定だからジャネーノ
とエスパーしてみる

120 名前:デフォルトの名無しさん [2021/03/25(木) 14:26:26.89 ID:B8lnjfbN.net]
以下のコードを実行すると、グラフが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()



121 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 14:28:00.54 ID:Nsykn7+b.net]
>>120
そう言う時はxの値を見てみましょう
やり方は「python デバッグ」でググったら出てきます

122 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 14:33:03.93 ID:B8lnjfbN.net]
>>121
xは全部0の配列になっています。

123 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 14:37:18.67 ID:3ixfSSYA.net]
0ベクトルにナニかけても0やぞ
算数やりなおせ

124 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 14:53:03.27 ID:B8lnjfbN.net]
>>123
意味が分かりません。

xは関数の戻り値です。
xに0などかけていません。

125 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 14:57:17.24 ID:8wVz7C90.net]
出力は一番目の値で決定されるから、return 0.0とするかotypeを指定しろ

不等号逆向きにすると動作するけど、そのコードが動作しないのは出力が整数型に固定されて切り捨てでゼロ扱いされるから

126 名前:デフォルトの名無しさん [2021/03/25(木) 15:03:02.76 ID:B8lnjfbN.net]
>>125
return 0.0
に変更したら、動作しました。
ありがとうございました。

127 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 15:26:22.39 ID:vHK7Evso.net]
今まではプログラミングの経験はなく、
教養としてpythonを勉強し始めました。
ただ仕事で使う機会もなく、いまいち勉強に身が入らない感じです。

皆さんはどうされているんですか?
ここのスレだと仕事で使う人が多いんでしょうか。

128 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 15:39:56.92 ID:3ixfSSYA.net]
>>127
完全に趣味
だがしかし
使いこなせれば仕事でも楽ができる

129 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 15:43:34.06 ID:3ixfSSYA.net]
>>124
インデントが崩壊していたからてきとーに見てた
正直すまんかった

>>125横じゃが
>return0.0
こんな手があるんだ!


小数まで計算するとコンピュータがついてけないからって
都度都度四捨五入処理をするよう組まれてた
ン十年前のプログラムを
Pythonで書き直すときにハマったのをおもいだした

130 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 16:49:02.78 ID:Q40pz2EP.net]
>>127
ブラゲーのbot運用
その次がエロサイトのスクレイピングと自動分類
たまに業務データの解析で使うときもある



131 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 16:54:43.80 ID:5Yw77v05.net]
>>127
こういうのは何か目標がないと続かないと思います
仕事で使うとか〇〇を作りたいとか

132 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 17:24:40.64 ID:XNAp3E0g.net]
>>127
相場売買のAIを作ろうと思ってます

133 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 18:19:37.27 ID:3ixfSSYA.net]
>>132
Pythonのノウハウよりだいじなことをおしえてやろう


相場をヲチって
よしんば正確に予想できるアルゴリズムが完成したとしても
自分が混ざった時点でそのぱーふぇくと理論は崩れる

覚えとけよw

134 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 18:21:37.93 ID:GJzYUDdl.net]
自分もスクレイピングやファイルの分類
ほぼエロ目的
だからそれのために情報を得るしそれに応用できないテクニックや知識は全部無駄
プログラミングを仕事にしてるわけでもないからpython自体の勉強なんかしないしやる気も出るわけない

135 名前:127 mailto:sage [2021/03/25(木) 18:43:38.10 ID:2VOe+7hV.net]
やっぱり、そうなんですよね。
一通り基礎は理解したものの、その後のモチベーションが…

ヒューマンリソースマシーンのような、
プログラミング的なゲームでもやっておいた方が良い気もしてきました(笑)

136 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 20:05:46.21 ID:nCOBs6jg.net]
モチベーション無いなら無理に続けなくても

137 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 20:10:08.44 ID:KmpgWBAt.net]
ヒューマンリソースマシンはあれアセンブラだぞ
使える命令とかマシン語まんま
実用的なプログラムの勉強にはならない
頭の体操だね

138 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 20:55:15.36 ID:2VOe+7hV.net]
>>137
プログラミングの勉強になると思ってプレイしてました(笑)

あんな感じでプログラミングの勉強になるアプリとかゲームはありますかね?

139 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 21:49:59.94 ID:KmpgWBAt.net]
>>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年前だけど外人製のフォロワーゲームとか探せばある

140 名前:デフォルトの名無しさん mailto:sage [2021/03/26(金) 00:00:46.47 ID:0ubO4ros.net]
こういうやつか
https://www.gamespark.jp/article/2019/06/08/90338.html
> その後、実際に本作の開発を開始する際、ゲームプレイの面でリサーチをし、2つのシステムがとても気に入りました。
> 『ファイナルファンタジーXII』のガンビットシステムと『カルネージハート』のプログラミングインターフェースです。
> 私の本作における目標は、ガンビットのシンプルさと『カルネージハート』の戦術的奥深さの間の妥協点を見つけることでした。



141 名前:デフォルトの名無しさん mailto:sage [2021/03/26(金) 19:02:57.03 ID:v+/VCeWZ.net]
>>127
金盾へのハッキングが面白くて、熱い

142 名前:デフォルトの名無しさん mailto:sage [2021/03/26(金) 22:05:49.82 ID:ndqtKa4D.net]
>>141
そんなもんひたすらそっち系検索エンジンに特定のクエリ送り続けるだけやん

143 名前:デフォルトの名無しさん [2021/03/27(土) 11:59:14.14 ID:tPWOTzAz.net]
以下の辞書内包表記がエラーになります。
どうすればいいでしょうか?

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 名前:デフォルトの名無しさん mailto:sage [2021/03/27(土) 14:43:44.30 ID:cpUHfD3R.net]
エラーに間違ってるとこを示す矢印っぽいのが出てるでしょ
elseの後の`(s, i):`を削除して

145 名前:デフォルトの名無しさん [2021/03/27(土) 16:38:19.00 ID:56gcLvkb.net]
>>143
この手の質問はエラーメッセージと、本当はどんな動作を期待していたのか書いた方が答えてもらいやすい

146 名前:デフォルトの名無しさん mailto:sage [2021/03/27(土) 19:35:40.12 ID:sxUgZiKM.net]
面倒な質問だと「窓から投げ捨てろ」と言う

147 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 02:30:55.99 ID:AdvYUXyR.net]
普通Dとnに何入れたらそうなったかくらいは書くだろ。

148 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 02:59:44.68 ID:XX3dha92.net]
urllib.parse.urlencode()で辞書を渡す場合、値にリストを含む場合の変換結果について教えてください。

例えば以下のようなリスト値を含む辞書データを与えた場合
{'a': [123,456]}
a=[123, 456]
という風にリスト内の値の区切りに空白が入った文字列としてエンコードされてしまいます。(123, と456の間)
(実際には記号や空白は%xxや+でエンコードされます)

a=[123,456]
のようにリスト内の値の区切りに空白を含めない文字列としてエンコードする方法はありますか?

149 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 04:32:58.94 ID:3NgZ3Zxf.net]
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__を実装したクラスでラップする

どれかをどうぞ

150 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 06:10:39.39 ID:XX3dha92.net]
ありがとうございます。
やはり単純にはいかないんですね。
素直にリストではなく、初めから文字列で格納するようにします。



151 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 20:49:47.97 ID:JC3QvQ/6.net]
すっごいしょーもない質問なんですけど
0から始めるならおすすめの初心者向けサイトってありますか?

152 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 21:02:38.12 ID:2n/niDAm.net]
うちProgateでhtmlとかPythonとか自分が使いそうなやつ1ヶ月くらいやってあとはひたすらググって必要なやつだけかいつばんでいった
phpとかもやったけど結局使ってない

153 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 21:45:28.92 ID:AdvYUXyR.net]
サイト見てやるくらいならオライリーの初めてのpythonでも買って全部読む方がよっぽどマシだぞ

154 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 21:58:48.98 ID:zZ3ybzIq.net]
いきなり本なんか買ったって続かないよ
サイトから入るのはいいと思うけどね

155 名前:デフォルトの名無しさん mailto:sage [2021/03/28(日) 22:01:08.75 ID:Wfs5bmxs.net]
俺はやりたいことが決まってからpythonやりだしたのと
別の言語はできたから一通りfizzbuzzとか書いてから
必要なライブラリ検索して作るっていう工程を繰り返したけど
いきなり無からやり出すんだったら本あったほうがいいと思う

156 名前:デフォルトの名無しさん mailto:sage [2021/03/29(月) 01:58:30.08 ID:WE/JZmPT.net]
ありがとうございます。本買うことにします。

157 名前:デフォルトの名無しさん mailto:sage [2021/03/29(月) 12:17:33.31 ID:np5gG6ll.net]
初めてのPythonはGoogleブックスで150ページぐらい読めるから、買う前に目を通してみて解るなら購入したらいいよ
俺にはとてもゼロから始める人に勧めるものとは思えない

158 名前:デフォルトの名無しさん [2021/03/30(火) 16:15:46.49 ID:/x/CBTP/.net]
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)
→ ×

どなたかお知恵をお貸しください。よろしくお願いします<(_ _)>

159 名前:デフォルトの名無しさん mailto:sage [2021/03/30(火) 17:26:28.39 ID:jfNjkEti.net]
以下を順番に実行したら動いたよ
import sympy
x = sympy.Symbol('x')
sympy.diff((x**3 + 2 * ...略) ** 3)

160 名前:デフォルトの名無しさん [2021/03/30(火) 17:32:11.53 ID:2VQXF/Ug.net]
u, x, y = sympy.Symbols('u x y')



161 名前:158 [2021/03/30(火) 22:28:49.03 ID:/x/CBTP/.net]
>>159
>>160
どうもありがとうございます、無事計算できました!
感謝です!<(_ _)>

162 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 10:44:14.63 ID:TYV185HC.net]
int型のように振る舞う
小数を加減算すると四捨五入した整数を加減算する
足し算して最大値を超える場合最大値になる
引き算してマイナスになる場合0になる

という独自の型を作りたいのですがどうすればいいのでしょうか?

163 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 10:54:12.36 ID:1+1U+2+S.net]
車輪の発明の仕方は知らんのぉ

164 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 11:58:37.41 ID:cYN7hqzq.net]
まぁaddとかを自力で実装すればできないでもないが…

165 名前:デフォルトの名無しさん [2021/03/31(水) 12:28:49.77 ID:qt7DVuKB.net]
int継承して四則演算をオーバーライド

166 名前:デフォルトの名無しさん [2021/03/31(水) 12:31:16.92 ID:33niRBMd.net]
>>162
>という独自の型を作りたいのですがどうすればいいのでしょうか?

作ればいいじゃない

167 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 12:38:38.39 ID:1K4SHGhs.net]
>>162
自分で試した内容と、どこで詰まってるのかくらいは書けよ

168 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 13:27:07.97 ID:TYV185HC.net]
>>165,167
そういうことをやればいいということはなんとなくわかってるんです
「python int 継承」で検索もしました
でも検索でヒットする記事じゃやり方がわからないので
それの具体的なやり方をコードで教えてほしいわけです

あと具体的にやりたいのはこういうことです
a = n(5,100) #実体化のときに初期値と最大値を設定
print(a) #5と表示
a += 5.1
print(a) #10と表示
a += 999
print(a) #100と表示

169 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 15:25:15.94 ID:Vc5hrOQS.net]
>>168
class Foo(int):
__def __add__(self, other):
____return self.__class__(int(self) + other)

続きは「operator overloading in python」で検索

170 名前:デフォルトの名無しさん [2021/03/31(水) 16:04:49.92 ID:qDb8EHC5.net]
>>169
>>168は検索したってわからないって言ってるだろ
ちゃんと全部書いてやれよ



171 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 17:40:42.81 ID:kvIfnSeV.net]
なんとなくわかってたんだから
>>169見れば後は分かるだろ

逆に何が分からないのかが分からないからそれを教えてくれよ

172 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 18:37:46.05 ID:TYV185HC.net]
仕様は完璧には理解できなかったけど
とりあえず想定通り動いてくれるものができました
https://pastebin.com/DS9C8zWT
pass:del(削除用パスだと思ったら閲覧用パスだった)

>>169 他回答してくれた皆さん
ありがとうございました

173 名前:デフォルトの名無しさん mailto:sage [2021/03/31(水) 23:49:18.64 ID:Vc5hrOQS.net]
>>172
別にいいのかもしれないけど
n(“string”)とかn(10.12)とか比較演算とか
intを継承すれば発生しない問題をたくさん抱えてるよ

174 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 15:18:01.88 ID:9j9uUZcG.net]
初pythonです。
クラス変数なるものを知り、こりゃすべて__init__の中でインスタンス変数にしないと危険だなと思いました。
しかし世のサンプルを見ると、ほとんどがクラス変数となっています。
Webサービスのジョブのクラスのコードでもクラス変数になっていて、これでちゃんと動くのか不安に思っています。
サンプルは自分で考えてスコープ変えろよって言うのが前提なのでしょうか。
初心者過ぎてばかげた質問かもしれませんが、ご意見いただけたらと思います。

175 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 16:27:57.76 ID:z+kCaEcE.net]
>>174
必要なものしかクラス変数にはなってないと思うよ。例を見せて

176 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 19:17:31.45 ID:sxNAMQCC.net]
インスタンス変数によるクラス変数の隠蔽について質問です
以下のコードにおいて、出力が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.07 ID:qWLYbtkQ.net]
>>175
正確にはサンプルと言うよりはチュートリアル系のページです。
個人のページを書くのは気が引けるので、例えば、以下のItemクラスなどです。Webサービスなので同時に呼ばれることは多々あると思うのですが。
https://fastapi.tiangolo.com/ja/tutorial/body/

178 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 20:14:55.23 ID:1gUayPkm.net]
>>176
同じ名前があったらインスタンスのを使う
隠蔽っていうか
person.ageでアクセスできないか

179 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 20:23:36.06 ID:1gUayPkm.net]
>>177
pythonだという証拠は

180 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 20:34:56.02 ID:9j9uUZcG.net]
>>179
どういう意味ですか?



181 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 21:13:14.81 ID:GHLAqcRW.net]
pydanticだからじゃん

182 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 21:30:22.18 ID:9j9uUZcG.net]
>>181
なるほど、ヘルプ読んで理解しました
ありがとうございます!

183 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 21:56:15.69 ID:6NDtmvbq.net]
実装方法は違うけど考え方はデータクラスと同じで内部的にインスタンス変数として設定される

184 名前:デフォルトの名無しさん mailto:sage [2021/04/01(木) 23:38:19.42 ID:9j9uUZcG.net]
>>183
ありがとうございます。
さらには__init__をオーバーライドしないように気をつけなきゃいけないんですかね
pythonチャレンジ二日目でちょっとくじけそうです。
今回のことなんかここで聞かなきゃ回答にいけつけなかったし

185 名前:デフォルトの名無しさん mailto:sage [2021/04/02(金) 01:09:36.62 ID:xburNgtP.net]
tkinterでメッセージボックス出すときタイトル引数が長くてメッセージ引数が短いと
タイトルバーが省略表示されてしまうんだけど、全部表示するにはどうしたらいいですか?

tkmb.showinfo(validate_inputs_directorypath, "なし")
みたいな場合です

186 名前:デフォルトの名無しさん mailto:sage [2021/04/02(金) 06:04:51.09 ID:Lx2Hy5gS.net]
>>185
そんなクソなタイトルつけんなwって話なんじゃ・・・

187 名前:デフォルトの名無しさん [2021/04/02(金) 22:50:57.48 ID:kA91Mkww.net]
pythonはクラス変数がありますが、インスタンス参照がない状態のガベージコレクションはどうなっているのでしょうか?

188 名前:デフォルトの名無しさん mailto:sage [2021/04/02(金) 23:37:06.33 ID:Lx2Hy5gS.net]
・・・わだいるーぷしてね?

189 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 00:49:02.53 ID:IxwztQHk.net]
ガベコレ

190 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 10:00:16.00 ID:trgltwrH.net]
今まで仕事で必死こいてやってたあれこれが、全部秒かからんで終わる
大したPC使ってないのにどんだけすごいんよ。この子

本当やろうと思えばなんでもできんね。これ



191 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 10:03:56.14 ID:6fy7iE1I.net]
スクリプト言語はどれもそんなかんじやで!
これからもおしあわせに〜

192 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 16:53:33.46 ID:47kYGnI+.net]
すみません、
例えばpngの自動文字起こしアプリをPythonで作った場合、そのアプリを別PCでも使いたい場合、そっちでもpipしなきゃいけないんですか?
配布する場合いろんな部署に配布することになるから大変なんですけど

193 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 17:11:35.11 ID:6fy7iE1I.net]
>>192
OSと利用比率くらい書いてけ
+そいつらのPCリテラシー度合いにも多少は左右される

194 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 17:21:17.78 ID:ClFC++3t.net]
>>192
そんな事聞くレベルなら配布すんな。メンテのたびに過労死するぞ

195 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 17:37:22.20 ID:6fy7iE1I.net]
>>194
あああー!
そういえばそうだった!!!>メンテするとチヌ

196 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 17:44:40.80 ID:EzmFJzRe.net]
exeに固めるか、webアプリにするか、lambdaにでも置いておくか

197 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 17:52:00.45 ID:DP/gaUVz.net]
AWSかGCPだな
Pythonで作ったものを非開発者に配布するのは本当に地獄を見るから絶対にやめたほうがいい

198 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 18:59:42.70 ID:nkSIG8qO.net]
pipを使えないような人達に配布するならインストーラかインストールスクリプトを書く
特定のユーザーがログイン時にインストールスクリプトを自動実行するような仕組みを使えば配布は簡単
Webアプリに比べれば環境が多様だから台数が増えればサポートコストは増える

199 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 19:03:31.16 ID:6fy7iE1I.net]
>>198
そのスクリプトなりインストーラ+そのアプデしか走らせられない安全な環境を作るときにチヌわ

200 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 19:20:47.90 ID:FpevJVBv.net]
最悪pythonディレクトリ丸ごと渡せばいい
python embedというスクラッチがあるから
それに必要なの足していけばいいんじゃ



201 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 19:57:20.93 ID:I8FEebuy.net]
' aa a '.strip().strip('aaa')
#' '

おそらく'aa a'の中の半角スペースだけ残るのですがなぜですか
'aaa'には当てはまらないから無視して
'aa a'が残るならわかるんですが

202 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 20:07:12.42 ID:gHKAEbqs.net]
stripのリファレンスをよく読んでごらん
引数に指定するのは「文字列」ではなく「文字の集合」だ
この違いが分かるかね

203 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 20:08:19.64 ID:gHKAEbqs.net]
逆に192はpipしなくていいならどうできると思ってたのか気になる

204 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 20:47:10.86 ID:bgVKOhSQ.net]
ピッピピッピ

205 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 21:03:05.22 ID:wGJ5LVi5.net]
>>202
なんでそんなに上から目線なのかね

206 名前:デフォルトの名無しさん mailto:sage [2021/04/03(土) 22:52:04.06 ID:6fy7iE1I.net]
>205横だが
大二病かプ二病かその両方なんだろう

207 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 02:51:57.29 ID:vLoSd5kv.net]
>>192です
>>196
exeかwebアプリにして配布するのが基本なんですね
あざます
それなら簡単そうですね

208 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 05:31:24.72 ID:DYzzbk5J.net]
>>207
exeもファイルアップローダもどっちも個人的には難しい部類なんだけど、簡単っって言える人が羨ましい

209 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 07:37:41.99 ID:/F7LAei5.net]
>>208
うpろだはWebアプリちゃうぞ!
べんきょうしる!!!

210 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 07:39:01.67 ID:ciXsbyqc.net]
yolov5 をexe化しようとして失敗したあるよ



211 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 07:41:07.08 ID:/F7LAei5.net]
>>209補足
ベン図をかくと
Webアプリの方がはるかにでっかい。

うpろだはWebアプリの中の一点にすぎない。

違いが判らないマジ超初心者のうちは
Pythonよりずっとずっとさきに
つぶしのきくPC用語をもっといっぱいべんきょうしる!

212 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 07:42:27.14 ID:DYzzbk5J.net]
>>209
「pngの自動文字起こしアプリ」でファイルアップロードしないの?

213 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 07:52:18.84 ID:/F7LAei5.net]
>>212
社内専用かつ中身がexeなzipであっても置いてておkでまともなうpろだ持ってる会社はすげえ少ないぞ。
う○こ味のカレーもたべます!みたいなヤバイ設定のNASがある会社はまずまずあるかもしらんが。。。
んな設定のまま使ってるなやwってーはなしでー

社内Webページに置かせてもらう あたりがまずまず現実的

メール添付で配ろうとするのは、これまたセキュリティにひっかかって地獄をみるだろう。

214 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 08:04:10.09 ID:DYzzbk5J.net]
>>213
だから、「個人的に難しい/簡単って言える人羨ましい」って言ってるんだけど?

215 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 08:31:16.27 ID:/F7LAei5.net]
>>214
Webサのうpが無理ならPythonじゃなくてVBAとかにしとけってはなし

216 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 08:48:55.24 ID:DYzzbk5J.net]
>>215
なんでそんな話になるんだ?
exeもwebも簡単→おれには難しい/簡単って言える人は羨ましいって流れだぞ?

あと、興味本位で聞くけど、VBAで画像認識ってできるの?
外部のアプリ叩くとかだと、その外部アプリどうすんのって話にすり替わるだけだと思うけど。

217 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 08:53:54.01 ID:/F7LAei5.net]
>>216
VBAで画像認識>野良ライブラリ落ちてないから手軽にはできないが、不可能ではない。

個人的には(、ちゅーか個人の事情的には?)(規約とかトラウマ的に)難しい
ってやつね
オトナコトバありがとう

218 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 08:59:11.82 ID:DYzzbk5J.net]
>>217
「pngの自動文字起こし」をVBAでスクラッチって無理な気がするけど。
ガチガチのアップロード機能作るより難しくね?

219 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 09:06:23.43 ID:/F7LAei5.net]
>>218
たしかにそこは
まちがいなく、確実に、
「がちがちのろだ」を整備するほうが簡単。

ところで
簡単っって言える(ようなセキュリティぬるぽでゆるされてる)人が羨ましい
の末尾に
見えない芝生生えてるよな?

220 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 09:16:30.52 ID:DYzzbk5J.net]
>>219
> 見えない芝生生えてるよな?

そんな事ないよ
環境に左右されるケースが大きいから、オレの環境のガイドラインだとハードルが高いってだけだし
ガイドラインが許す範囲で、コスト重視の簡易設計にするのは重要な見切りだと思ってる



221 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 09:24:05.66 ID:/F7LAei5.net]
>>220
個人的には
そのへんの規定がゆるーい(というか上の意識が低くて未整備まだ存在しないな場合がままある)会社だからって、
抵触しなければおkおkおkって「見切り」して
使うだけなひとびとのexe入りファイルのやりとりへの心のハードルずんどこ下げちゃうのは
すげーあぶないとおもうので
芝生がはえてしまう。

ハードルはすれすれで超えましょう。ってのは無論だいじだけど。

222 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 11:12:15.50 ID:DgttH7dz.net]
質問者そっちのけの話が好きだよな

223 名前:デフォルトの名無しさん mailto:sage [2021/04/04(日) 11:19:20.22 ID:xtAOreBW.net]
質問はいわば大喜利のお題。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<64KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef