On Sat, 9 Mar 2024 at 03:42, Grant Edwards via Python-list
wrote:
>
> On 2024-03-08, Chris Angelico via Python-list wrote:
> > On Sat, 9 Mar 2024 at 00:51, Grant Edwards via Python-list
> > wrote:
> >
> >> One might argue that "global" isn't a good choice for what to call the
> >> scope in questi
On 2024-03-08, Chris Angelico via Python-list wrote:
> On Sat, 9 Mar 2024 at 00:51, Grant Edwards via Python-list
> wrote:
>
>> One might argue that "global" isn't a good choice for what to call the
>> scope in question, since it's not global. It's limited to that source
>> file. It doesn't make s
On Sat, 9 Mar 2024 at 00:51, Grant Edwards via Python-list
wrote:
> One might argue that "global" isn't a good choice for what to call the
> scope in question, since it's not global. It's limited to that source
> file. It doesn't make sense to me to call a binding "global", when
> there can be mul
On 2024-03-07, Cameron Simpson via Python-list wrote:
> Yes. Note that the "global" namespace is the module in which the
> function is defined.
One might argue that "global" isn't a good choice for what to call the
scope in question, since it's not global. It's limited to that source
file. It d
On 06Mar2024 15:12, Jacob Kruger wrote:
So, this does not make sense to me in terms of the following snippet
from the official python docs page:
https://docs.python.org/3/faq/programming.html
"In Python, variables that are only referenced inside a function are
implicitly global. If a variable
Thanks again, all.
I think the python -i scoping2.py would have given me a good beginning
as well - will archive that one for use.
And, to maybe explain how I work - not an excuse at all - but, I am
actually 100% blind, so a lot of the IDE's, or their common
means/methods of interaction do
On 2024-03-07, dn via Python-list wrote:
> The idea of importing a module into the REPL and then (repeatedly)
> manually entering the code to set-up and execute is unusual (surely type
> such into a script (once), and run that (repeatedly). As you say, most
> of us would be working from an IDE
On 7/03/24 05:28, Jacob Kruger via Python-list wrote:
...
So, yes, know this comes across like some form of a scam/joke, or
list-garbage, since it doesn't make any sense to me at all, but still
just wondering if missing something, or should I shift over to 3.12 to
see if if works differently, o
Grant Edwards via Python-list schreef op 6/03/2024 om 18:59:
On 2024-03-06, Roel Schroeven via Python-list
wrote:
> Op 6/03/2024 om 17:40 schreef Jacob Kruger via Python-list:
>> >>> from scoping2 import *
>
> [...]
>
> I would advice not to use 'import *', if at all possible, for
multiple
On 2024-03-06, Roel Schroeven via Python-list wrote:
> Op 6/03/2024 om 17:40 schreef Jacob Kruger via Python-list:
>> >>> from scoping2 import *
>
> [...]
>
> I would advice not to use 'import *', if at all possible, for multiple
> reasons, one of which is to prevent problems like this.
Unfortun
Op 6/03/2024 om 17:40 schreef Jacob Kruger via Python-list:
>>> from scoping2 import *
Ah yes, that explains what's happening. After that statement, the name
dt_expiry in the current namespace is bound to the same object that the
name dt_expiry in the namespace of module scoping2 is bound to. F
Ok, Ethan, that makes sense - I generally work with modules in folders,
etc., but, this was just test code, but, 'see' if I instead import
scoping2 as sc2, and then refer to sc2.dt_expiry and sc2.do_it, then it
does operate as it should - thanks, again.
Jacob Kruger
+2782 413 4791
"Resistance
On 3/6/24 08:28, Jacob Kruger via Python-list wrote:
> C:\temp\py_try>python
> Python 3.11.7 (tags/v3.11.7:fa7a6f2, Dec 4 2023, 19:24:49) [MSC v.1937 64
bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from scoping2 import *
And it becomes c
You'll see more details in other mail, but, here I am firing up standard
python interpreter from within windows terminal, and then executing
following line:
from scoping2 import *
And, this is under windows 11 windows terminal, which is where I
generally interact with my python code, via com
Matt, other mail is more relevant - seems to maybe have more to do with
different behavour if import code, or not - no, does not make sense to
me - but, here's the command line contents including printing out id()
results, but, only working via importing code:
#---start session---
C:\temp\py_
Thanks for all your input people, and, yes, I know that besides the
scope oddities the rest of the code is not my normal style either - was
partly due to forms of experimentation to try figure out what could be
causing issues. For example, instead of [:] syntax, was specifically
using copy() to
Op 6/03/2024 om 16:39 schreef Roel Schroeven via Python-list:
Op 6/03/2024 om 13:55 schreef Jacob Kruger via Python-list:
If you import the contents of that file into the python interpreter,
[...]
What exactly to you mean by "import the contents of that file into the
python interpreter"? Othe
Op 6/03/2024 om 13:55 schreef Jacob Kruger via Python-list:
If you import the contents of that file into the python interpreter, [...]
What exactly to you mean by "import the contents of that file into the
python interpreter"? Other people have put your code in a script,
executed it, and saw
On 3/6/2024 7:55 AM, Jacob Kruger via Python-list wrote:
Ok, simpler version - all the code in a simpler test file, and working
with two separate variables to explain exactly what am talking about:
# start code
from datetime import datetime, timezone, timedelta
from copy import copy
# initi
On 3/6/2024 5:59 AM, Alan Gauld via Python-list wrote:
On 05/03/2024 22:46, Grant Edwards via Python-list wrote:
Unfortunately (presumably thanks to SEO) the enshittification of
Google has reached the point where searching for info on things like
Python name scope, the first page of links are to
On 3/6/24 05:55, Jacob Kruger via Python-list wrote:
Ok, simpler version - all the code in a simpler test file, and working
with two separate variables to explain exactly what am talking about:
If you import the contents of that file into the python interpreter,
dt_expiry will start off as "19
So, this does not make sense to me in terms of the following snippet
from the official python docs page:
https://docs.python.org/3/faq/programming.html
"In Python, variables that are only referenced inside a function are
implicitly global. If a variable is assigned a value anywhere within the
Ok, simpler version - all the code in a simpler test file, and working
with two separate variables to explain exactly what am talking about:
# start code
from datetime import datetime, timezone, timedelta
from copy import copy
# initialise original values
dt_expiry = datetime.strptime("1970
On 05/03/2024 22:46, Grant Edwards via Python-list wrote:
> Unfortunately (presumably thanks to SEO) the enshittification of
> Google has reached the point where searching for info on things like
> Python name scope, the first page of links are to worthless sites like
> geeksforgeeks.
And not just
On 2024-03-05, Cameron Simpson via Python-list wrote:
> Because there are no variable definitions in Python, when you write
> a function Python does a static analysis of it to decide which
> variables are local and which are not. If there's an assignment to a
> variable, it is a local variable.
On 05Mar2024 20:13, Jacob Kruger wrote:
Now, what almost seems to be occurring, is that while just manipulating
the contents of a referenced variable is fine in this context, the
moment I try to reassign it, that's where the issue is occurring .
Because there are no variable definitions in Py
Jacob,
Please reduce the problem to a small code-set which reproduces the
problem. If we can reproduce same, then that tells us something. At the
very least, we can experiment without having to expend amounts of time
in a (likely faulty) bid to reproduce the same environment.
Also, code is t
On Fri, Jul 13, 2018 at 10:43 PM, Ed Kellett wrote:
> On 2018-07-12 18:00, Chris Angelico wrote:
>> What do you mean by "fix"? Make the 'x' bind eagerly? That would break
>> basically every other use of closures.
>
> No. I mean make each x a new variable--closures would work as before,
> for-loops
On 2018-07-12 18:00, Chris Angelico wrote:
> What do you mean by "fix"? Make the 'x' bind eagerly? That would break
> basically every other use of closures.
No. I mean make each x a new variable--closures would work as before,
for-loops would change. If we have subscopes, it seems natural that
ent
On Fri, Jul 13, 2018 at 2:44 PM, wrote:
> On Thursday, July 12, 2018 at 7:16:48 PM UTC-4, Chris Angelico wrote:
>> Not sure, but here's a simpler implementation:
>>
>> except Exception as .err.0:
>> print(.err.0)
>> .err.0 = None
>> del .err.0
>>
>> In other words, exactly the same as
On Thursday, July 12, 2018 at 7:16:48 PM UTC-4, Chris Angelico wrote:
> On Fri, Jul 13, 2018 at 8:10 AM Igor wrote:
> > On Thursday, July 12, 2018 at 5:45:52 AM UTC-4, Ben Bacarisse wrote:
> >> aleiphoenix writes:
> >>
> >> [snip]
> >>
> >> When an exception has been assigned using as target, it
On Thursday, July 12, 2018 at 5:45:52 PM UTC+8, Ben Bacarisse wrote:
>
> Yes, it's intentional, but it's not exactly a scope. In
>
> https://docs.python.org/3/reference/compound_stmts.html#try
>
> --
> Ben.
Thank you for the reply. Never thought of this kind of problem in Python3.
On Thurs
On Fri, Jul 13, 2018 at 8:10 AM, wrote:
> On Thursday, July 12, 2018 at 5:45:52 AM UTC-4, Ben Bacarisse wrote:
>> aleiphoenix writes:
>>
>> [snip]
>>
>> When an exception has been assigned using as target, it is cleared at
>> the end of the except clause. This is as if
>>
>> except E as N:
Just word on quoting...
[email protected] writes:
> On Thursday, July 12, 2018 at 5:45:52 AM UTC-4, Ben Bacarisse wrote:
>>
>> [snip]
You cut everything I wrote. What you left is what I quoted from the
Python documentation. In fairness to the authors you should probably
have cut the attrib
On Thursday, July 12, 2018 at 5:45:52 AM UTC-4, Ben Bacarisse wrote:
> aleiphoenix writes:
>
> [snip]
>
> When an exception has been assigned using as target, it is cleared at
> the end of the except clause. This is as if
>
> except E as N:
> foo
>
> was translated to
>
> excep
On Thu, Jul 12, 2018 at 11:23 PM, Ed Kellett wrote:
> Could we fix:
>
> for x in something:
> blah(lambda a: a + x)
>
> while we're at it?
What do you mean by "fix"? Make the 'x' bind eagerly? That would break
basically every other use of closures.
ChrisA
--
https://mail.python.org/mailma
On 2018-07-12 14:03, Chris Angelico wrote:
> Dealing with reference cycles is generally done *periodically* rather
> than immediately (CPython disposes of unreferenced objects immediately
> upon last deref). You can avoid having a dedicated cycle detection
> pass by using a mark-and-sweep GC, but t
On Thu, Jul 12, 2018 at 10:31 PM, Ed Kellett wrote:
> On 2018-07-12 10:59, Steven D'Aprano wrote:
>> On Thu, 12 Jul 2018 01:37:24 -0700, aleiphoenix wrote:
>>
>>> My question is, does except ... as ... create a new scope from outer
>>> block, causing 'err' be hidden from outer scope? Is this inten
On 2018-07-12 10:59, Steven D'Aprano wrote:
> On Thu, 12 Jul 2018 01:37:24 -0700, aleiphoenix wrote:
>
>> My question is, does except ... as ... create a new scope from outer
>> block, causing 'err' be hidden from outer scope? Is this intentional?
>
> No, it is not a new scope, and yes, it is int
On Thu, 12 Jul 2018 01:37:24 -0700, aleiphoenix wrote:
> My question is, does except ... as ... create a new scope from outer
> block, causing 'err' be hidden from outer scope? Is this intentional?
No, it is not a new scope, and yes, it is intentional. It's a nasty hack,
but a *necessary* nasty
aleiphoenix writes:
> suppose following code running with Python-3.4.8 and Python-3.6.5
>
>
> # -*- coding: utf-8 -*-
>
>
> def hello():
> err = None
> print('0: {}'.format(locals()))
> try:
> b = 2
> print('1: {}'.format(locals()))
> raise ValueError()
>
Thanks Chris,
Without using nonlocal any other options available?
On 30 Jan 2018 8:30 am, "Chris Angelico" wrote:
> On Tue, Jan 30, 2018 at 1:48 PM, Prahallad Achar
> wrote:
> > def a() :
> > Print (value)
> > def b() :
> > Value = 100
> > Return b
> >
> > Its a nested func
On Tue, Jan 30, 2018 at 1:48 PM, Prahallad Achar wrote:
> def a() :
> Print (value)
> def b() :
> Value = 100
> Return b
>
> Its a nested function. How can I use variable value just one function
> above the parent function.
> This is possible in tcl.. Is it possible in Python
Maybe I've been too cryptic. I apologize.
Il 22/10/2015 01:35, JonRob ha scritto:
@Dennis,
Thanks for your example. My structure is very similar.
And that's ok. But you can also 'attach' the constants to a class, if it
makes sense. For example, the same code of Dennis can be written as:
On 20/10/15 22:33, [email protected] wrote:
In your comment you mentioned that convention is to declare variables
(and constants?) in the construction (__ini__).
I would suggest that 'constants' are not 'declared' in the __init__
method body, but either as class variables or (see later)
Il 20/10/2015 23:33, JonRob ha scritto:
Hello Luca,
I very much appreciated your comments. And I understand the
importance of "doing something right" (i.e. convention).
This leads me to another question.
Because I am interfacing with an I2C sensor I have many register
definations to includ
@Dennis,
Thanks for your example. My structure is very similar. Perhaps I was
reading too much into Luca's below statement regarding declaring
variables.
Regards,
JonRob
Luca wrote...
>Please, note that declaring a variable in the constructor is only a
>convention: in Python you can a
Hello Luca,
I very much appreciated your comments. And I understand the
importance of "doing something right" (i.e. convention).
This leads me to another question.
Because I am interfacing with an I2C sensor I have many register
definations to include (30 register addresses and 26 Variables
Thanks to all who replied to my question. I received a lot of
information and points of view that are very helpful. I realize some
of you folks spent more that a few minutes. I really appreciate your
time.
Pardon me that i replied to random832's post and not the original but
my original was l
Il 20/10/2015 08:38, Nagy László Zsolt ha scritto:
When you say "they have nothing to do", it is almost true but not 100%.
I know it, but when it comes to eradicate an idea that comes directly
from C++-like languages, you must be drastic.
Nuances come after...
--
Ciao!
Luca
--
https://mail.
> These two statements make me think you come from C++ or something
> similar.
>
> In Python you can declare variables at class level, but this
> declaration must NOT be interpreted in the same manner of a similar
> declaration in C++: they remain at the abstract level of a class, and
> they have
Il 19/10/2015 20:39, JonRob ha scritto:
I (think) I understand that in the below case, the word self could be
replaced with "BME280" to explicitly call out a variable.
But even still I don't know how explicit call out effects the scope of
a variable.
These two statements make me think you com
> My questions are:
> What is the scope of class variables?
In Python, you bind values (objects) to names. It is conceptually
different from "setting the value of a variable". In Python, scope
applies to names, not variables.
When you say "class variable", what do you mean?
This may help:
A nam
>
> #!/usr/bin/python
> # -- developed using Python 2.7.3
>
> class BME280:
Not strictly related to the question, but you probably want to use so
called "new style classes" when developing a new program for Python
version 2. In other words, use:
class BME280(object):
instead of
class BME280:
On 10/19/2015 7:19 PM, [email protected] wrote:
Class variables are accessible without creating an instance of a class. Also,
changing the value of a class variable affects ALL instances of that class.
This is because the variable belongs to the class itself, not any of the
instances of
On Monday, October 19, 2015 at 11:39:59 AM UTC-7, JonRob wrote:
> Hi,
>
> I've having trouble understanding the self concept as it applies to
> variables. I think I understand how it affects methods.
>
> I haven't been able to fully grasp the scope of class variables and
> the effect of the "sel
[email protected] writes:
>
> The below pseudo code is distilled from my 1st attempt at a functional
> Python program on the RasPi.
>
> My questions are:
> What is the scope of class variables?
You must access them as members of the class or an instance of the class.
> does the self. prefix
Bruno Desthuilliers wrote:
(snip)
Joel Juvenal Rivera Rivera wrote:
Hi i was playing around with my code the i realize of this
###
_uno__a = 1
class uno():
__a = 2
def __init__(self):
print __a
uno()
###
and prints 1
I beg to disagree. The probl
Carl Banks a écrit :
On Sep 29, 3:11 am, Bruno Desthuilliers wrote:
Mark Dickinson a écrit :
(snip)
The double underscores and name mangling are a red herring:
I beg to disagree. The problem (well... what I think is a problem,
actually) IS that name mangling is applied to a method *local* va
On Sep 29, 3:11 am, Bruno Desthuilliers wrote:
> Mark Dickinson a écrit :
>
>
>
> > On Sep 28, 9:37 am, Bruno Desthuilliers > [email protected]> wrote:
> >> Joel Juvenal Rivera Rivera a écrit :
>
> >>> Yeah i forgot the self an try the code then i see
> >>> an error that it was
On Sep 29, 11:11 am, Bruno Desthuilliers wrote:
> Mark Dickinson a écrit :
> > On Sep 28, 9:37 am, Bruno Desthuilliers > [email protected]> wrote:
> >> Looks like a bug to me. I Think you should fill a ticket...
>
> > I don't think it's a bug. Unless I'm missing something,
> >
Mark Dickinson a écrit :
On Sep 28, 9:37 am, Bruno Desthuilliers wrote:
Joel Juvenal Rivera Rivera a écrit :
Yeah i forgot the self an try the code then i see
an error that it was not defines _uno__a so that's
where i define the global and see that behavior.
(snip)
Joel Juvenal Rivera Riv
On Sep 28, 9:37 am, Bruno Desthuilliers wrote:
> Joel Juvenal Rivera Rivera a écrit :
>
>
>
> > Yeah i forgot the self an try the code then i see
> > an error that it was not defines _uno__a so that's
> > where i define the global and see that behavior.
>
> (snip)
> >> Joel Juvenal Rivera Rivera w
Joel Juvenal Rivera Rivera a écrit :
Yeah i forgot the self an try the code then i see
an error that it was not defines _uno__a so that's
where i define the global and see that behavior.
(snip)
Joel Juvenal Rivera Rivera wrote:
Hi i was playing around with my code the i realize of this
#
Yeah i forgot the self an try the code then i see
an error that it was not defines _uno__a so that's
where i define the global and see that behavior.
Thanks for your answers
El vie, 25-09-2009 a las 15:14 -0700, Ethan Furman escribió:
> Joel Juvenal Rivera Rivera wrote:
> > Hi i was playing aroun
Joel Juvenal Rivera Rivera wrote:
Hi i was playing around with my code the i realize of this
###
_uno__a = 1
class uno():
__a = 2
def __init__(self):
print __a
uno()
###
and prints 1
So when i create class uno in the __init__ calls the global _uno
globalrev wrote:
http://mail.python.org/pipermail/python-list/2003-October/233435.html
why isnt it printing a in the second(second here, last one in OP)
example before complaining?
def run():
a = 1
def run2(b):
a = b
print a
run2(2)
print a
run()
def run():
a = 1
def run2(b
Duncan Booth wrote:
> Steve Holden <[EMAIL PROTECTED]> wrote:
>
>>> For a moment I thought that maybe list comprehension has its own
>>> scope, but it doesn't seem to be so:
>>> print [[y for y in range(8)] for y in range(8)]
>>> print y
>>>
>>> Does anybody understand it?
>>>
>>>
>> This isn't _a
Duncan Booth wrote:
> For the OP, in some languages (e.g. C) 'for' loops typically calculate
> the value of the loop control variable based on some expression
> involving the previous value. Python isn't like that. In Python the data
> used to compute the next value is stored internally: you canno
Steve Holden <[EMAIL PROTECTED]> wrote:
>> For a moment I thought that maybe list comprehension has its own
>> scope, but it doesn't seem to be so:
>> print [[y for y in range(8)] for y in range(8)]
>> print y
>>
>> Does anybody understand it?
>>
>>
> This isn't _a_ list comprehension, it's *tw
Piotr Sobolewski wrote:
> Hello,
>
> there is something I don't understand about list comprehensions.
>
> I understand how does this work:
> print [[y for x in range(8)] for y in range(8)]
>
> However I don't understand why this one works:
> print [[y for y in range(8)] for y in range(8)]
>
> I
gonzlobo a écrit :
Please keep this on clpy...
> Sorry, but I don't understand. I *should* pass firstMsg to the
> function like I did (PID_MinMax(firstMsg)), correct?
Yes.
> Then I should
> pass the variable back to the main loop by 'return firstMsg', correct?
s/variable/value/
Yes, you have
gonzlobo a écrit :
> Greetings,
> I've been using Python to successfully parse files. When the entire
> program was smaller, the variable firstMsg worked fine, but now
> doesn't because it's used in function PID_MinMax. I know it's a result
> of variables and their scope.
>
> I declare the variabl
73 matches
Mail list logo