Why does not Python accept functions with no names?

Christian Gollwitzer auriocus at gmx.de
Sun Feb 20 13:57:49 EST 2022


Am 20.02.22 um 16:48 schrieb Python:
> Abdur-Rahmaan Janhangeer wrote:
>> Greetings list.
>>>> Out of curiosity, why doesn't Python accept
>> def ():
>>      return '---'
>>>> ()
>>>> Where the function name is ''?
>> For the same reason an empty sequence of characters cannot
> be a variable name. Do you know any language (or formal
> theory) that allows that?

Tcl allows that:
Main console display active (Tcl8.6.9 / Tk8.6.9)
(CDEF) 49 % set "" Hallo
Hallo
(CDEF) 50 % puts ${}
Hallo
(CDEF) 51 % proc "" {} { puts "I'm empty" }
(CDEF) 52 % ""
I'm empty
(CDEF) 53 %
Any string can be a variable or command name, only :: is special as a 
namespace separator.
This only works because of the sparse syntax; to retrieve a variable's 
content, $ is used. For "strange" names quoting is required, therefore I 
had to use "" in the example.
It's a different matter how useful this actually is. One of the object 
systems in Tcl uses the empty variable to represent "self" as an array, 
so that you can write $(prop) for self.prop as it is in Python.
	Christian


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /