Python Forum
is it pythonic to add a name 'attribute' to an existing variable?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
is it pythonic to add a name 'attribute' to an existing variable?
#6
You obviously are working with classes, because this kind of thing only works for classes, oh, and everything in Python is an object and is associated with a class.

That you can do it means that the run1 object is an instance of a class that allows setting attributes. This is the default behavior for classes, but many of the built-in classes prohibit doing so. As I mentioned before, you cannot add attributes to list objects or string objects or many built in types because those classes contain code to forbid this.

The question here is not if it is Pythonic or not, because adding attributes to objects is about the most Pythonic thing you can do. The question is, "How much do you trust run1?" What is the class/type of run1? Do you have control over this type? How bad would it be for you if the authors of the code that created run1 decided they want run1 to be a closed class like list or string? How bad would it be for you if the authors of the class decided to add an attribute named "name"?

If I was you, and I had no control over the software that produces run1, I would only do things explicitly stated in the API for that software. I would not use variables that are not documented in the API, even if they are not "protected" using the _name convention. I would not use functions that are not documented in the API. I most certainly would not add my own attributes to objects. If you do those kinds of things you may find the next version of that software breaks your code. And if I decided to give into temptation and stuff a name into run1, I would give it a name that is much less generic than "name".
Reply


Messages In This Thread
RE: is it pythonic to add a name 'attribute' to an existing variable? - by deanhystad - Oct-04-2021, 09:30 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Create new variable dependent on two existing variables JoeOpdenaker 6 3,123 Oct-25-2020, 02:15 PM
Last Post: jefsummers
  Assignment of non-existing class variable is accepted - Why? DrZ 6 4,339 Jul-13-2020, 03:53 PM
Last Post: deanhystad
  which is "better" (or more Pythonic)? Skaperen 2 2,087 Feb-01-2020, 03:10 PM
Last Post: Skaperen
  which is "better" (or more Pythonic)? Skaperen 7 3,273 Feb-01-2020, 03:51 AM
Last Post: Skaperen
  which is "better" (or more Pythonic)? Skaperen 8 3,421 Nov-16-2019, 06:46 PM
Last Post: Skaperen
  which is more Pythonic? Skaperen 5 2,917 Jul-16-2019, 01:00 AM
Last Post: Skaperen
  Function Attribute / Global Variable Confusion digitalmatic7 1 5,414 Feb-13-2018, 09:54 AM
Last Post: DeaD_EyE

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020