why sqrt is not a built-in function?

Chris Angelico rosuav at gmail.com
Thu Jan 14 14:13:53 EST 2021


On Fri, Jan 15, 2021 at 6:11 AM Eli the Bearded <*@eli.users.panix.com> wrote:
>
> In comp.lang.python, Skip Montanaro  <skip.montanaro at gmail.com> wrote:
> > Finally, should have never considered it, I think you might want to
> > study the output of
> >
> > import this
> >
> > Think on the second and last lines in particular.
>
>    >>> import this
>    The Zen of Python, by Tim Peters
>
>    Beautiful is better than ugly.
>    Explicit is better than implicit.
>    Simple is better than complex.
>    Complex is better than complicated.
>    Flat is better than nested.
>    Sparse is better than dense.
>    Readability counts.
>    Special cases aren't special enough to break the rules.
>    Although practicality beats purity.
>    Errors should never pass silently.
>    Unless explicitly silenced.
>    In the face of ambiguity, refuse the temptation to guess.
>    There should be one-- and preferably only one --obvious way to do it.
>    Although that way may not be obvious at first unless you're Dutch.
>    Now is better than never.
>    Although never is often better than *right* now.
>    If the implementation is hard to explain, it's a bad idea.
>    If the implementation is easy to explain, it may be a good idea.
>    Namespaces are one honking great idea -- let's do more of those!
>    >>>
>
> "There should be one-- and preferably only one --obvious way to do it."
>
> Meanwhile, Alan Gauld pointed out:
>
>   AG> because pow() is a builtin function and
>   AG> root = pow(x,0.5)
>   AG> is the same as
>   AG> root = math.sqrt(x)

They're not the same. The math module is the one obvious way to do
things that specifically involve floating point numbers and nothing
else.

ChrisA


More information about the Python-list mailing list