I saw this code snippet:
sock.listen(20)
for _ in range(20):
newsock, client_addr = sock.accept()
print "Client connected:", client_addr
data[newsock] = ""
why use _ for this example? Is there any
optimization to be had using it?
I know that in the interpreter _ means the
last value calculated, but what does _ mean
inside source code?
Jul 18 '05
37 40496
Matteo Dell'Amico wrote: Peter Hansen wrote: Sounds to me like the two discussions are unrelated.
More or less so. It was only a discussion on the etimology of the underscore convention. :-)
In that case they would be related, but is this any more than
supposition on your part? Is the use of _ as a throw-away in
for loops, and perhaps even in the interpreter as "last result",
definitely descended from its wildcard usage in functional
languages (or, at least, Ocaml)?
-Peter
On Thu, 29 Jul 2004, Peter Hansen wrote: In that case they would be related, but is this any more than supposition on your part? Is the use of _ as a throw-away in for loops, and perhaps even in the interpreter as "last result", definitely descended from its wildcard usage in functional languages (or, at least, Ocaml)?
I'm pretty sure they're both descended from the use of _ as both a
throw-away and a wildcard in Prolog, as another poster pointed out.
For reference, Prolog was born in 1970, OCaml was born in 1996 (with roots
dating back to ML in 1983), and Python was born in 1991. (Data gleaned
from the Programming Language Genealogy Project at everything2.com .)
Christopher T King wrote: On Thu, 29 Jul 2004, Peter Hansen wrote:In that case they would be related, but is this any more than supposition on your part? Is the use of _ as a throw-away in for loops, and perhaps even in the interpreter as "last result", definitely descended from its wildcard usage in functional languages (or, at least, Ocaml)?
I'm pretty sure they're both descended from the use of _ as both a throw-away and a wildcard in Prolog, as another poster pointed out.
I'm just as unsure about any of that. It seems more likely to
me that a number of people have independently found _ to be a handy
"anonymous" variable in different situations, and that trying to find
links to analogous usage in other languages is largely speculative.
Of course, that said, we'll probably hear shortly from someone
channelling the person who added it to the interpreter as the
"last result" name, contra-dicting me. :-)
-Peter
Peter Hansen wrote: I'm just as unsure about any of that. It seems more likely to me that a number of people have independently found _ to be a handy "anonymous" variable in different situations, and that trying to find links to analogous usage in other languages is largely speculative.
It would surprise me if the three were unrelated... there are
similarities between prolog's unification, ML's pattern matching and
python's tuple unpacking (even if the latter is considerably simpler and
less powerful), and note that the specific meaning of _ - both in Prolog
and in ML-like languages - is "throw away": if I'm not mistaken, you can
always replace an underscore with a new unused variable.
Of course, that said, we'll probably hear shortly from someone channelling the person who added it to the interpreter as the "last result" name, contra-dicting me. :-)
I see this one as a totally unrelated meaning, similar to perl's $_. I'm
waiting to be contradicted, too. :-)
--
Ciao,
Matteo
In article <41************ ***@alcyone.com >, Erik Max Francis wrote: Note also there's a noticeable difference between the anonymous variable in Prolog and the use of _ in Python; in Prolog, the anonymous variable can be used multiple times in the same expression and there is no need for the variable to represent the same thing. In
middle(X) :- inOrder(_, X, _).
In Python, it's possible to use _ multiple times in the same expression,
too. I guess there's no obvious reason why this shouldn't work, but I
discovered the following tuple-unpacking idiom recently: for _, val, _ in ((1, 2, 3), (4, 5, 6), (7, 8, 9)):
.... print val
....
2
5
8
--
.:[ dave benjamin: ramen/[sp00] -:- spoomusic.com -:- ramenfest.com ]:.
"When the country is confused and in chaos, information scientists appear."
Librarian's Lao Tzu: http://www.geocities.com/onelibrarian.geo/lao_tzu.html
"Dave Benjamin" <ra***@lackingt alent.com> wrote in message
news:slrncgj6j3 .vte.ra***@lack ingtalent.com.. . In Python, it's possible to use _ multiple times in the same expression,
In Python, _ is a (non-keyword) name like any other. It can be used like
any other name. In interactive mode, it is the default name bound to bare
expressions, but it is still just a name.
too. I guess there's no obvious reason why this shouldn't work, but I discovered the following tuple-unpacking idiom recently:
for _, val, _ in ((1, 2, 3), (4, 5, 6), (7, 8, 9)): ... print val ... 2 5 8
So does for a,v,a in [[1,2,3], [4,5,6]]: print v
....
2
5
too much fuss over simplicity yours
Terry J. Reedy
Dave Benjamin <ra***@lackingt alent.com> writes: In Python, it's possible to use _ multiple times in the same expression,
There is, however, one objection to the use of _ as a placeholder for
a dummy variable: it is used by the gettext module. So if a program
may be subject to internationaliz ation, it is advisable to keep this
name reserved, or you may run into problems.
Heike> Dave Benjamin <ra***@lackingt alent.com> writes: In Python, it's possible to use _ multiple times in the same expression,
Heike> There is, however, one objection to the use of _ as a placeholder
Heike> for a dummy variable: it is used by the gettext module. So if a
Heike> program may be subject to internationaliz ation, it is advisable
Heike> to keep this name reserved, or you may run into problems.
Only if you use it as both a placeholder variable and call it as a function
within the same function, or have the misfortune to declare
global _
in some function where it's used as a placeholder in a module whose other
functions call _("some string").
Skip This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Steve Richter |
last post by:
What does the "." mean in the following sql script stmts?
use
GO
if exists (select * from dbo.sysobjects where
id = object_id(N'.')
and OBJECTPROPERTY(id,N'IsUserTable') = 1)
drop table .
GO
|
by: RobertTG |
last post by:
Someone please translate the code below into English...
Particularly the indicated line
Thanks
function attachComment()
{
var aForms = document.getElementsByTagName("FORM");
for (var i = 0; i < aForms.length; i++)
{
|
by: allenj |
last post by:
DB21085I Instance "md" uses "32" bits and DB2 code release "SQL08012"
with level identifier "02030106".
Informational tokens are "DB2 v8.1.0.16", "s030508", "MI00048", and
FixPak "2". Product is installed at "/opt/IBM/db2/V8.1".
Red Hat AS
--------------------------------
what does this error mean?
SQL Error Code -443, SQL State 38553, Routine "SYSIBM.SQLCOLUMNS"
|
by: Larry David |
last post by:
Ok, first of all, let's get the obvious stuff out of the way. I'm an idiot. So please indulge me for a moment. Consider it an act of "community service"....
What does "64bit" mean to your friendly neighborhood C# programmer? The standard answer I get from computer sales people is: "It means that the CPU can process 64 bits of data at a time instead of 32." Ok... I guess I *kind* of understand what that means at an intuitive level, but what...
|
by: Heinrich Pumpernickel |
last post by:
what does this warning mean ?
#include <stdio.h>
int main()
{
long l = 100;
printf("l is %li\n", l * 10L);
| |
by: loudking |
last post by:
Hello, all
I don't quite understand what does ((time_t)-1) mean when I execute
"man 2 time"
RETURN VALUE
On success, the value of time in seconds since the Epoch is
retu
rned.
On error, ((time_t)-1) is returned, and errno is set
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
| |
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |