M
Matthew Wilson
Here's the code that I'm feeding to pylint:
$ cat f.py
from datetime import datetime
def f(c="today"):
if c == "today":
c = datetime.today()
return c.date()
And here's what pylint says:
$ pylint -e f.py
No config file found, using default configuration
************* Module f
E: 10:f: Instance of 'str' has no 'date' member (but some types could
not be inferred)
Is this a valid error message? Is the code above bad? If so, what is
the right way?
I changed from using a string as the default to None, and then pylint
didn't mind:
$ cat f.py
from datetime import datetime
def f(c=None):
if c is None:
c = datetime.today()
return c.date()
$ pylint -e f.py
No config file found, using default configuration
I don't see any difference between using a string vs None. Both are
immutable. I find the string much more informative, since I can write
out what I want.
Looking for comments.
Matt
$ cat f.py
from datetime import datetime
def f(c="today"):
if c == "today":
c = datetime.today()
return c.date()
And here's what pylint says:
$ pylint -e f.py
No config file found, using default configuration
************* Module f
E: 10:f: Instance of 'str' has no 'date' member (but some types could
not be inferred)
Is this a valid error message? Is the code above bad? If so, what is
the right way?
I changed from using a string as the default to None, and then pylint
didn't mind:
$ cat f.py
from datetime import datetime
def f(c=None):
if c is None:
c = datetime.today()
return c.date()
$ pylint -e f.py
No config file found, using default configuration
I don't see any difference between using a string vs None. Both are
immutable. I find the string much more informative, since I can write
out what I want.
Looking for comments.
Matt