- 1 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 01:38:10.93 ID:GepmXCuJ.net]
- 当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直
- 902 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 11:28:22.49 ID:UqOJOPuh.net]
- 868のやり方じゃ駄目なんけ?main()の呼び出しを最後に書く以外は関数の並び順は自由だし、関数名がmainなら最初に実行されるだろうことは暗に容易に伝わる。
自分も呼び出すほうを上、呼び出されるほうを下に書くほうが読みやすいと感じるから常にそうしてるよ
- 903 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 11:54:47.68 ID:IDzy7BiL.net]
- >>889
自分はメイン処理をトップレベルに書く派なので 残念ながらこの手法は使えません しかし知識として知りたくはあります >>868ってmain()より下にあるhoge()をmain()から呼べるってことですよね それは何故でしょうか
- 904 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 12:26:54.53 ID:Dd8WxxXv.net]
- >>890
> 868ってmain()より下にあるhoge()をmain()から呼べるってことですよね > それは何故でしょうか main()が(定義される時じゃなくて)実行される時はdef hoge()も実行済みだから
- 905 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 12:29:09.32 ID:UqOJOPuh.net]
- そのこだわりはよくわからんな…
デメリットしか思いつかん
- 906 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 12:46:49.10 ID:JzdAzqq0.net]
- 相互参照している場合とかどうするんでしょうね?
- 907 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 12:52:31.00 ID:Yd4A+jrH.net]
- >>885
>>872で「実行文だから実行時に関数定義をかえることができる」と書いてるのは嘘だったってことかな?
- 908 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 13:24:18.52 ID:Rd1MW222.net]
- >>893
実行までに各々定義すればいいだけだからなんの問題もないだろ
- 909 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 13:25:01.76 ID:Rd1MW222.net]
- >>894
Pythonの話とJSの話の区別もつかない無能乙
- 910 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 13:46:20.12 ID:qrKdrkjM.net]
- どうでもいい話になってきてるような
スレタイにふさわしいと言えばそうだが
- 911 名前:デフォルトの名無しさん [2022/05/01(日) 14:07:59 ID:b95w4aAB.net]
- スレタイ通り下らない話で盛り上がってて実に素晴らしい。
- 912 名前:デフォルトの名無しさん [2022/05/01(日) 14:08:54 ID:QvrU5Mi0.net]
- エントリポイントのエの字も出ない
- 913 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 14:18:30 ID:Gwm1B3AE.net]
- >>891
実行というからおかしくなる 関数のシグニチャを評価するタイミングと 関数のボディを評価するタイミングの違い 前者が他言語でいう宣言文の役割 Cのプロトタイプ宣言とかと同じ Pythonでも宣言として捉えたほうが分かりやすいよ
- 914 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 14:20:32.48 ID:IDzy7BiL.net]
- >>891
うーんよくわかりません なぜ上にある関数から下にある関数を呼べるのか 私の脳はここまでです >>892 メリットが二つあります ・スクリプトの先頭から実行が始まるので流れを追いやすい ・メイン処理の字下げが一段少なく済む
- 915 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 14:40:33.88 ID:vJsN8meg.net]
- >>901
> 先頭から実行が始まる 先頭に書いてあるのがmain関数なら上から読み下せるのは同じじゃね?
- 916 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 14:53:14.40 ID:KjQtFKQ9.net]
- うちはスクリプトの末尾にこの2行、ってのが定番たわ。
if __name__ == '__main__': main()
- 917 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:06:46.08 ID:JzdAzqq0.net]
- >>895
https://i.imgur.com/1yUgMXq.jpg
- 918 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:10:06.70 ID:Rd1MW222.net]
- >>900
だからそんな思考回路だと if xxx: def foo: print('foo1') else: def foo: print('foo2') みたいなコード見たらなんで宣言2個あってもいいんだよ?ってなるだろ
- 919 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:11:46.01 ID:IDzy7BiL.net]
- >>902
main関数が処理の始まりかどうかは結局下を見ないと確定しないので… ならばトップレベルにメイン処理を書く方が安心確実と思う次第です []- [ここ壊れてます]
- 921 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:15:47.63 ID:4M5GqABF.net]
- def main(): hoge()
def hoge(): print(‘hoge’) main() Pythonの評価順は基本的に上から下に一行ずつ 1行目ではdef main():までの関数シグニチャのみ評価してボディは評価されない(それがdefの役目) 2行目も同じようにdef hoge():までの関数シグニチャのみ評価 3行目の関数呼び出し時にmain関数のボディが評価される そのタイミングではhoge関数はシグニチャが評価され関数として宣言済みなのでhogeを呼び出せる
- 922 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:20:45.71 ID:Rd1MW222.net]
- >>901
Pythonインタープリターの気持ちになって考えればわかると思うよ 1: def main(): 2: hoge() 3: def hoge(): 4: print(‘hoge’) 5: main() 1を実行する時は2の内容をmainで登録する(この時点では2自体は実行されない) 3も同様に4の内容をhogeで登録する 5のmainの呼び出しで2が実行されて4が呼ばれるので実行順は1→3→5→2→4のようになる
- 923 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:22:24.87 ID:Rd1MW222.net]
- >>906
そう思うのは自由だけどPythonでは無理だから諦めるか他の言語にするしかない
- 924 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:22:30.22 ID:F/hLZDCn.net]
- >>905
宣言が2個あったところで何が問題なの? 2個あったらエラーにするルールのある言語もあるけどPythonにそんなルールない
- 925 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:30:33.22 ID:vJsN8meg.net]
- >>906
確かにそのとおりだけど、あんまり他人を疑いすぎると禿げちゃうよ
- 926 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:36:27.81 ID:M2LDeL9g.net]
- これからはクラス定義もクラスメソッドも関数もごちゃごちゃにして途中でjson入れたり意味なく連想配列作ったりいきなりタプルにしたり判読し辛いコード書くことに決めた
初心者が初心者になる前に躓いて読めなくなるようにしていこう
- 927 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:37:45.97 ID:M2LDeL9g.net]
- オーバーライドしまくってやる
- 928 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:38:22.08 ID:M2LDeL9g.net]
- 意味なく戻り値にクラスメソッド使ってやる
- 929 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:51:18.35 ID:Rd1MW222.net]
- >>910
エラーにしない言語って何?
- 930 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 15:55:09.23 ID:zrtkQxP2.net]
- javascriptは同じ名前の関数が並んでてもエラーにならないな。後ろが使われる
- 931 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 16:00:48.30 ID:DfY2Iokg.net]
- グローバル変数・定数の定義とか、
場合分けしてモジュール等をインポートするときとか、 これらをサブ関数の中か、その前にグローバルで書くべきかいつも悩むわ モジュール等のインポート グローバル変数・定数の定義 場合分けによるモジュール等のインポート(環境依存) サブ関数の定義 場合分けによるモジュール等のインポート(環境非依存) メイン関数の定義 メイン関数の実行(>>903) これ、問題ある?
- 932 名前:917 mailto:sage [2022/05/01(日) 16:03:56.84 ID:DfY2Iokg.net]
- グローバル変数・定数の定義なんかも
サブ関数としてまとめて定義して、メイン関数で呼び出してグローバル宣言したほうがいいのかな?
- 933 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 16:08:44 ID:Rd1MW222.net]
- >>916
まあjavascriptはvarで同じ変数使ってもエラーにならないような言語だしね さすがに最近はletで重複させるとエラーになるみたいだけど
- 934 名前:デフォルトの名無しさん [2022/05/01(日) 16:30:44 ID:6txgexSj.net]
- 機能別にモジュール作って、関数詰め込んで使ってるんだが、合ってる?
- 935 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 18:30:38 ID:tQAUcym9.net]
- 一連の流れ見てもよくわからんのだけど、質問は何なの?
- 936 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 18:43:16 ID:CmrphzhC.net]
- 自分の思い通りにソース書きたいけど仕様上書けない、どうしたらいいのって愚痴
- 937 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 19:08:52 ID:tQAUcym9.net]
- もう質問じゃないよね。だったら区切ってもいいでしょ
- 938 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 19:09:28 ID:Jd2/Razo.net]
- わからないです
- 939 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 21:52:03.79 ID:haToe2zO.net]
- >>917
普通にモジュール分割していいなら メイン関数は定義せず__main__.pyのトップレベルに書く 定数は定数用のモジュールを用意してimport
- 940 名前:デフォルトの名無しさん [2022/05/01(日) 22:17:08.56 ID:b95w4aAB.net]
- 「オレは気に入らない」って人は生きるの辛そう。
柔軟性が無いと常に何かと戦うことになる。
- 941 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 23:58:05.46 ID:Hq8ES+K0.net]
- こだわりなくてもいいとこなら別にそれでいいんじゃね
こだわらなきゃいけない事なんていくらでもあるだろう
- 942 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 00:19:51 ID:zZIONtog.net]
- ノットフォーミー全盛期だよな、現代
- 943 名前:デフォルトの名無しさん [2022/05/02(月) 13:04:57.99 ID:ZthOcqCz.net]
- とにかく在日は悪いことしかしない
在日は皆殺しにすべき!
- 944 名前:デフォルトの名無しさん mailto:sage [2022/05/02(月) 21:11:16.99 ID:FWJ3qdnv.net]
- 俺も最初の頃はこだわり持って色々なこと試してたけど結局シンプルイズベストだと気づいてさっさと書くようにしたら効率上がったなぁ
まぁある程度新しいことにも挑戦するべきだけどさ でもセイウチ演算子の使い所がよく分からないよね
- 945 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 06:15:08.74 ID:mgZ8H7hi.net]
- > でもセイウチ演算子の使い所がよく分からないよね
C言語やってたら余裕 with open("sample.txt") as f: while text := f.readline(): print(text)
- 946 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 06:20:24.93 ID:ZdlL7fiJ.net]
- それfor文より何がいいの?
というかファイルのデータなくなったらエラーでないの? while文の終了条件がわからない
- 947 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 06:51:18.93 ID:mgZ8H7hi.net]
- for 文で書いてみてよ
- 948 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 07:44:11.89 ID:GYbp8Bpg.net]
- セイウチ演算子の使い所は、PEPのExapmlesを見れば分かるのでは
https://peps.python.org/pep-0572/#examples
- 949 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 10:25:34 ID:lrUYCsXU.net]
- >>933
for line in f: print(line) ファイルオブジェクトはiterableで行読み込みする てかふつうこう書かん? >>932 https://docs.python.org/ja/3/library/stdtypes.html#truth ファイル終端で空文字列(=偽)が返って終了
- 950 名前:デフォルトの名無しさん [2022/05/03(火) 16:37:55.33 ID:zAUrPbJb.net]
- 0.1*3==0.3がFalseになるのに、0.1*2==0.2がTrueになるのはなぜですか?
- 951 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 16:54:49.32 ID:zAUrPbJb.net]
- 解決しました。忘れてください
- 952 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 18:09:38.71 ID:5IHsdKXO.net]
- >>937
ちなみに何故です?
- 953 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 19:47:01.45 ID:6X7U05Nz.net]
- 計算誤差でしょ
- 954 名前:デフォルトの名無しさん [2022/05/03(火) 20:19:38.25 ID:zAUrPbJb.net]
- >>938
二進数だから >>939 そうなんだけど、0.2はその誤差が何で出ないのかなってわかんなくて聞いたけど、書いてすぐわかっちゃった
- 955 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 20:45:03.55 ID:tKI6TxwO.net]
- 知りたい~
- 956 名前:デフォルトの名無しさん mailto:sage [2022/05/03(火) 22:27:11.85 ID:lyrCvvNg.net]
- 案外やなヤツw
- 957 名前:デフォルトの名無しさん mailto:sage [2022/05/04(水) 05:25:28 ID:8abXDPny.net]
- ちんちんシュッ!シュッ!シュッ!
- 958 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 10:24:51.52 ID:vEkkTSCd.net]
- (2^((2^(35-1))-1))*(2-(2^-4060))
の計算がしたいんだが、できないのでとりあえず 2^17179869183 の計算がしたいが、 多倍長電卓LMで一瞬で解答が得られる 2^2147483647 でさえも、 ttps://paiza.io/projects/RM8L_oSwcs5_ghDFro5Sew でも ttp://codepad.org/ZhAiGY69 でも ttps://ideone.com/TeJEDo でもタイムアウトして困っています。
- 959 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 12:32:07.83 ID:Yq75WaGa.net]
- 日本語でOK
- 960 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 12:38:36.07 ID:MYAXyIRK.net]
- 6億桁ぐらいか?
そんなのprintしろって言われても困っちゃうよ
- 961 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 16:24:10.63 ID:gVprMCyl.net]
- >>944
そんだけデカい桁扱いたいなら Decimal使いつつ、デフォルトの指数設定も弄らないとオーバフロー起こすぞ https://docs.python.org/ja/3/library/decimal.html コード例としてはこんな感じ https://ideone.com/exndwC (桁数6億ぐらいだから多分合ってると思う)
- 962 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 17:06:58.83 ID:vEkkTSCd.net]
- >>947
どうもありがとう。 大変参考になります。
- 963 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 17:20:45.83 ID:h3TBoBMl.net]
- decimal 使わずとも print しなけりゃ時間内に終わるよね?
- 964 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 17:22:51.83 ID:h3TBoBMl.net]
- https://ideone.com/xXhkPf
- 965 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 17:37:43.73 ID:vEkkTSCd.net]
- 有効桁数100桁で2^17179869183の計算ができました。
https://ideone.com/dqhOTo どうもありがとう。
- 966 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 18:05:45.24 ID:vEkkTSCd.net]
- >>949-950
カレットが使えないんじゃないかな? 計算結果が違っている。 ttps://ideone.com/SNjYuo **で置き換えてみたがランタイムエラーになる。 ttps://ideone.com/F2N5yS ttps://ideone.com/WUSd0H
- 967 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 19:04:52.15 ID:h3TBoBMl.net]
- 元の式をコピペして動いたと思っちゃった。
確かに ** にしないと計算結果違っちゃうね。 python の int は多倍長計算してくれると思ってたけど 上限あったのね。勉強になったです。
- 968 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 20:44:57.60 ID:SUkJat8/.net]
- >>940
これ教えてください
- 969 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 20:54:23.21 ID:Rtfrs1Kx.net]
- >>954
二進数 誤差 でググりもしてないならこの分野向いてない
- 970 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 20:58:06.37 ID:SUkJat8/.net]
- >>955
なんで0.2も0.3も二進数で表現できないのに0.2は誤差がでないんですか?
- 971 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:20:06.74 ID:Rtfrs1Kx.net]
- >>956
答えとしてはたまたまでPythonの浮動小数点の実装方針 >>> [(x, 1e-1 / 10 ** x) for x in range(10)] これでイメージつくかも
- 972 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:33:08.66 ID:/WvxkOMY.net]
- 仮数部が等しいから当然
- 973 名前:デフォルトの名無しさん mailto:sage [2022/05/05(木) 21:51:52.77 ID:tw5Ro1fM.net]
- 0.2 に誤差がでないのではなく、
誤差付き 0.1 を2倍した結果が、誤差付き 0.2 と等しくなる、 というだけ 0.1, 0.2 を二進数にすると、それぞれ以下の無限小数になる 0.00011001100.. 0.0011001100.. これらを正規化すると、以下のようになる 1.1001100.. x 2^-4 1.1001100.. x 2^-3 つまり、仮数部が同じで指数部が 1 だけ異なる float の仮数部の桁数は小数点以下 52 桁なので、 53 桁目で丸められて誤差が入るが、 元の仮数部が同じなので、丸められた結果の仮数部も同じ
- 974 名前:デフォルトの名無しさん [2022/05/05(木) 22:29:18.63 ID:VIM8YOLC.net]
- 優しみがゴイスー
- 975 名前:デフォルトの名無しさん mailto:sage [2022/05/06(金) 01:20:26.74 ID:wPj9y4p8.net]
- 2進数の11 は、3 だけど、
110なら6、1100なら12 指数部の指定で、桁がずれるだけで、仮数部は同じ。 仮数部は2桁で、11とする 10進数の11 は、11だけど、 110なら110、1100なら1100 これも指数部の指定で、桁がずれるだけで、仮数部は同じ。 仮数部は2桁で、11とする
- 976 名前:デフォルトの名無しさん mailto:sage [2022/05/07(土) 13:14:50.97 ID:2qmSGQfh.net]
- プロジェクトのパッケージ構成で質問
https://packaging.python.org/en/latest/tutorials/packaging-projects/#packaging-python-projects 上記内の例で__init__.py、example.pyが存在するのはsrc直下ではなくて、その中にあるexample_package内であってますか?
- 977 名前:デフォルトの名無しさん mailto:sage [2022/05/07(土) 22:17:49.52 ID:hLdUgsLX.net]
- >>947で教えて頂いた
https://ideone.com のdecimalのemaxって最大9を何個まで指定可能か知ってますか? とりあえず801個まではテストしてみて動きましたが。
- 978 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 07:16:57 ID:rAxhmZ4o.net]
- decimal.MAX_EMAXに書いてある
- 979 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 08:22:04 ID:vKAQqA9f.net]
- >>964
どうやったらそれを画面出力できるの? print(decimal.MAX_EMAX) NameError: global name 'decimal' is not defined print(MAX_EMAX) NameError: global name 'MAX_EMAX' is not defined
- 980 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:10:53.78 ID:lPzTyKes.net]
- リファレンスの読み方の勉強からはじめたら?
- 981 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:12:41.48 ID:8ykKyj07.net]
- __
 ̄ ̄ ̄二二ニ=- '''''""" ̄ ̄ -=ニニニニ=- /⌒ヽ _,,-''" _ ,(^ω^ ) ,-''"; ;, / ,_O_,,-''"'; ', :' ;; ;,' (.゙ー'''", ;,; ' ; ;; ': ,' _,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ | _,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ
- 982 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:23:18.61 ID:abjrWq6f.net]
- あのさぁ、俺はお前らを「道具」として見てンだわw
俺が聞いたらお前らは素直に答える。これだけでいいのw decimal.MAX_EMAXの出力方法教えろやおらぁwwwwwwwwwwwwwww
- 983 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:26:59.55 ID:gMjR/OFO.net]
- https://docs.python.org/ja/3/library/decimal.html#constants
- 984 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:29:39.59 ID:3lpfIXfe.net]
- NameError: global name 'decimal' is not defined
これを解決すればいいんじゃない?
- 985 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:30:11.41 ID:rWXY/EV0.net]
- >>965
まずdecimal.MAX_EMAXの値はリファレンスに乗ってる https://docs.python.org/ja/3/library/decimal.html の定数って所 で、コードで確認する例もおいておく https://ideone.com/gt9i0u
- 986 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 09:34:38.39 ID:vKAQqA9f.net]
- >>969
書いた通りリンク先に書いてある(18個)以上の9の数を設定できちゃうんだけど、 9の数が999999999999999999個ってことなの? でも1601個設定して10^10^1600を計算したらエラーになったぞ。
- 987 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 10:09:59.71 ID:vKAQqA9f.net]
- ごめんなさい。1600個いけました。9の個数が足りてませんでした。
9の数が999999999999999999個まで行けそうですね。 すみません。
- 988 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 10:20:28.56 ID:vKAQqA9f.net]
- ctx.Emax = 10 ** 100000 # 指数上限を増やす
とかできるね。
- 989 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 10:33:25.17 ID:vKAQqA9f.net]
- 処理時間と表示桁数の関係であまり大きいとエラーになるけれども
10^10^2000 https://ideone.com/hjMW7h このくらいまではいけますね。
- 990 名前:デフォルトの名無しさん mailto:sage [2022/05/08(日) 10:50:23.38 ID:vKAQqA9f.net]
- 10^10^100000
https://ideone.com/PIILdo ctx.Emax = 10 ** 10 ** 5 これを ctx.Emax = 10 ** 10 ** 6 にすると5秒ではタイムオーバーする。 なので上記が限界かな? 10^10^100001(エラー) https://ideone.com/Og9zW4
- 991 名前:デフォルトの名無しさん mailto:sage [2022/05/09(月) 22:59:02.46 ID:afn9JDvJ.net]
- >>847
どんな感じ?
- 992 名前:デフォルトの名無しさん [2022/05/13(金) 02:25:52.93 ID:LdGyp25/.net]
- class sub(tk.Toplevel):
__WIN: tk.Toplevel|None = None __def __init__(self, root): ____if win:= self.__class__.WIN: _______win.focus_set() _______return ____super().__init__(root, name='sub') ____self.protocol('WM_DELETE_WINDOW', self.onExit) __def __onExit(self): ____self.__class__.WIN = None ____self.destroy() rootにサブ画面呼び出しボタンがある. 以下のような感じ btn['command'] = onShow def onShow(self): __sub(self.root) サブ画面はシングルトンにしたい.あればハイライトする,なければ画面生成 で上記の感じで書いて,問題なく動いてはいるんだけど tkinterのtoplevelのシングルトン表現ってこれでいいんだっけ? __new__に仕込むんだったかな ボタン押すたびに無駄なインスタンス生じてる気がするんだけど,GCあるし問題ない?
- 993 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 01:37:06.47 ID:n1VwRTHA.net]
- Pycharmについての質問なんですが
コードを書いてる途中に出てくる self:Canvas,からはじまる吹き出しを消したいのですが どこかの設定なのかプラグインなのかわからなくて困っています よろしくお願いします
- 994 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 21:46:26.19 ID:BQcMDz1x.net]
- pandasでgroupbyにGrouperつかってas_index=Falseにすると
Grouperで使用した日付がどこかいっちゃうんですけど仕様なんですか? df.groupby(pd.Grouper(key="Date", freq="MS"), as_index=False)[["hoge"]].sum() as_Index=Falseからreset_indexで代わりはいけるのですがなんとも…
- 995 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 21:48:07.41 ID:BQcMDz1x.net]
- >>980
最後の行間違ってました as_Index=Trueからreset_index
- 996 名前:デフォルトの名無しさん [2022/05/20(金) 10:26:37.96 ID:gFWhc+m8.net]
- >>978
厳密にやりたいなら、metaclass使う方法なんだけど、 すごくデカイものじゃなかったら、起動時に1回切りで作ってしまうのもありだし、 lazyにしたければ、呼び出し時にインスタンスがNoneかどうか判定する処理を挟むだけ。 どっちも簡易的なシングルトンになる。 そもそも、GCさせないのがシングルトンの目的でしょ? 一般論として、シングルトンはデメリットも大きいことは理解しておく必要がある。 たとえば、画面とデータの同期を常に意識しないといけないとか、その関係でリークの原因になりやすいとか。 そういうのが面倒であれば、シングルトンをやめて画面を再作成する方がいい。
- 997 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 18:02:35.80 ID:/hGmbW/Z.net]
- FlaskでWebアプリケーション作ってHerokuに上げる練習しているのですが
Herokuにデプロイした時、requirements.txtの内容のパッケージをインストールしてるみたいですけど autopep8とかもインストールしてるのにさっき気がつきました こういう、開発するときは使うけど本番では使わないパッケージってのはどう管理するものなのでしょう? パッケージはpipでインストールして、pip freeze > requirements.txt しました 気にしなくてもいいんでしょうか
- 998 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 19:12:30.17 ID:KFSuZxfk.net]
- >>983
pip標準だけだとdev dependencyを指定する方法はないと思うよ HerokuはPipenvのPipfile.lockにも対応してるので Pipfile使って[dev-packages]で指定すれば?
- 999 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:21:22.65 ID:/hGmbW/Z.net]
- >>984
ありがとうございます やっぱりフォーマッタとかがHerokuにインストールされちゃうのはちょっと嫌なので Pipenv調べてみます スレ立て挑戦してみます
- 1000 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:28:24.41 ID:/hGmbW/Z.net]
- 立てました。
【まず1嫁】くだすれPython(超初心者用) その57 mevius.5ch.net/test/read.cgi/tech/1653225908/
- 1001 名前:デフォルトの名無しさん [2022/05/24(火) 16:41:49.28 ID:IF15Gljx.net]
- ファイル読み込みでawkで言う'/hoge/,/fuga/{ print }'みたいに特定の文字列を含む行から特定の文字列を含む行のみを表示するにはどうすれば良いですか?
hogeがマッチしたら出力フラグ立てて、fugaがマッチしたらフラグ消すとかみたいなの以外でお願いします
- 1002 名前:デフォルトの名無しさん mailto:sage [2022/05/24(火) 17:09:56.59 ID:78F716Pq.net]
- >>987
正規表現使うか行単位のイテレータを使うか
- 1003 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 10:54:30 ID:LbC2GlL6.net]
- インターネット接続が制限されたWindows上でPythonを利用したくなり、
NumPyやpandas等、必要だったパッケージが同梱されていたこともあり、 WinPythonを利用しています 同じようなことを、同様な環境のLinux(Alma Linux 8)で利用したいと思っており、 Anacondaを利用してみましたが、Windowsと同じように使いたく思ってます Linux向けのPythonディストリビューションで、pip系で運用できるものは 何かありますでしょうか
- 1004 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 11:20:04.09 ID:4ToCs4sv.net]
- >>989
公式からソースとってきてビルドするだけでpipは使える Linuxが古すぎると必須ライブラリも自前でビルドする必要はあるだろうけど
- 1005 名前:デフォルトの名無しさん mailto:sage [2022/05/30(月) 11:36:49.09 ID:LbC2GlL6.net]
- >>990
なるほど 自前ビルドならpipも使えますね 自前ビルドして、使うパッケージをpipで導入する、という作業をするものとして、 WinPythonのように、既に各種のパッケージが導入された、 Linux向けのPython環境というものがあれば紹介いただけますでしょうか
- 1006 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 06:33:05 ID:Re2gLZE7.net]
- イテレータとイテラブルの項読んでると頭おかしくなるわ
要は「反復可能なオブジェクト」と「反復不可能なオブジェクト」があって 反復可能に設定されてるオブジェクトはnext()とかが使えて 「反復不可能なオブジェクト」はnext()とかは使えないけど for ... in ,,, にこのオブジェクトをいれると 内部ではiter()の中にぶちこまれてるから反復動作をするようになる つまり「反復不可能なオブジェクト」でもiter()に入れれば良いんだが 実は「反復不可能なオブジェクト」にはiter()を使えないものもある iter()が使えるものをイテラブル、と分類している [オブジェクト] ├[イテレータ] next()などOK │ └[イテラブル] iter() OK │ └[not イテレータ]next()などNG ├[イテラブル] iter() OK → next()などOK └[not イテラブル] iter() NG ということ?
- 1007 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 07:59:09.30 ID:6BOKaYJy.net]
- イテレータは自身を返すiter()を実装しなければならないので、
イテレータはすべてイテラブルでもある for ... in ,,, は、iter()の結果に対してnext()を複数回呼び出すので、 イテレータでもイテラブルでも動作する [オブジェクト] ├[イテラブル] iter() OK │ ├[イテレータ] next() OK │ └[not イテレータ] next() NG │ └[not イテラブル] iter()もnext()もNG
- 1008 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 11:22:58.61 ID:3ilbGXWX.net]
- ミュータブルかイミュータブルかイテラブルかシーケンスかそれぞれの型にどの役割を当てられるかの感覚もつといいよ
- 1009 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 12:31:24.08 ID:Re2gLZE7.net]
- >>993-994
ありがとう ちょっとよく解んなくなってたわ 何度も学べば慣れるかな
- 1010 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 13:02:02.70 ID:G7XbJ25h.net]
- >>995
その辺り分類を掘り下げんでも良いのではなかろか イテラブルはiter()が使える反復可能オブジェクト イテレータはそれで返される物くらいのニュアンス ではイテレータ(型)とは何かって、next()など統一的な方法で 文字列でもリストでも辞書でもファイルでも各要素を反復するため 抽象化されたインターフェイス、主に対象への参照と現在位置を保持する
- 1011 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 14:19:59.15 ID:ercqZUlb.net]
- 公式リファレンスは正確性は高いが分かりやすさはお世辞にも高いとは言えないので
公式で分かりにくいと感じたらもう少し分かりやすく書いてる自分に合った補完サイトも読んだ方がいい
- 1012 名前:デフォルトの名無しさん mailto:sage [2022/06/04(土) 17:37:58 ID:3ilbGXWX.net]
- >>995
必ず慣れる でもその前に情報を整理する方が大切かもしれない
- 1013 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 08:30:29.68 ID:BQs+AO7P.net]
- python iterable sequentialとかで画像検索すれば分かりやすいベン図みたいなのが出てくるよ
- 1014 名前:デフォルトの名無しさん [2022/06/05(日) 08:48:37.88 ID:Sg+yaBaV.net]
- 56埋まるまえに57に書いちゃったよお
- 1015 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 160日 7時間 10分 28秒
- 1016 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|