Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #101503

Re: I'm missing something here...

From Terry Reedy <tjreedy@udel.edu>
Newsgroups comp.lang.python
Subject Re: I'm missing something here...
Date 2016-01-11 19:36 -0500
Message-ID <mailman.31.1452559005.13488.python-list@python.org> (permalink)
References <CANc-5Uw6M7p9bLXhpET=6wdQz=vA-veDps_L-Q98utzYcs9+sg@mail.gmail.com>

Show all headers | View raw


On 1/11/2016 6:26 PM, Skip Montanaro wrote:
> Here's a dumb little bit of code, adapted from a slightly larger script:
>
> #!/usr/bin/env python
>
> "dummy"
>
> import glob
> import os
>
> def compare_prices(*_args):
>      "dummy"
>      return set()
>
> def find_problems(cx1, cx2, cx3, prob_dates):
>      "dummy"
>      for fff in sorted(glob.glob("/path/to/*.nrm")):
>          sym = os.path.splitext(os.path.basename(fff))[0]
>          prob_dates |= compare_prices("E:%s"%sym, cx1, cx2, cx3)
>
> When I run pylint against it, it complains:
>
> junk.py:10: [W0613(unused-argument), find_problems] Unused argument 'prob_dates'
>
> I must be misunderstanding something about the |= operator as applied
> to sets. If I read the docs correctly, s1 |= s2 is equivalent to
> s1.update(s2). A dumb "test" at the prompt suggests that's true:
>
>>>> s1 = set("abc")
>>>> s2 = set("cde")
>>>> s1 | s2
> set(['a', 'c', 'b', 'e', 'd'])
>>>> s1 |= s2
>>>> s1
> set(['a', 'c', 'b', 'e', 'd'])
>>>> s1 = set("abc")
>>>> s1.update(s2)
>>>> s1
> set(['a', 'c', 'b', 'e', 'd'])
>
> If I change the last line of find_problems to call
> prob_dates.update(), the message disappears. Why is pylint (1.4.2 BTW)
> complaining that the prob_dates argument of find_problems is unused
> when I use the |= operator?

A bug in pylint. It should treat both cases the same.


-- 
Terry Jan Reedy

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: I'm missing something here... Terry Reedy <tjreedy@udel.edu> - 2016-01-11 19:36 -0500

csiph-web