Re: how can I solve this problem simply and clearly

2018-11-09 Thread Karsten Hilbert
On Fri, Nov 09, 2018 at 09:45:50AM +0800, lampahome wrote:

> def __Init__():

There's a typo right there.

Karsten
-- 
GPG  40BE 5B0E C98E 1713 AFA6  5BC0 3BEA AC80 7D4F C89B
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: how can I solve this problem simply and clearly

2018-11-08 Thread dieter
lampahome  writes:
> I have two categories A,B, and A has 2 items A1,A2, and B have 2 items B1,
> B2.
>
> I have two class A and B, and A will handle A1,A2, B handle B1,B2.
>
> I want to parse one of A1,A2,B1,B2 to script and generate the corresponding
> class(object).
>
> Ex: Both in class A and B, all have func1(), func2().
> What I thought to design is below:
> -
> ...
> def get_class(obj):
> if obj == 'A1' or obj == 'A2':
> return A(obj)
>  else:
> return B(obj)
>
> # A = get_class(A1)

Try `A = get_class('A1')` (instead of `A = get_class(A1)`).

In Python, you must carefully distinquish between a name (such as
`A1`) and a string (such as `'A1'`). A name is used to refer
to something, previously "bound" to the name (e.g. via an assignment).
If you use a name not yet bound (like in your `get_class(A1)`),
you will get a `NameError`.

-- 
https://mail.python.org/mailman/listinfo/python-list


how can I solve this problem simply and clearly

2018-11-08 Thread lampahome
I have two categories A,B, and A has 2 items A1,A2, and B have 2 items B1,
B2.

I have two class A and B, and A will handle A1,A2, B handle B1,B2.

I want to parse one of A1,A2,B1,B2 to script and generate the corresponding
class(object).

Ex: Both in class A and B, all have func1(), func2().
What I thought to design is below:
-
class Data(object):
def __Init__():
...
 def func1(self):
pass

def func2(self):
 pass

class A(Data):
def __Init__():
...
 def func1(self):
A_do()

def func2(self):
 A_does()

class B(Data):
def __Init__():
...
 def func1(self):
B_do()

def func2(self):
 B_does()

def get_class(obj):
if obj == 'A1' or obj == 'A2':
return A(obj)
 else:
return B(obj)

# A = get_class(A1)
# B = get_class(B2)

-

The function *get_class() *is the question that can I solve this problem
clearly? or other else code snippets ?

thx
-- 
https://mail.python.org/mailman/listinfo/python-list