Python #ifdef
Grant Edwards
invalid at invalid.invalid
Tue May 28 16:42:34 EDT 2013
On 2013-05-28, Carlos Nepomuceno <carlosnepomuceno at outlook.com> wrote:
> [...]
>> You're trying to make this a lot harder than it really is:
>>
>> if sys.version_info[0] == 3:
>> def original(n):
>> m = 0
>> for b in n.to_bytes(6, 'big'):
>> m = 256*m + b
>> return m
>> else:
>> def original(n):
>> <something else?>
>
> Haha! That's it!!!
>
> Just realized how funny this can be: ;)
Here's the important lesson from this thread:
Instead of asking "how do I write X in Python" where yoy've assumed X
is the solution to your problem, you're usually better off asking how
to solve the underlying problem in a Pythonic way.
IOW, instead of asking about a Python preprocessor (which you have
assumed is the solution to the problem because that's how you would do
it in C), ask about the actual problem (how to define a function
differently depending on Python version).
People on this list are very inventive and will expend a surprising
amount of time to figure out often too-clever ways to do X because you
asked how to do X -- even if doing X is a lousy way to solve your
actual problem...
When asking how do I solve a problem, it's OK to illustrate that
question with an example X of how you would solve it in C or Java or
Ruby or Perl or whatever, but remember
1) Not everybody here knows C or Java or Ruby or Perl or whatever,
and the person who _does_ know everyting there is to know about
solving some particular underlying problem isn't going to go
learn a new language so that they can understand your example and
figure out what you're trying to accomplish.
2) Programming languages differ. X may be the best way to solve the
problem in one language, but it might be an awful way to do it in
another language.
--
Grant Edwards grant.b.edwards Yow! I'm ANN LANDERS!!
at I can SHOPLIFT!!
gmail.com
More information about the Python-list
mailing list