22/05/20 10:26:37.96 gFWhc+m8.net
>>978
厳密にやりたいなら、metaclass使う方法なんだけど、
すごくデカイものじゃなかったら、起動時に1回切りで作ってしまうのもありだし、
lazyにしたければ、呼び出し時にインスタンスがNoneかどうか判定する処理を挟むだけ。
どっちも簡易的なシングルトンになる。
そもそも、GCさせないのがシングルトンの目的でしょ?
一般論として、シングルトンはデメリットも大きいことは理解しておく必要がある。
たとえば、画面とデータの同期を常に意識しないといけないとか、その関係でリークの原因になりやすいとか。
そういうのが面倒であれば、シングルトンをやめて画面を再作成する方がいい。
997:デフォルトの名無しさん
22/05/22 18:02:35.80 /hGmbW/Z.net
FlaskでWebアプリケーション作ってHerokuに上げる練習しているのですが
Herokuにデプロイした時、requirements.txtの内容のパッケージをインストールしてるみたいですけど
autopep8とかもインストールしてるのにさっき気がつきました
こういう、開発するときは使うけど本番では使わないパッケージってのはどう管理するものなのでしょう?
パッケージはpipでインストールして、pip freeze > requirements.txt しました
気にしなくてもいいんでしょうか
998:デフォルトの名無しさん
22/05/22 19:12:30.17 KFSuZxfk.net
>>983
pip標準だけだとdev dependencyを指定する方法はないと思うよ
HerokuはPipenvのPipfile.lockにも対応してるので
Pipfile使って[dev-packages]で指定すれば?
999:デフォルトの名無しさん
22/05/22 22:21:22.65 /hGmbW/Z.net
>>984
ありがとうございます
やっぱりフォーマッタとかがHerokuにインストールされちゃうのはちょっと嫌なので
Pipenv調べてみます
スレ立て挑戦してみます
1000:デフォルトの名無しさん
22/05/22 22:28:24.41 /hGmbW/Z.net
立てました。
【まず1嫁】くだすれPython(超初心者用) その57
スレリンク(tech板)
1001:デフォルトの名無しさん
22/05/24 16:41:49.28 IF15Gljx.net
ファイル読み込みでawkで言う'/hoge/,/fuga/{ print }'みたいに特定の文字列を含む行から特定の文字列を含む行のみを表示するにはどうすれば良いですか?
hogeがマッチしたら出力フラグ立てて、fugaがマッチしたらフラグ消すとかみたいなの以外でお願いします
1002:デフォルトの名無しさん
22/05/24 17:09:56.59 78F716Pq.net
>>987
正規表現使うか行単位のイテレータを使うか
1003:デフォルトの名無しさん
22/05/30 10:54:30 LbC2GlL6.net
インターネット接続が制限されたWindows上でPythonを利用したくなり、
NumPyやpandas等、必要だったパッケージが同梱されていたこともあり、
WinPythonを利用しています
同じようなことを、同様な環境のLinux(Alma Linux 8)で利用したいと思っており、
Anacondaを利用してみましたが、Windowsと同じように使いたく思ってます
Linux向けのPythonディストリビューションで、pip系で運用できるものは
何かありますでしょうか
1004:デフォルトの名無しさん
22/05/30 11:20:04.09 4ToCs4sv.net
>>989
公式からソースとってきてビルドするだけでpipは使える
Linuxが古すぎると必須ライブラリも自前でビルドする必要はあるだろうけど
1005:デフォルトの名無しさん
22/05/30 11:36:49.09 LbC2GlL6.net
>>990
なるほど
自前ビルドならpipも使えますね
自前ビルドして、使うパッケージをpipで導入する、という作業をするものとして、
WinPythonのように、既に各種のパッケージが導入された、
Linux向けのPython環境というものがあれば紹介いただけますでしょうか
1006:デフォルトの名無しさん
22/06/04 06:33:05 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:デフォルトの名無しさん
22/06/04 07:59:09.30 6BOKaYJy.net
イテレータは自身を返すiter()を実装しなければならないので、
イテレータはすべてイテラブルでもある
for ... in ,,, は、iter()の結果に対してnext()を複数回呼び出すので、
イテレータでもイテラブルでも動作する
[オブジェクト]
├[イテラブル] iter() OK
│ ├[イテレータ] next() OK
│ └[not イテレータ] next() NG
│
└[not イテラブル] iter()もnext()もNG
1008:デフォルトの名無しさん
22/06/04 11:22:58.61 3ilbGXWX.net
ミュータブルかイミュータブルかイテラブルかシーケンスかそれぞれの型にどの役割を当てられるかの感覚もつといいよ
1009:デフォルトの名無しさん
22/06/04 12:31:24.08 Re2gLZE7.net
>>993-994
ありがとう
ちょっとよく解んなくなってたわ
何度も学べば慣れるかな
1010:デフォルトの名無しさん
22/06/04 13:02:02.70 G7XbJ25h.net
>>995
その辺り分類を掘り下げんでも良いのではなかろか
イテラブルはiter()が使える反復可能オブジェクト
イテレータはそれで返される物くらいのニュアンス
ではイテレータ(型)とは何かって、next()など統一的な方法で
文字列でもリストでも辞書でもファイルでも各要素を反復するため
抽象化されたインターフェイス、主に対象への参照と現在位置を保持する
1011:デフォルトの名無しさん
22/06/04 14:19:59.15 ercqZUlb.net
公式リファレンスは正確性は高いが分かりやすさはお世辞にも高いとは言えないので
公式で分かりにくいと感じたらもう少し分かりやすく書いてる自分に合った補完サイトも読んだ方がいい
1012:デフォルトの名無しさん
22/06/04 17:37:58 3ilbGXWX.net
>>995
必ず慣れる
でもその前に情報を整理する方が大切かもしれない
1013:デフォルトの名無しさん
22/06/05 08:30:29.68 BQs+AO7P.net
python iterable sequentialとかで画像検索すれば分かりやすいベン図みたいなのが出てくるよ
1014:デフォルトの名無しさん
22/06/05 08:48:37.88 Sg+yaBaV.net
56埋まるまえに57に書いちゃったよお
1015:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 160日 7時間 10分 28秒
1016:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています