f



Is time.time() < time.time() always true?

So, I was blazin' some mad chronix, as they say, and got on to thinking
about Python.

The question was, is the statement:

time.time() < time.time()

always true? Seems it should be false, since the statement itself
occurs at one time instant.. but of course we know that python doesn't
execute code that way.. So my question is, why doesn't Python work this
way?


(PS, I wasn't smoking anything, its a figure of speech :) )

0
flamesrock (77)
11/21/2006 11:10:25 PM
comp.lang.python 77058 articles. 6 followers. Post Follow

8 Replies
1394 Views

Similar Articles

[PageSpeed] 9

On 21 Nov 2006 15:10:25 -0800, flamesrock <flamesrock@gmail.com> wrote:
> So, I was blazin' some mad chronix, as they say, and got on to thinking
> about Python.
>
> The question was, is the statement:
>
> time.time() < time.time()
>
> always true? Seems it should be false, since the statement itself
> occurs at one time instant.. but of course we know that python doesn't
> execute code that way.. So my question is, why doesn't Python work this
> way?
>

This would only be false if the time between the 2 calls was less than
the precision of the OS call that time.time uses.
0
arkanes (548)
11/21/2006 11:25:44 PM
flamesrock wrote:

> always true? Seems it should be false, since the statement itself
> occurs at one time instant.. but of course we know that python
> doesn't execute code that way..

C++ also wouldn't. How could multiple object instantiations be
atomic?

Regards,


Bj�rn

-- 
BOFH excuse #42:

spaghetti cable cause packet failure

0
11/21/2006 11:40:22 PM
At Tuesday 21/11/2006 20:10, flamesrock wrote:

>The question was, is the statement:
>
>time.time() < time.time()
>
>always true? Seems it should be false, since the statement itself
>occurs at one time instant.. but of course we know that python doesn't
>execute code that way.. So my question is, why doesn't Python work this
>way?

The only thing Python can guarantee, is that the left expression is 
evaluated before the right one (5.13 Evaluation order, Language Reference).

Then, whether the first call yields a result always less (or equal) 
to the second, is out of Python scope (and control).
(They might be equal if both calls get the same quantum of time; they 
might be reversed if some other process sets the time in the past).


-- 
Gabriel Genellina
Softlab SRL 

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam �gratis! 
�Abr� tu cuenta ya! - http://correo.yahoo.com.ar
0
gagsl-py (880)
11/22/2006 12:41:07 AM
Gabriel Genellina <gagsl-py@yahoo.com.ar> writes:

> The only thing Python can guarantee, is that the left expression is
> evaluated before the right one (5.13 Evaluation order, Language
> Reference).

Thanks, that answers my question asked elsewhere.

-- 
 \          "One thing vampire children have to be taught early on is, |
  `\                   don't run with a wooden stake."  -- Jack Handey |
_o__)                                                                  |
Ben Finney

0
hates-spam (1449)
11/22/2006 1:31:14 AM
Hi all:

From my experience with os's.
Time is updated at intervals- they may be as low as 1mS See . So for that 
millisecond multiple readings of the time will always return the same 
result. Therefore time.time() < time.time() will be false for most readings.

However the result could be true if you catch the exact time when the os 
updates its clock. It will only be True for a single execution of the line 
and you will have to be lucky to catch it at just the right time.

Of course if you hard loop over the interval its possible to see the 
transition.

for x in xrange (10000):
    t = time.time()
    if t < time.time:
        print "transition at ",  t

Enjoy.
Andy

"Ben Finney" <bignose+hates-spam@benfinney.id.au> wrote in message 
news:mailman.568.1164159352.32031.python-list@python.org...
> Gabriel Genellina <gagsl-py@yahoo.com.ar> writes:
>
>> The only thing Python can guarantee, is that the left expression is
>> evaluated before the right one (5.13 Evaluation order, Language
>> Reference).
>
> Thanks, that answers my question asked elsewhere.
>
> -- 
> \          "One thing vampire children have to be taught early on is, |
>  `\                   don't run with a wooden stake."  -- Jack Handey |
> _o__)                                                                  |
> Ben Finney
> 


0
11/22/2006 3:26:04 AM
"flamesrock" <flamesrock@gmail.com> wrote:

8<----------------------------------

> .... since the statement itself
> occurs at one time instant..

nothing, but nothing, can occur at one time instant....

- Hendrik

0
mail256 (813)
11/22/2006 6:56:48 AM
"Hendrik van Rooyen" <mail@microcorp.co.za> wrote:

>"flamesrock" <flamesrock@gmail.com> wrote:
>
>8<----------------------------------
>
>> .... since the statement itself
>> occurs at one time instant..
>
>nothing, but nothing, can occur at one time instant....

Well, as long as we're being pedantic, surely that should read "only one
thing can occur at any time instant..."
-- 
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
0
timr (1409)
11/23/2006 9:42:19 PM
"Tim Roberts" <timr@probo.com> wrote:


> "Hendrik van Rooyen" <mail@microcorp.co.za> wrote:
> 
> >"flamesrock" <flamesrock@gmail.com> wrote:
> >
> >8<----------------------------------
> >
> >> .... since the statement itself
> >> occurs at one time instant..
> >
> >nothing, but nothing, can occur at one time instant....
> 
> Well, as long as we're being pedantic, surely that should read "only one
> thing can occur at any time instant..."

No its worse than that - what I mean is that everything takes finite time...

:-)  Hendrik


0
mail256 (813)
11/24/2006 6:51:32 AM
Reply: