Deutsch English Français Italiano |
<mailman.179.1719687158.2909.python-list@python.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.karotte.org!fu-berlin.de!uni-berlin.de!not-for-mail From: Ulrich Goebel <ml@fam-goebel.de> Newsgroups: comp.lang.python Subject: Difference method vs attribut = function Date: Fri, 28 Jun 2024 18:08:54 +0200 Lines: 37 Message-ID: <mailman.179.1719687158.2909.python-list@python.org> References: <20240628180854.7ee713db744e9672ad668f36@fam-goebel.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de KfBiub0UxuE3mmIN1g69DwbEZ6CbxE28NBrdXUXBNKog== Cancel-Lock: sha1:TXQG0U6W15PS/az1nUTtDrSb9ro= sha256:xjonGW1dn53oGewfQ2Hu5TCjHoTRTvOBk79xkzNjcyQ= Return-Path: <ml@fam-goebel.de> X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org Authentication-Results: mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral X-Spam-Status: OK 0.036 X-Spam-Evidence: '*H*': 0.93; '*S*': 0.00; 'def': 0.04; 'instances': 0.09; 'methods,': 0.09; 'question:': 0.09; 'received:78': 0.09; 'attributes,': 0.16; 'hints': 0.16; 'received:136.243': 0.16; 'received:78.46': 0.16; 'received:your-server.de': 0.16; 'subject: = ': 0.16; 'to:addr:python-list': 0.20; 'skip:_ 10': 0.22; 'code': 0.23; 'received:de': 0.23; 'function': 0.27; 'context': 0.32; 'course.': 0.32; 'do.': 0.32; 'received:136': 0.32; 'but': 0.32; 'there': 0.33; 'hold': 0.33; 'functions': 0.36; 'class': 0.37; 'thanks': 0.38; 'both': 0.40; 'want': 0.40; 'should': 0.40; 'method': 0.61; 'skip:m 20': 0.63; 'pass': 0.64; 'well': 0.65; 'shows': 0.67; 'per': 0.68; 'subject:method': 0.69; 'database': 0.80; 'attribute': 0.84; 'method,': 0.84 X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) X-Authenticated-Sender: ml@fam-goebel.de X-Virus-Scanned: Clear (ClamAV 0.103.10/27320/Fri Jun 28 10:37:18 2024) X-Mailman-Approved-At: Sat, 29 Jun 2024 14:52:38 -0400 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: General discussion list for the Python programming language <python-list.python.org> List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> List-Archive: <https://mail.python.org/pipermail/python-list/> List-Post: <mailto:python-list@python.org> List-Help: <mailto:python-list-request@python.org?subject=help> List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> X-Mailman-Original-Message-ID: <20240628180854.7ee713db744e9672ad668f36@fam-goebel.de> Bytes: 3833 Hi, a class can have methods, and it can have attributes, which can hold a function. Both is well known, of course. My question: Is there any difference? The code snipped shows that both do what they should do. But __dict__ includes just the method, while dir detects the method and the attribute holding a function. My be that is the only difference? class MyClass: def __init__(self): functionAttribute = None def method(self): print("I'm a method") def function(): print("I'm a function passed to an attribute") mc = MyClass() mc.functionAttribute = function mc.method() mc.functionAttribute() print('Dict: ', mc.__dict__) # shows functionAttribute but not method print('Dir: ', dir(mc)) # shows both functionAttribute and method By the way: in my usecase I want to pass different functions to different instances of MyClass. It is in the context of a database app where I build Getters for database data and pass one Getter per instance. Thanks for hints Ulrich -- Ulrich Goebel <ml@fam-goebel.de>