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 ###
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] 質問はいわば大喜利のお題。