By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,846 Members | 1,862 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,846 IT Pros & Developers. It's quick & easy.

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

P: n/a
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 :) )

Nov 21 '06 #1
Share this Question
Share on Google+
8 Replies


P: n/a
On 21 Nov 2006 15:10:25 -0800, flamesrock <fl********@gmail.comwrote:
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.
Nov 21 '06 #2

P: n/a
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

Nov 21 '06 #3

P: n/a
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
Nov 22 '06 #4

P: n/a
Gabriel Genellina <ga******@yahoo.com.arwrites:
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

Nov 22 '06 #5

P: n/a
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" <bi****************@benfinney.id.auwrote in message
news:ma**************************************@pyth on.org...
Gabriel Genellina <ga******@yahoo.com.arwrites:
>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

Nov 22 '06 #6

P: n/a
"flamesrock" <fl********@gmail.comwrote:

8<----------------------------------
.... since the statement itself
occurs at one time instant..
nothing, but nothing, can occur at one time instant....

- Hendrik

Nov 22 '06 #7

P: n/a
"Hendrik van Rooyen" <ma**@microcorp.co.zawrote:
>"flamesrock" <fl********@gmail.comwrote:

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, ti**@probo.com
Providenza & Boekelheide, Inc.
Nov 23 '06 #8

P: n/a
"Tim Roberts" <ti**@probo.comwrote:

"Hendrik van Rooyen" <ma**@microcorp.co.zawrote:
"flamesrock" <fl********@gmail.comwrote:

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
Nov 24 '06 #9

This discussion thread is closed

Replies have been disabled for this discussion.