Extracting values from text file

Mirco Wahab wahab at chemie.uni-halle.de
Sun Jun 18 11:46:43 EDT 2006


Thus spoke Preben Randhol (on 2006-06-18 13:34):
> On Sun, 18 Jun 2006 10:54:01 +0200
> Mirco Wahab <wahab at chemie.uni-halle.de> wrote:
>> - no DWIM-ism (do what I mean) on 'value' addition
> 
> But you don't add two values. you add two strings. If you 
> want numbers you must convert the strings. 

Why? At least - if its obvious, what I want.

> Yes, but how can Python know that you want to add to 
> numbers and not concate two strings? 

The programming language should make some
rules regarding its operators and their
meaning.

Compare:

#      want to add NUMBERS ('1' + '1.1111'/1.1111 = 2.1111)
#
#      in python                         in perl
#
a1  = int( '1' )                       $a1  = '1';
a1 += float( '1.1111' )                $a1 += '1.1111';
print a1                               print $a1;

a2  = int( '1' )                       $a2  = '1';
a2 += 1.1111                           $a2 += 1.1111;
print a2                               print $a2;

#      want to add strings ('1' . '1.1111'/1.1111 = 11.1111)
#
b1  = '1'                              $b1  = '1';
b1 += '1.1111';                        $b1 .= '1.1111';
print b1                               print $b1;

b2  = '1'                              $b2  = '1';
b2 += str( 1.1111 )                    $b2 .= 1.1111;
print b2                               print $b2;


You see the picture? Pythons designer made the
same mistake as the Java/Javascript designer -
they use the _same_ operator (+) for number _addition_
and string _concatenation_, which is, imho, cumbersome.

If you have an operator with meaning "add numbers" (+)
and one for "add strings" (.), the language could then
do the obvious for you.

Why would one go from C/C++ to "dynamical typed"
things, if he has to be so explicit on easy
things?

Of course, you will get along with it, you
'learn' the corresponding 'python-phrases'
that do specific things, you get used to it.
But if you come, like me, from elsewhere,
there is sometimes something to rant on ;-)

I really try to get into it (Python), but
I'm, in such cases, more or less shocked -
and try express that , but I'm not interested
in 'language supremacy' discussions and the like.

BTW.: what exactly did you try to solve?
What would be a 'complete example' where
the parser has to chew on?

Regards

Mirco



More information about the Python-list mailing list