[過去ログ] 【まず1嫁】くだすれPython(超初心者用) その53 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
968
(1): デフォルトの名無しさん [sage] 2021/06/08(火) 21:36:16.68 AAS
クラス変数を変更しようとしたときエラーを吐かせたいんですけど
どうするのがいいでしょうか

現状、
class A:
_# 変更しないでください
_TEST = 100
a = A()
みたいにしています。

できれば、self.TEST=、a.TEST=、A.TEST=
それぞれで変更しようとするとエラーを吐かせられたらなと。
前半2つはセッターでできましたが、結局A.TESTで変更できてしまうし
そもそもクラス変数を変更”してしまうミス”にそこまで注視しないといけないのかな?とも思い
変更しないよう注意喚起・自粛するだけに留めておくのがいいのかどうか迷っています
969
(1): デフォルトの名無しさん [sage] 2021/06/08(火) 22:00:39.38 ID:A0D+JkMn(1) AAS
>>968
一番手っ取り早いのはメンバ変数の頭に__(アンダースコアを2つ付けて)
プライベート変数扱いにする
詳しい書き方とかはググると出てくるけど、この辺かな
ぶっちゃけ『注意喚起する』っていうのは大体地雷化するから、正当な方法で実装した方が良い

https://docs.python.org/ja/3/tutorial/classes.html#private-variables
https://www.headboost.jp/python-property/
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s