2012-05-21 8 views
10
class class1(): 
    def setdata(self,value1, value2): 
    self.data = value1+value2 
def display(self): 
    print(self.data) 

Para el código anterior, cuando lo uso. Requerirá exactamente dos argumentos.Defina una clase con argumento opcional en Python

>>>a = class1() 
>>>a.setdata('123','456') 

Pero lo que si quiero establecer un default value para value2, por ejemplo, los grupos de su (value2) valor por defecto es '000'.

La próxima vez cuando se utiliza la clase, me puede escribir

>>>a = class1() 
>>>a.setdata('123') 

a.data habrá '123000'

O puedo escribir

>>>a = class1() 
>>>a.setdata('123','654') 

a.data será '123654'

Ho w para lograr esto? ¡Muchas gracias!

Respuesta

12

Prueba este favor:

def setdata(self, value1, value2 = '000'): 
    Your code here 
3
class class1:  
    def setdata(self,value1, value2=456): 
     self.data = value1+value2 
    def display(self): 
     print(self.data) 

puede ser esto resuelve su problema

6

Intenta definir un default argument, como tal.

class class1(): 
    def setdata(self,value1, value2='000'): 
     ... 
+3

Usted debe tratar de vincular a una versión más reciente de la documentación de Python. Python 1.x es un fósil histórico en estos días. –

+0

Para obtener una explicación que incluya el punto donde la mayoría de las personas se tropieza: http://www.network-theory.co.uk/docs/pytut/DefaultArgumentValues.html – XORcist

+0

@ Li-aungYip Excelente punto, voy a actualizar el enlace. Estaba publicando desde mi teléfono, por lo que mis requisitos pueden haber sido laxos. :) – cheeken

Cuestiones relacionadas