2016-09-08 30 views
0

割り当てのために、ディレクトリとファイルを作成できるプログラムを書く必要があります。そのためにDirectoryEntryクラスを作成しなければなりません。また、その一部については、ファイルやディレクトリの名前を作成する必要があります。名前が入力された場合は名前を使用しますが、名前が入力されていない場合は9個のスペースしか使用しません。Python3でどのように変数のデフォルト値を設定しますか?

__init__メソッドを使用してこれを行う方法がわかりません。Python3では、複数のコンストラクタメソッドを持つことができないためです。

今それだけで次のようになります。そして、あなたはmy_object()と、そのクラスのオブジェクトを作成することができますし、それがデフォルト値を使用します

def __init__(self, name='your_default_name'): 

、または:

あなたが使用することができます
def __init__(self, name): 
    self.type = "f:" 
    self.name = name 
    self.length = "0000" 
    self.colon = ":" 
    self.blocks = ["000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000"]`  
+0

変更可能なオブジェクトでない場合は、デフォルトのパラメータを使用できます。例: 'def __init __(self、name = ''):'。しかし、9スペースは分かりやすいファイル名ですか? – cdarke

答えて

3

my_object('its_name')を使用し、入力値を使用します。

+0

ヒープありがとうございました:) –

0

デフォルトの引数を使用することができます。

def __init__(self, name='   '): 
1

示すように、9つのスペース

def __init__(self, name='  '): 
     self.type = "f:" 
     self.name = name 
     self.length = "0000" 
     self.colon = ":" 
     self.blocks = ["000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000", "000"] 

More information

1

は、デフォルトの変数として指定して使用するデフォルトのためので、ちょうど、このようにそれを設定します以下

def __init__(self, name=' '*9): 
    self.type = "f:" 
    self.name = name 
    self.length = "0000" 
    self.colon = ":" 
    self.blocks = ["000", "000", "000", "000", "000", "000", "000","000","000","000", "000", "000"] 
+0

'self.blocks = [" 000 "] * 12'も短縮できます。 – Duncan

関連する問題