[解決済み] Pythonで文字列変数を初期化する。""かNoneか?
2023-04-06 06:21:03
質問
例えば 文字列 インスタンス属性があるとします。 この属性は ""。 の値で初期化すべきか なし ? どちらでも良いのでしょうか?
def __init__(self, mystr="")
self.mystr = mystr
または
def __init__(self, mystr=None)
self.mystr = mystr
編集 : 私が思ったのは、もし私が を使えばいいんだ。 を初期値として使用すると、" を宣言します。 である変数を宣言します。 文字列 という型を指定します。そして、後で他の型を代入することができなくなります。そうでしょうか?
Edit : ここで重要なのは、私の提案は間違っていた、ということです。そして、変数に別の型を割り当てることは問題ではありません。私は S.Lott : " Pythonでは何も"宣言されないので、あなたはこのことについて正しい方法で考えていません。 "。
どのように解決するのか?
値を持たないことがプログラムの中で意味を持つ場合(例:オプションの値)、Noneを使うべきです。いずれにせよ、それが目的です。
もし値が__init__の呼び出し元によって提供されなければならないのであれば、初期化しないことをお勧めします。
""がデフォルト値として意味を持つのであれば、それを使う。
Pythonでは、型は使用法から推測されます。したがって、別の型の値を代入するだけで型を変更することができます。
>>> x = None
>>> print type(x)
<type 'NoneType'>
>>> x = "text"
>>> print type(x)
<type 'str'>
>>> x = 42
>>> print type(x)
<type 'int'>
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] Python Empty Generator 関数
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] 新しいpip backtrackingの実行時問題の解決
-
[解決済み] pipの依存性/必要条件をリストアップする方法はありますか?