【まず1嫁】くだすれPython(超初心者用) その56
レス数が1000を超えています。これ以上書き込みはできません。
当スレに★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/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ### >>949-950
カレットが使えないんじゃないかな?
計算結果が違っている。
ttps://ideone.com/SNjYuo
**で置き換えてみたがランタイムエラーになる。
ttps://ideone.com/F2N5yS
ttps://ideone.com/WUSd0H 元の式をコピペして動いたと思っちゃった。
確かに ** にしないと計算結果違っちゃうね。
python の int は多倍長計算してくれると思ってたけど
上限あったのね。勉強になったです。 >>954
二進数 誤差
でググりもしてないならこの分野向いてない >>955
なんで0.2も0.3も二進数で表現できないのに0.2は誤差がでないんですか? >>956
答えとしてはたまたまでPythonの浮動小数点の実装方針
>>> [(x, 1e-1 / 10 ** x) for x in range(10)]
これでイメージつくかも 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 桁目で丸められて誤差が入るが、
元の仮数部が同じなので、丸められた結果の仮数部も同じ 2進数の11 は、3 だけど、
110なら6、1100なら12
指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする
10進数の11 は、11だけど、
110なら110、1100なら1100
これも指数部の指定で、桁がずれるだけで、仮数部は同じ。
仮数部は2桁で、11とする プロジェクトのパッケージ構成で質問
https://packaging.python.org/en/latest/tutorials/packaging-projects/#packaging-python-projects
上記内の例で__init__.py、example.pyが存在するのはsrc直下ではなくて、その中にあるexample_package内であってますか? >>947で教えて頂いた
https://ideone.com
のdecimalのemaxって最大9を何個まで指定可能か知ってますか?
とりあえず801個まではテストしてみて動きましたが。 >>964
どうやったらそれを画面出力できるの?
print(decimal.MAX_EMAX)
NameError: global name 'decimal' is not defined
print(MAX_EMAX)
NameError: global name 'MAX_EMAX' is not defined __
 ̄ ̄ ̄二二ニ=-
