Path: csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail From: Dan Stromberg Newsgroups: comp.lang.python Subject: "from module import data; print(data)" vs "import module; print(module.data)" Date: Wed, 24 Feb 2016 17:07:33 -0800 Lines: 23 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de nFCnbEOBZz5f5vEXX2InxARIPuVfAng2DZpq7Zp+etMg== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.037 X-Spam-Evidence: '*H*': 0.93; '*S*': 0.00; 'python,': 0.02; 'imports': 0.09; 'subject:module': 0.09; 'warn': 0.09; 'whichever': 0.09; 'received:209.85.218': 0.10; 'latter,': 0.16; 'python;': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'subject:import': 0.16; 'to:name:python list': 0.16; 'tells': 0.18; 'latter': 0.22; 'seems': 0.23; 'import': 0.24; "i've": 0.25; 'compare': 0.27; 'message-id:@mail.gmail.com': 0.27; 'symbols': 0.29; "i'm": 0.30; 'code': 0.30; 'saves': 0.30; 'symbol': 0.33; 'thanks!': 0.34; 'received:google.com': 0.35; 'could': 0.35; 'clear': 0.35; 'but': 0.36; 'received:209.85': 0.36; 'to:addr:python-list': 0.36; 'two': 0.37; 'say': 0.37; 'doing': 0.38; 'received:209': 0.38; 'anything': 0.38; 'shared': 0.38; 'sure': 0.39; 'whatever': 0.39; 'does': 0.39; 'subject:from': 0.39; 'area': 0.39; 'to:addr:python.org': 0.40; 'where': 0.40; 'your': 0.60; 'more': 0.63; 'different': 0.63; 'believe': 0.66; 'else.': 0.66; 'subject': 0.70; 'prefers': 0.84; 'surface': 0.84; 'subject:; ': 0.91; 'from.': 0.93; 'increases': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=3aClx3qO3XOHuSjT+FWQAppnH3sBkETrYX0vI34q7MM=; b=p/IpdRecbLOVm+Ccpl6I2zm3u6dVXq8GNg271ARhaGjwq1GWua4Kgc0L83N8n4FXss m/quszFgmQw5fpmB91kiujFfaOE/uKmFvOyyp8rTuK9voh0UiqHDme4Zfbk65GwhVv4R phYKqSDEjL9nHBnzVRJGfGB8yzq+1pVc11WTM0LvK6UUppuV4SdsIUiM6r1OYAYbIybb JR0og0FbbppcI42FtroOKtXwxGjZSe2nEzFcvNR4TRF0/Fye3ydgsL06KHXL08YD30ZZ h2SATm7p+S4nsQYLxyX+Yt6JDA4TDPBWiND7T5FrYe6c04KnR73pG42JXVFq7WWGcp6l gKUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=3aClx3qO3XOHuSjT+FWQAppnH3sBkETrYX0vI34q7MM=; b=LC22DIPCBttXNyCL64xT7tmYGDQmkrKO71ktZPhmwR7Gsri/ziCuZj5SXt86X9ryg1 bCNxtLbGL9oemp2LqQPhzX8kAC2lECHFyAJPugF2ppabjg5HO7WHuBU1i60IcX8wx5tM hHKjbBIdV+d65vuP8r1l27mC+U6iFwSC+OWPVnpH8ydpUVC4FbdSq35LYXBw06yS/r51 N0wx1hEzdFP+aGUhmck7CG4Wrv1mdbMPSozkdf7XyBHstX4w8ykQ/+q0lruTc6yfR2uh D90FeFy6BBjdZKxZfpe+VzqgFBMPMFi3wFjfXGXC9N+KlHSTLpsRisnWLH9mWyvmikFu I3UQ== X-Gm-Message-State: AG10YORmwDAjxqk5vLPFw1478tS/zthSj22fOUGSrbYset6hQme/8fkDViqXBsndEiuJRM5PmxRxBQ2b6+Yhzg== X-Received: by 10.202.77.197 with SMTP id a188mr32460819oib.10.1456362453650; Wed, 24 Feb 2016 17:07:33 -0800 (PST) X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21rc2 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:103470 Could people please compare and contrast the two ways of doing imports in the Subject line? I've long favored the latter, but I'm working in a code base that prefers the former. Is it fair to say that the former increases the surface area of your shared (sometimes mutable) state? It's clear that the former saves keystrokes. I find the latter a little more clear, because you don't have to go look for where a symbol came from. Anything else? Thanks! PS: Haskell seems better at the former than Python; Haskell tells you if you import two identical symbols from two different places, when you try to use one of them - not at import time. I believe in Python, whichever symbol you import last, wins. Haskell does not warn you at import time, which is fine. Not sure about OCaml or whatever else.