Variable as statement in python?
<p>I was reading some python code and come across this. Since I mostly write C and Java (And variable as statement doesn't even compile in these language) I'm not sure what it is about in python.</p>

<p>What does <code>self.current</code>, the "variable as statement", means here? Is it just some way to print the variable out, or this is a special grammar thing / practice in dealing with exceptions in python?</p>

<pre><code>class PriorityQueue():

    def __init__(self):
        self.queue = []
        self.current = 0   

    def next(self):
        if self.current &gt;=len(self.queue):
            self.current
            raise StopIteration

        out = self.queue[self.current]
        self.current += 1

        return out
</code></pre>

<p>It really doesn't do anything, the only way it can do anything in particular, as @Daniel said in the comments, is if <code>self.current</code> refers to a <a href="https://docs.python.org/2/library/functions.html#property" rel="nofollow">property method</a>. Something like the following:</p>

<pre><code>class X():
    @property
    def current(self):
        mail_admins()
        return whatever

    def next(self):
        ...
</code></pre>

<p>This way, calling <code>self.current</code>, would actually do something.</p>

<p>But anyways its definitely not considered good practice since a property is just that, a property, if it's supposed to do something, it should be method.</p>

python