3 ms·
I know the lack of multiline lambdas is a common criticism of Python, but I've never really understood it. Typing someFunc( _ => { // this is
by joshmaker 9y ago
I know the lack of multiline lambdas is a common criticism of Python, but I've never really understood it.
Typing
someFunc( _ => {
// this is
// a function
// with multiple lines
})
Is only one line shorter than
def foo ():
// this is
// a function
// with multiple lines
someFunc(foo)
There is a case to be made that the second version is more legible and that exposing the function foo makes unit testing it possible. I can understand why people might slightly prefer one or the other, but I honestly can't understand the intensity of opinion around this seemingly very minor syntactic difference.
I'm curious what you find verbose about Python classes as:
class FooBar():
text = "Hello World!"
def hello(self):
return self.text
feels fairly terse to me.
- mixmastamyk 9y agoThe problem with python class definition is the need to write instance vars 3x: def __init__(self, foo) self.foo = foo There is an attrs package and new proposal (https://github.com/ericvsmith/dataclasses/blob/master/pep-xxxx.rst https://github.com/ericvsmith/dataclasses/blob/master/pep-xx...) to remedy that.
- joshmaker 9y agoYeah, I guess I normally don't deal with enough properties like that for it to be a big deal in my workflow. When it's come up I've generally done something like: class Foo: bar = 42 def __init__(self, **kwargs): self.__dict__.update(**kwargs) But I agree that's not a super robust solution