↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8b01-Qpn1)
2023/03/04(土) 00:18:00.31ID:dUl31UkL0570デフォルトの名無しさん (ワッチョイ 3eba-Yhx6)
2023/07/19(水) 22:01:23.39ID:ihTqsCIr0 A「わからないんです 教えてください」 → B「○○すればええのでは」 → A「わかりました試します」
これはわかる
A「これは出来ないっぽいぞ」 → B「○○すればええのでは」 → A「そんな事例ないけど、自分それでできた?」 → B「知らんけど、可能性を示されたら自分で試せや」
これはまったく理屈がわからない
現実的に後者のやつがいたらごくごく普通に不信感抱くけど
これはわかる
A「これは出来ないっぽいぞ」 → B「○○すればええのでは」 → A「そんな事例ないけど、自分それでできた?」 → B「知らんけど、可能性を示されたら自分で試せや」
これはまったく理屈がわからない
現実的に後者のやつがいたらごくごく普通に不信感抱くけど
571デフォルトの名無しさん (ワッチョイ 4e10-3jKb)
2023/07/19(水) 22:11:14.22ID:Ewgs5Hf50 >>555のURLみるとBasic認証だったんで
技術的には固定のHTTPヘッダを出力するだけなのを案内
うまくいかないのはヘッダ出力か、なーるほどとなると甘く考えてた
おなじように site:stackoverflow.com 縛りでググったけど
add_argumentは仕様でできないからrequest_interceptorをつかえと
いくらでもヒットするし意味わからん
技術的には固定のHTTPヘッダを出力するだけなのを案内
うまくいかないのはヘッダ出力か、なーるほどとなると甘く考えてた
おなじように site:stackoverflow.com 縛りでググったけど
add_argumentは仕様でできないからrequest_interceptorをつかえと
いくらでもヒットするし意味わからん
572565 (ワッチョイ 7033-/jfo)
2023/07/19(水) 22:57:06.27ID:XLDi8Tb/0 ごめんなさい、間違ってました
悪いのはID:Ewgs5Hf50です
悪いのはID:Ewgs5Hf50です
573デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
2023/07/22(土) 08:54:19.91ID:xOnSvjXE0 任意の長さのlistを受け取る関数で、listが一つの要素しか持たないときはlistの代わりにその要素を渡しても良いことにしたいのですがどうするべきでしょうか?
つまり
func([hoge])
の代わりに
func(hoge)
と書くのを許したいということです。
C++ならオーバーロードするだけですが、Pythonの場合はどのようにしますか。
つまり
func([hoge])
の代わりに
func(hoge)
と書くのを許したいということです。
C++ならオーバーロードするだけですが、Pythonの場合はどのようにしますか。
574デフォルトの名無しさん (ブーイモ MMab-3wqI)
2023/07/22(土) 09:22:02.65ID:CGuNy4vJM >>573
API設計の良し悪しは置いとくとして
何もしなくても関数の引数に違う型を渡すのは許されてる
type hintの話ならunion使えばいい
int | list[int]
オーバーロード的に別関数にしたいなら関数名を変える
API設計の良し悪しは置いとくとして
何もしなくても関数の引数に違う型を渡すのは許されてる
type hintの話ならunion使えばいい
int | list[int]
オーバーロード的に別関数にしたいなら関数名を変える
575デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
2023/07/22(土) 09:27:38.97ID:i05cYusF0 listが一つの要素しか持たないときでも、例外を設けずlistを渡すべきだ。
576デフォルトの名無しさん (ワッチョイ 2781-FYg4)
2023/07/22(土) 09:28:28.85ID:2b3RUs8b0 自前で型を判定して分岐する。
def func(arg):
if not isinstance(arg, list):
arg = [arg]
return arg
print(func(1)) # [1]
print(func([1,2,3])) # [1,2,3]
一応、オーバーロードっぽい書き方もできる。(結果は上と同じ)
singledispatch という名前の通り、先頭の引数にしか効かないけど。
from functools import singledispatch
@singledispatch
def func(arg):
return [arg]
@func.register
def _(arg: list):
return arg
def func(arg):
if not isinstance(arg, list):
arg = [arg]
return arg
print(func(1)) # [1]
print(func([1,2,3])) # [1,2,3]
一応、オーバーロードっぽい書き方もできる。(結果は上と同じ)
singledispatch という名前の通り、先頭の引数にしか効かないけど。
from functools import singledispatch
@singledispatch
def func(arg):
return [arg]
@func.register
def _(arg: list):
return arg
577デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 10:54:42.82ID:v5hjaRdU0 a, _, b, _, c = list
みたいにせずに、
a, b, c = list[0, 2, 4] # 誤り
みたいな感じにリストの一部だけ抜き出すにはどうすれば
みたいにせずに、
a, b, c = list[0, 2, 4] # 誤り
みたいな感じにリストの一部だけ抜き出すにはどうすれば
578デフォルトの名無しさん (スププ Sdff-8Gu3)
2023/07/22(土) 12:11:10.18ID:RUx94lS4d579デフォルトの名無しさん (ワッチョイ df00-Rp6Z)
2023/07/22(土) 12:11:33.92ID:265f1RXI0 >>574-576
アザトゥース!
アザトゥース!
580デフォルトの名無しさん (スププ Sdff-8Gu3)
2023/07/22(土) 12:13:57.55ID:RUx94lS4d >577
a, b, c = (list[0], list[2], list[4])
あと変数名を'list'にするのはよせ
numpyやpandas使うともうちょっと気の利いた書き方もあり
a, b, c = (list[0], list[2], list[4])
あと変数名を'list'にするのはよせ
numpyやpandas使うともうちょっと気の利いた書き方もあり
581デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/22(土) 12:24:49.80ID:YLqzZrt5a582デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/22(土) 12:34:17.51ID:YLqzZrt5a >>577
>>> import pandas as pd
>>> L = [1, 2, 3, 4, 5]
>>> L = pd.Series(L)
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
>>> import pandas as pd
>>> L = [1, 2, 3, 4, 5]
>>> L = pd.Series(L)
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
583デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/22(土) 12:37:31.89ID:YLqzZrt5a >>577
>>> import numpy as np
>>> L = [1, 2, 3, 4, 5]
>>> L = np.array(L)
>>> L
array([1, 2, 3, 4, 5])
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
>>> import numpy as np
>>> L = [1, 2, 3, 4, 5]
>>> L = np.array(L)
>>> L
array([1, 2, 3, 4, 5])
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
584デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 12:46:18.36ID:v5hjaRdU0 現状はリストのインデックスにリストがくるとただのエラーになるから、
pythonがpandasやnumpyの仕様を取り込んでくれればいいのに
pythonがpandasやnumpyの仕様を取り込んでくれればいいのに
585デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 12:50:42.27ID:v5hjaRdU0 まあ、
a, b, c = L[[0, 2, 4]]
こう書く代わりに
a, b, c = np.array(L)[[0, 2, 4]]
こう書けばいいだけか
a, b, c = L[[0, 2, 4]]
こう書く代わりに
a, b, c = np.array(L)[[0, 2, 4]]
こう書けばいいだけか
586デフォルトの名無しさん (ブーイモ MMff-3wqI)
2023/07/22(土) 14:23:00.24ID:QXCscxEqM 不要な要素を除去するステップと
個別の変数や辞書にマッピングするステップは
分けた方がいいんじゃないかという気がする
個別の変数や辞書にマッピングするステップは
分けた方がいいんじゃないかという気がする
587デフォルトの名無しさん (ブーイモ MMff-3wqI)
2023/07/22(土) 14:38:32.38ID:kcC8tnpEM 良く考えてみたら分けられてるといえば分けられてるのか
ただ両辺の要素数の一致を保証できるコードか
一致しない場合も考慮したコードじゃないとモヤモヤする
ただ両辺の要素数の一致を保証できるコードか
一致しない場合も考慮したコードじゃないとモヤモヤする
588デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 18:28:57.35ID:v5hjaRdU0 具体的にどういう用途だったかというと、excelのシートを一旦2次元配列に読み込んで、
その中から必要な部分を抜き出している
先頭の行をインデックスにして、そこに書かれた名前でやるのが普通だけど、
得体の知れない手作りデータがソースだと、そんなこともある
その中から必要な部分を抜き出している
先頭の行をインデックスにして、そこに書かれた名前でやるのが普通だけど、
得体の知れない手作りデータがソースだと、そんなこともある
589565 (ワッチョイ 7f33-onGn)
2023/07/22(土) 21:02:36.96ID:uM7XUdqd0590デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 21:50:00.68ID:v5hjaRdU0 飛び飛びだよ、という意味で0, 2, 4なだけで、もっと続けると、
0, 2, 4, 7, 11, 12 みたいな感じになる
0, 2, 4, 7, 11, 12 みたいな感じになる
591デフォルトの名無しさん (ブーイモ MMab-3wqI)
2023/07/22(土) 22:01:05.17ID:oa2ckNVGM そういう用途ならpandasのread_csvやread_excelでskiprowsやusecolsを指定して必要な部分だけ読み込むかな
csv.reader縛りでも同じように
usecols = [0, 2, 4]
[row[i] for i in usecols]的な処理をする
入力データを整形するステップと
整形したデータをもとに計算加工するステップは分離しておきたい
csv.reader縛りでも同じように
usecols = [0, 2, 4]
[row[i] for i in usecols]的な処理をする
入力データを整形するステップと
整形したデータをもとに計算加工するステップは分離しておきたい
592565 (ワッチョイ 7f33-onGn)
2023/07/22(土) 22:22:00.69ID:uM7XUdqd0593565 (ワッチョイ 7f33-onGn)
2023/07/22(土) 22:31:52.11ID:uM7XUdqd0 官公庁から送られてくるデータで、csvとかjsonで送ってくれたら楽なのにexcelファイルでしか送ってくれないとかいうのあったな
594デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 22:40:18.16ID:v5hjaRdU0 取り消し線で消した部分は無効にしないといけないexcelとか地獄
あと何故かみんなセル結合大好き
あと何故かみんなセル結合大好き
595デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/22(土) 23:01:13.06ID:pjILcF770 マイナンバーとか上手く行かないハズだわ
596デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 23:06:41.26ID:v5hjaRdU0 マイナンバーは作った時に暗証番号の登録が大量にあった時点で、
これは絶対駄目だわと思った
行政に理系が皆無なんだよな
理系なら絶対せんやろということを平気でやって失敗する
これは絶対駄目だわと思った
行政に理系が皆無なんだよな
理系なら絶対せんやろということを平気でやって失敗する
597デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
2023/07/22(土) 23:09:58.01ID:ywRUx2Al0 いまだにコンビニで誤交付あるのがなんとも
598デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/22(土) 23:15:46.42ID:v5hjaRdU0 システムは別に間違ってない
紐づけの処理を間違ったヒューマンエラー
何故間違ったかというと、前の人の画面のまま次の人の入力したから
紐づけの処理を間違ったヒューマンエラー
何故間違ったかというと、前の人の画面のまま次の人の入力したから
599デフォルトの名無しさん (JP 0H0b-0blL)
2023/07/22(土) 23:31:58.51ID:VWoIL+TEH うんちをすると、おしっこも同時に出るようなものかな。
600デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
2023/07/23(日) 00:10:42.60ID:Y2dIYUXH0601デフォルトの名無しさん (ワッチョイ 7fbb-IQbN)
2023/07/23(日) 01:53:23.55ID:a7j2OMe40 マイナンバーをプライマリーキーにすれば95%くらい解決する話
要件定義で失敗してる
要件定義で失敗してる
602デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
2023/07/23(日) 08:48:42.98ID:XMl58DhzM 設計開発した企業の名前は全部公表して欲しいな
603デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 09:06:55.98ID:1hxNS+Jv0 その段階でのミスはただのバグで容易に修復が可能
仕様や要件がそもそも間違ってるので、もうどうしようもない
仕様や要件がそもそも間違ってるので、もうどうしようもない
604デフォルトの名無しさん (ブーイモ MMff-3wqI)
2023/07/23(日) 09:09:02.32ID:B6RMz+SmM605デフォルトの名無しさん (ワッチョイ 678c-FGcY)
2023/07/23(日) 09:11:22.21ID:ijFwVi/G0 一体どういうシステム組めば同姓同名の他人と取り違えて登録できるんだよというのは疑問だった
606デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 09:12:09.24ID:1hxNS+Jv0 そんなケースあった?
607デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 09:13:28.92ID:NhS1+0R50 まあマイナンバーに限らず官公庁は昔から富士通系
608デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
2023/07/23(日) 09:18:19.30ID:E9NR74nn0 入力ミスじゃなくて富士通がバグ直してなかった
609デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 09:22:35.53ID:NhS1+0R50 まあ普段からEXCELしか触らない事務員からすればcsv何それだからね
pandas使うにしろ目視手操作による前処理はまあ必要
pandas使うにしろ目視手操作による前処理はまあ必要
610デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 09:38:52.76ID:NhS1+0R50 人間一人一人を本気で識別しようと思ったら塩基パターンのダイジェスト値でも求めるしかなさそう
いやそれこそ個人情報だけどな
いやそれこそ個人情報だけどな
611デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 09:41:09.96ID:1hxNS+Jv0 DNAの個人差なんか殆ど無いよ
612デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 10:40:07.53ID:NhS1+0R50 え?警察のDNA鑑定も無駄だってこと?
613デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
2023/07/23(日) 10:49:52.76ID:SbvWaAdq0 >>612
八卦占いレベルと聞いているが、向上したのかな。
八卦占いレベルと聞いているが、向上したのかな。
614デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/23(日) 10:58:57.84ID:kMNWXVHya615デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 10:59:49.13ID:NhS1+0R50 人とチンパンジーの遺伝子が99%同じって話もこれ100分率が尺度として粗すぎるって事だけどな
616デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/23(日) 11:02:16.46ID:kMNWXVHya617デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
2023/07/23(日) 11:28:45.57ID:foNozPN40 >>601>>604
どのテーブル/エンティティを対象にしているかを抜かして議論するのがそもそもダメ。
マイナンバーに紐付くべき情報を保持するテーブルでマイナンバーをキーにするのは何もおかしなことはない。
どのテーブル/エンティティを対象にしているかを抜かして議論するのがそもそもダメ。
マイナンバーに紐付くべき情報を保持するテーブルでマイナンバーをキーにするのは何もおかしなことはない。
618デフォルトの名無しさん (ブーイモ MM8f-3wqI)
2023/07/23(日) 17:04:38.87ID:SI3XE8qvM >マイナンバーに紐付くべき情報を保持するテーブルでマイナンバーをキーにするのは何もおかしなことはない。
マイナンバーを発行する機構のシステムでもアクセスキーを持つ情報保有機関のシステムでもそんな設計したらダメだよ
詳しく知りたければDB設計スレにでもどうぞ
マイナンバーを発行する機構のシステムでもアクセスキーを持つ情報保有機関のシステムでもそんな設計したらダメだよ
詳しく知りたければDB設計スレにでもどうぞ
619デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 17:07:00.98ID:1hxNS+Jv0 詳しくは知りたくないがざっくり説明すらできないのは何も知らんとしか
620デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
2023/07/23(日) 17:30:31.15ID:foNozPN40621デフォルトの名無しさん (ワッチョイ 2705-TI2y)
2023/07/23(日) 17:37:23.40ID:NhS1+0R50 マ板的な話題かも知れんね
なぜマイナンバーカードはうまくいかないのか
https://medaka.5ch.net/test/read.cgi/prog/1688658413/
まあこういう話題は身近なプロジェクトでも起こりうるのであながち無縁ではない
なぜマイナンバーカードはうまくいかないのか
https://medaka.5ch.net/test/read.cgi/prog/1688658413/
まあこういう話題は身近なプロジェクトでも起こりうるのであながち無縁ではない
622デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
2023/07/23(日) 17:42:43.73ID:foNozPN40623デフォルトの名無しさん (ワッチョイ a701-bxGm)
2023/07/23(日) 18:13:42.78ID:y9AcmLwP0 >個人番号(マイナンバー)は原則として生涯同じ番号を使い続けていただき、自由に変更することはできません。
>ただし、漏えいして不正に用いられるおそれがあると認められる場合に限り、ご本人の申請または市町村長の職権により変更することができます。
対策1
新しいレコードを作成して対応(個人番号を主キーと出来る)
対策2
個人番号+適用期間のテーブルを持つ(個人番号を主キーと出来ない)
DB設計的に綺麗なのは後者だけど、実装が楽で高速なのは前者
テーブル結合が発生するやり方は性能設計的にやりたくない
>ただし、漏えいして不正に用いられるおそれがあると認められる場合に限り、ご本人の申請または市町村長の職権により変更することができます。
対策1
新しいレコードを作成して対応(個人番号を主キーと出来る)
対策2
個人番号+適用期間のテーブルを持つ(個人番号を主キーと出来ない)
DB設計的に綺麗なのは後者だけど、実装が楽で高速なのは前者
テーブル結合が発生するやり方は性能設計的にやりたくない
624デフォルトの名無しさん (ワッチョイ 2763-RZpt)
2023/07/23(日) 18:23:19.83ID:gta1+Avk0 個人番号自体は悪用された場合等に変更されることもあるんじゃなかったっけ?
だとすれば、これをプライマリーキーにしたらまずいと思うんだけど
だとすれば、これをプライマリーキーにしたらまずいと思うんだけど
625デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 18:43:52.80ID:1hxNS+Jv0 例外なく個人と生涯対応した隠しIDみたいなのがあって、それで管理されている
個人番号はそれと紐付けられた情報の一つ
個人番号はそれと紐付けられた情報の一つ
626デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
2023/07/23(日) 19:10:08.65ID:foNozPN40627デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
2023/07/23(日) 19:58:18.01ID:Y2dIYUXH0 個人番号をある数値で割って剰余を〇〇みたいな古典的な暗号化だったら笑う
628デフォルトの名無しさん (ワッチョイ 672c-Ib0W)
2023/07/23(日) 20:31:45.21ID:EYaHQibB0 個人番号って秘密にするものなの?
身分証明証として使えばふつうに漏洩するじゃん。
どっかの店の会員登録したり、使うケースは今後多くなるんじゃない?
なぜなら保険証も免許証もなくなるのだから。
身分証明証として使えばふつうに漏洩するじゃん。
どっかの店の会員登録したり、使うケースは今後多くなるんじゃない?
なぜなら保険証も免許証もなくなるのだから。
629デフォルトの名無しさん (オイコラミネオ MM6b-NlyP)
2023/07/23(日) 20:37:40.81ID:uD38j19SM 番号自体でどうこうできないけども
トラッキングに使えるから収集は制限されてる
トラッキングに使えるから収集は制限されてる
630デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 20:56:43.81ID:1hxNS+Jv0 個人情報は保護しなければ
と理由もなく思い込んでるフシがある
昔は住所も電話番号も普通に公開してたのに
スウェーデンみたいに番号知られたって何も困らんというスタンスの方がいろいろ便利
と理由もなく思い込んでるフシがある
昔は住所も電話番号も普通に公開してたのに
スウェーデンみたいに番号知られたって何も困らんというスタンスの方がいろいろ便利
631デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
2023/07/23(日) 22:00:31.57ID:ZJTCwnE/M 10年以上Python使ってきたけど、今日ドキュメントを見ていてmatch文て存在を初めて知って軽いカルチャーショックだわ
これCとかのswitchだよね?
Pythonはswitchがなく、複数の条件分岐にはif~elifを使うってのが常識だったように思うが俺が見落としていたのか
これCとかのswitchだよね?
Pythonはswitchがなく、複数の条件分岐にはif~elifを使うってのが常識だったように思うが俺が見落としていたのか
632デフォルトの名無しさん (ワッチョイ 0763-yXMF)
2023/07/23(日) 22:15:19.88ID:AOK+XCDI0 まあまあ最近に追加されたから知らなくてもおかしくはないかな
Cのswitch/caseとしても使えるしもっと複雑なこともできる
Cのswitch/caseとしても使えるしもっと複雑なこともできる
633デフォルトの名無しさん (ワッチョイ 678c-FGcY)
2023/07/23(日) 22:20:57.34ID:ijFwVi/G0 Python 3.10からなら超最近じゃん
634デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
2023/07/23(日) 23:25:41.19ID:ZJTCwnE/M 職場で個人的にEUCを推進していてさ
自分で書いた小物ツールを他者に説明したりするんだけど
偉そうに「Pythonはシンプルを旨とし、一つのことをするのに
複数の書き方はできないようになってる。
よって条件分岐はifしかない」なんて能書き垂れてたんだよね
人に教える立場の者は常に勉強してないといけないなって反省
自分で書いた小物ツールを他者に説明したりするんだけど
偉そうに「Pythonはシンプルを旨とし、一つのことをするのに
複数の書き方はできないようになってる。
よって条件分岐はifしかない」なんて能書き垂れてたんだよね
人に教える立場の者は常に勉強してないといけないなって反省
635デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/23(日) 23:28:32.79ID:1hxNS+Jv0 sjisの方がよくね
636デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
2023/07/23(日) 23:41:11.15ID:E9NR74nn0 matchそのまま代入できたらよかったのに
637デフォルトの名無しさん (ワッチョイ 7f33-DCff)
2023/07/24(月) 07:42:50.24ID:bhgXPbrR0 >>634
ちなみに、utf-8よりEUCを推奨する理由についてはどう説明してるんですか
ちなみに、utf-8よりEUCを推奨する理由についてはどう説明してるんですか
638デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
2023/07/24(月) 08:10:31.42ID:E+poxZzBM639デフォルトの名無しさん (オイコラミネオ MM3b-vA7O)
2023/07/24(月) 08:23:31.68ID:OTkPxk5XM >>635
eucはsjisより後に作られた。もちろん理由があってのことだ。
eucはsjisより後に作られた。もちろん理由があってのことだ。
640デフォルトの名無しさん (ブーイモ MMcf-2YhC)
2023/07/24(月) 08:55:56.30ID:hxZ6wCW4M UTF-8が標準なのもなんかなぁ
マルチバイト環境ならUTF-16のが効率よくね
マルチバイト環境ならUTF-16のが効率よくね
641デフォルトの名無しさん (ワッチョイ 678c-FGcY)
2023/07/24(月) 08:58:01.85ID:SSci5eI60 世界的に普及している中で世界中の文字をそれなりに扱えるのがUTF-8だから
642デフォルトの名無しさん (アウアウウー Sa2b-dDmk)
2023/07/24(月) 09:21:53.31ID:opC+VrO7a EUCが一番不要
何のメリットがあるんだよ
何のメリットがあるんだよ
643デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/24(月) 09:30:34.81ID:b4teMFwba644デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/24(月) 09:33:25.07ID:b4teMFwba645デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/24(月) 09:36:09.41ID:b4teMFwba >>636
どこのRustの人ですか
どこのRustの人ですか
646デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
2023/07/24(月) 09:39:02.04ID:b4teMFwba647デフォルトの名無しさん (ワッチョイ 7f33-DCff)
2023/07/24(月) 10:43:02.36ID:bhgXPbrR0648デフォルトの名無しさん (ワッチョイ 7f90-HmGg)
2023/07/24(月) 11:23:39.95ID:4YyKbOUI0649デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
2023/07/24(月) 12:11:52.51ID:jISsTKbU0 EUC(European Union Center)だろ。
650デフォルトの名無しさん (ワッチョイ a701-bxGm)
2023/07/24(月) 18:28:38.98ID:NnxoLtiq0 >>643
日本が存続する限り運用するなら何桁にしても枯渇する
日本が存続する限り運用するなら何桁にしても枯渇する
651デフォルトの名無しさん (ワッチョイ df02-/dWn)
2023/07/25(火) 01:07:45.39ID:BpssBnM30 足りなくなったら電話番号みたいに桁増やすでしょ
その時はお役所仕事でグダグダになるんだろうけど
その時はお役所仕事でグダグダになるんだろうけど
652デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/25(火) 05:40:35.68ID:xb+ZpjMN0 IPアドレスの枯渇とかと同じだと思ってるな
ビット数なんか決まってないんだからどうにでもなる
内部的には19桁までいける筈
ビット数なんか決まってないんだからどうにでもなる
内部的には19桁までいける筈
653デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
2023/07/25(火) 07:01:10.71ID:VkH/on+mM web3は国策のはずだがどうなったのだろうな
失敗するんだったらコッチで失敗した方が後の糧となるのにな
失敗するんだったらコッチで失敗した方が後の糧となるのにな
654デフォルトの名無しさん (ワッチョイ 678c-FGcY)
2023/07/25(火) 07:37:27.20ID:7bxToldZ0 web 2.0の時点で何それ知らんだったのにまだやるのか
655デフォルトの名無しさん (ワッチョイ bf63-4dwq)
2023/07/25(火) 14:07:53.28ID:rWqhM1Bk0 from importってどこで定義すれば良いのか規則とかあるのでしょうか?
from . import samples
def util():
pass
def main():
ここでsamples.aaaなどを参照する処理
とかやった場合にsample.aaaでutil参照してる場合に循環importエラーでますよね
なのでmain関数の中でfrom .import samples
にするかそもそもutile関数を分けるか、だとおもうのですが
そういう場合は、って慣習があるのか気になりました
from . import samples
def util():
pass
def main():
ここでsamples.aaaなどを参照する処理
とかやった場合にsample.aaaでutil参照してる場合に循環importエラーでますよね
なのでmain関数の中でfrom .import samples
にするかそもそもutile関数を分けるか、だとおもうのですが
そういう場合は、って慣習があるのか気になりました
656デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/25(火) 14:33:36.56ID:iTChcdyRa as hogehoge するとか
ディレクトリ造って __init__.py の方でなんとかするとか
ディレクトリ造って __init__.py の方でなんとかするとか
657デフォルトの名無しさん (ワッチョイ 5f32-QY1y)
2023/07/25(火) 14:50:47.21ID:SopfjPcB0 最小構成はこんな感じです
https://pastebin.com/1VEJDXPC
要は、samplesとhogeはお互いの機能を使い合いたい、感じです
仮に、aaaでしかsamples.util使わないならaaaの中でimportすれば循環は回避できます。
また、
hoge.utilの中ではsamplesを参照しない、
のは誰が書いても論理的に確定しているから
hoge.mainの中でsamplesをimportする
という方がしっくりきます
しかし、hoge.main以外にmain1,2と増えた場合に毎度その中で書くことになります
なのでそれが通例?なのかな、と。または別の慣習があるとか
それだったらもう、
「samplesの機能を使うようなモジュールとそうでないモジュール」
として、hoge.utilを完全に隔離した方がシンプルで迷うことは無いのではと考えました
こういうの__init__.pyとかで解決できるんですかね・・?
ちょっと調べてみようと思います >>656
感情論で言うと
「hoge.util内でsamplesの機能ひとつも使っていないのに、どうしてhoge全体でsamplesをimportしたの?」
が根本的な問題なような気がして・・
https://pastebin.com/1VEJDXPC
要は、samplesとhogeはお互いの機能を使い合いたい、感じです
仮に、aaaでしかsamples.util使わないならaaaの中でimportすれば循環は回避できます。
また、
hoge.utilの中ではsamplesを参照しない、
のは誰が書いても論理的に確定しているから
hoge.mainの中でsamplesをimportする
という方がしっくりきます
しかし、hoge.main以外にmain1,2と増えた場合に毎度その中で書くことになります
なのでそれが通例?なのかな、と。または別の慣習があるとか
それだったらもう、
「samplesの機能を使うようなモジュールとそうでないモジュール」
として、hoge.utilを完全に隔離した方がシンプルで迷うことは無いのではと考えました
こういうの__init__.pyとかで解決できるんですかね・・?
ちょっと調べてみようと思います >>656
感情論で言うと
「hoge.util内でsamplesの機能ひとつも使っていないのに、どうしてhoge全体でsamplesをimportしたの?」
が根本的な問題なような気がして・・
658デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/25(火) 16:03:23.98ID:iTChcdyRa hoge.py の中で from samples import aaa
659デフォルトの名無しさん (ワッチョイ e7da-elOp)
2023/07/25(火) 17:03:52.28ID:vV5HZ24s0 >>658
>>655の>ここでsamples.aaaなどを参照する処理
の”など”というのは、もしかしたらbbbかもしれないしcccかもしれないし
mainの引数を受け取って条件分岐したりgetattrしたりするかもしれない
ということです
つまりhoge.mainをもう少し汎用的に書くとすれば
hoge内でsamplesから使う機能を把握しておき、例えば
from samples import aaa,bbb,ccc,ddd
など使う可能性のある機能だけを事前に宣言しておいて
def main(sample_type):
のように条件分岐する設計がベストということでしょうか
たしかにこれならmainと同じ場所にutilを書いても論理性が担保されるなと思いました。
デメリットは、samples側でsamples_typeに渡す引数に変更があった場合
import aaa,bbb,ccc,ddd の行 と hoge.mainの条件分岐内のコードも修正しなければならない
ということくらいでしょうか
>>655の>ここでsamples.aaaなどを参照する処理
の”など”というのは、もしかしたらbbbかもしれないしcccかもしれないし
mainの引数を受け取って条件分岐したりgetattrしたりするかもしれない
ということです
つまりhoge.mainをもう少し汎用的に書くとすれば
hoge内でsamplesから使う機能を把握しておき、例えば
from samples import aaa,bbb,ccc,ddd
など使う可能性のある機能だけを事前に宣言しておいて
def main(sample_type):
のように条件分岐する設計がベストということでしょうか
たしかにこれならmainと同じ場所にutilを書いても論理性が担保されるなと思いました。
デメリットは、samples側でsamples_typeに渡す引数に変更があった場合
import aaa,bbb,ccc,ddd の行 と hoge.mainの条件分岐内のコードも修正しなければならない
ということくらいでしょうか
660デフォルトの名無しさん (ワッチョイ 7fcf-WOXz)
2023/07/25(火) 17:18:07.90ID:igfKK3yD0 というかsamplesでfrom .hoge import utilしていると
hoge.pyの中で部分的に from samples import しても循環エラー出ますね。 >>658
やはり、使わない機能は隔離して一方向でimportする
というのがベストなのかもしれない
hoge.pyの中で部分的に from samples import しても循環エラー出ますね。 >>658
やはり、使わない機能は隔離して一方向でimportする
というのがベストなのかもしれない
661565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 19:50:56.15ID:UAjCsPDR0 何でそういう構成なのかよくわからんからあれだけど、そのままでいくならhoge.pyのmainを__int__.pyに移すとかじゃない
662デフォルトの名無しさん (アウアウウー Sa2b-X5BL)
2023/07/25(火) 21:22:26.38ID:VfuQkNGra >何でそういう構成
構成にしているというか、現状はしてません
samples.pyとhoge.pyでお互いの機能をimportし合うケースってあるよね
というのが前提にあって、かつ
「hoge.mainとhoge.utilは機能的に関連性が高いので同じpyファイルにまとめる」
と循環が起きる
対策は
(1)importの場所を変える
(2)pyファイルを分ける
(3)__init__.pyでやる
で、今は(2)hoge.mainとhoge.utilをhoge.pyとhoge_util.pyに分けてます
>hoge.pyのmainを__int__.pyに移す
というのがいまいちわかりませんが
とりあえず__init__.pyで処理したのは
https://pastebin.com/DctEgQwC
これですが、やはり循環エラーが出ます
やり方があっているのかはわかりません。
構成にしているというか、現状はしてません
samples.pyとhoge.pyでお互いの機能をimportし合うケースってあるよね
というのが前提にあって、かつ
「hoge.mainとhoge.utilは機能的に関連性が高いので同じpyファイルにまとめる」
と循環が起きる
対策は
(1)importの場所を変える
(2)pyファイルを分ける
(3)__init__.pyでやる
で、今は(2)hoge.mainとhoge.utilをhoge.pyとhoge_util.pyに分けてます
>hoge.pyのmainを__int__.pyに移す
というのがいまいちわかりませんが
とりあえず__init__.pyで処理したのは
https://pastebin.com/DctEgQwC
これですが、やはり循環エラーが出ます
やり方があっているのかはわかりません。
663565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:02:11.25ID:UAjCsPDR0664565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:10:25.73ID:UAjCsPDR0 .hogeの"."みたいな使い方初めて知った
665565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:13:45.51ID:UAjCsPDR0 実行結果わすれた
https://pastebin.com/TMhJtUVi
https://pastebin.com/TMhJtUVi
666デフォルトの名無しさん (ワッチョイ 275f-OZEF)
2023/07/25(火) 22:22:23.99ID:6HC3TGbL0 >>663-665
ありがとうございます
>mainを__int__.pyに移す
って文字通りだったんですね・・w
ただ、これってhoge_util.pyとhoge.pyに分ける
と何が違うんでしょうか??
hoge.mainという関数名はあくまで最小構成のための仮の命名なので
__init__.py内に書くのは雰囲気的には合ってますが
もっと具体的な機能名だった場合に
hogeモジュールとほぼ関係が断ち切られるので困るような
ちなみにhoge_util.py hoge.pyにあえて分けたやつです
https://pastebin.com/SkAM1JhB
ありがとうございます
>mainを__int__.pyに移す
って文字通りだったんですね・・w
ただ、これってhoge_util.pyとhoge.pyに分ける
と何が違うんでしょうか??
hoge.mainという関数名はあくまで最小構成のための仮の命名なので
__init__.py内に書くのは雰囲気的には合ってますが
もっと具体的な機能名だった場合に
hogeモジュールとほぼ関係が断ち切られるので困るような
ちなみにhoge_util.py hoge.pyにあえて分けたやつです
https://pastebin.com/SkAM1JhB
667565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:22:28.79ID:UAjCsPDR0668デフォルトの名無しさん (ワッチョイ 7fbb-IQbN)
2023/07/25(火) 22:54:39.51ID:kbsi1DjE0 __init__.pyってディレクトリ名を名前空間として
他のクラスを使う特殊なモジュールだという認識
言い換えればディレクトリ名というクラスのコンストラクタであり
ディレクトリ内のモジュールは内部クラスである
他のクラスを使う特殊なモジュールだという認識
言い換えればディレクトリ名というクラスのコンストラクタであり
ディレクトリ内のモジュールは内部クラスである
669デフォルトの名無しさん (ワッチョイ dfad-IOyT)
2023/07/25(火) 22:55:19.84ID:P8udYAxA0 util分けずに>>662の(1)のimportのスコープを替えて回避する、もついでに
https://pastebin.com/NsXLF3T2
やはりimportは自作モジュールか否かに関わらず
基本は一番上のスコープでimportするようにして
そのimportしたモジュールの機能を使っていないものは
素直に隔離して小分け、という規則に従った方がいいっぽいですね
まだ何か弊害ありそうな気はするものの
https://pastebin.com/NsXLF3T2
やはりimportは自作モジュールか否かに関わらず
基本は一番上のスコープでimportするようにして
そのimportしたモジュールの機能を使っていないものは
素直に隔離して小分け、という規則に従った方がいいっぽいですね
まだ何か弊害ありそうな気はするものの
670デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
2023/07/26(水) 09:31:51.47ID:udWNOLwT0 matplotlib.pyplot.show()すると一々ウィンドウができてスクリプトが止まるけど、そうならないでほしい
block=Falseにすると止まらないが図が一瞬で消える
show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながらスクリプトは続行する方法ありますか
block=Falseにすると止まらないが図が一瞬で消える
show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながらスクリプトは続行する方法ありますか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 【紅白】back number 白組で3年ぶり2回目の出場へ 「幅広い世代から支持」複数曲を披露する見込み [ひかり★]
- 【朗報】VTuber、とうとうスパロボに参戦する
- 毎日菊花茶飲んでたら美肌になったよ
- 粗品「南原が3億も貰えんの?」 [279254606]
- 朝雑談
- 🏡ダブパン本仕込み~🍞🍞😅🍞🍞🏡
- お店に入る時にケツ先入店してる