'''''""" ̄ ̄
-=ニニニニ=-
/⌒ヽ _,,-''"
_ ,(^ω^ ) ,-''"; ;,
/ ,_O_,,-''"'; ', :' ;; ;,'
(.゙ー'''", ;,; ' ; ;; ': ,'
_,,-','", ;: ' ; :, ': ,: :' ┼ヽ -|r‐、. レ |
_,,-','", ;: ' ; :, ': ,: :' d⌒) ./| _ノ __ノ あのさぁ、俺はお前らを「道具」として見てンだわw
俺が聞いたらお前らは素直に答える。これだけでいいのw
decimal.MAX_EMAXの出力方法教えろやおらぁwwwwwwwwwwwwwww NameError: global name 'decimal' is not defined
これを解決すればいいんじゃない? >>969
書いた通りリンク先に書いてある(18個)以上の9の数を設定できちゃうんだけど、
9の数が999999999999999999個ってことなの?
でも1601個設定して10^10^1600を計算したらエラーになったぞ。 ごめんなさい。1600個いけました。9の個数が足りてませんでした。
9の数が999999999999999999個まで行けそうですね。
すみません。 ctx.Emax = 10 ** 100000 # 指数上限を増やす
とかできるね。 処理時間と表示桁数の関係であまり大きいとエラーになるけれども
10^10^2000
https://ideone.com/hjMW7h
このくらいまではいけますね。 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 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あるし問題ない? Pycharmについての質問なんですが
コードを書いてる途中に出てくる
self:Canvas,からはじまる吹き出しを消したいのですが
どこかの設定なのかプラグインなのかわからなくて困っています
よろしくお願いします 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で代わりはいけるのですがなんとも… >>980
最後の行間違ってました
as_Index=Trueからreset_index >>978
厳密にやりたいなら、metaclass使う方法なんだけど、
すごくデカイものじゃなかったら、起動時に1回切りで作ってしまうのもありだし、
lazyにしたければ、呼び出し時にインスタンスがNoneかどうか判定する処理を挟むだけ。
どっちも簡易的なシングルトンになる。
そもそも、GCさせないのがシングルトンの目的でしょ?
一般論として、シングルトンはデメリットも大きいことは理解しておく必要がある。
たとえば、画面とデータの同期を常に意識しないといけないとか、その関係でリークの原因になりやすいとか。
そういうのが面倒であれば、シングルトンをやめて画面を再作成する方がいい。 FlaskでWebアプリケーション作ってHerokuに上げる練習しているのですが
Herokuにデプロイした時、requirements.txtの内容のパッケージをインストールしてるみたいですけど
autopep8とかもインストールしてるのにさっき気がつきました
こういう、開発するときは使うけど本番では使わないパッケージってのはどう管理するものなのでしょう?
パッケージはpipでインストールして、pip freeze > requirements.txt しました
気にしなくてもいいんでしょうか >>983
pip標準だけだとdev dependencyを指定する方法はないと思うよ
HerokuはPipenvのPipfile.lockにも対応してるので
Pipfile使って[dev-packages]で指定すれば? >>984
ありがとうございます
やっぱりフォーマッタとかがHerokuにインストールされちゃうのはちょっと嫌なので
Pipenv調べてみます
スレ立て挑戦してみます ファイル読み込みでawkで言う'/hoge/,/fuga/{ print }'みたいに特定の文字列を含む行から特定の文字列を含む行のみを表示するにはどうすれば良いですか?
hogeがマッチしたら出力フラグ立てて、fugaがマッチしたらフラグ消すとかみたいなの以外でお願いします >>987
正規表現使うか行単位のイテレータを使うか インターネット接続が制限されたWindows上でPythonを利用したくなり、
NumPyやpandas等、必要だったパッケージが同梱されていたこともあり、
WinPythonを利用しています
同じようなことを、同様な環境のLinux(Alma Linux 8)で利用したいと思っており、
Anacondaを利用してみましたが、Windowsと同じように使いたく思ってます
Linux向けのPythonディストリビューションで、pip系で運用できるものは
何かありますでしょうか >>989
公式からソースとってきてビルドするだけでpipは使える
Linuxが古すぎると必須ライブラリも自前でビルドする必要はあるだろうけど >>990
なるほど
自前ビルドならpipも使えますね
自前ビルドして、使うパッケージをpipで導入する、という作業をするものとして、
WinPythonのように、既に各種のパッケージが導入された、
Linux向けのPython環境というものがあれば紹介いただけますでしょうか イテレータとイテラブルの項読んでると頭おかしくなるわ
要は「反復可能なオブジェクト」と「反復不可能なオブジェクト」があって
反復可能に設定されてるオブジェクトはnext()とかが使えて
「反復不可能なオブジェクト」はnext()とかは使えないけど
for ... in ,,, にこのオブジェクトをいれると
内部ではiter()の中にぶちこまれてるから反復動作をするようになる
つまり「反復不可能なオブジェクト」でもiter()に入れれば良いんだが
実は「反復不可能なオブジェクト」にはiter()を使えないものもある
iter()が使えるものをイテラブル、と分類している
[オブジェクト]
├[イテレータ] next()などOK
│ └[イテラブル] iter() OK
│
└[not イテレータ]next()などNG
├[イテラブル] iter() OK → next()などOK
└[not イテラブル] iter() NG
ということ? イテレータは自身を返すiter()を実装しなければならないので、
イテレータはすべてイテラブルでもある
for ... in ,,, は、iter()の結果に対してnext()を複数回呼び出すので、
イテレータでもイテラブルでも動作する
[オブジェクト]
├[イテラブル] iter() OK
│ ├[イテレータ] next() OK
│ └[not イテレータ] next() NG
│
└[not イテラブル] iter()もnext()もNG ミュータブルかイミュータブルかイテラブルかシーケンスかそれぞれの型にどの役割を当てられるかの感覚もつといいよ >>993-994
ありがとう
ちょっとよく解んなくなってたわ
何度も学べば慣れるかな >>995
その辺り分類を掘り下げんでも良いのではなかろか
イテラブルはiter()が使える反復可能オブジェクト
イテレータはそれで返される物くらいのニュアンス
ではイテレータ(型)とは何かって、next()など統一的な方法で
文字列でもリストでも辞書でもファイルでも各要素を反復するため
抽象化されたインターフェイス、主に対象への参照と現在位置を保持する 公式リファレンスは正確性は高いが分かりやすさはお世辞にも高いとは言えないので
公式で分かりにくいと感じたらもう少し分かりやすく書いてる自分に合った補完サイトも読んだ方がいい >>995
必ず慣れる
でもその前に情報を整理する方が大切かもしれない python iterable sequentialとかで画像検索すれば分かりやすいベン図みたいなのが出てくるよ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 160日 7時間 10分 28秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。