Python Forum
Question about naming variables in class methods
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Question about naming variables in class methods
#1
Hi there, in the following code I have a class method called addFormattedCosts. I get that when working with instance variables you use the "self" keyword according to convention. In the below function I didn't use the self before the variables within the method and didn't get an error. The variables used in the method are like "helper" variables and nothing interacts with any actual instance variables which Is why I think I don't get errors. But what affect will occur by not putting the ".self" before these "helper" variables. Should I and why?

def addFormattedCosts(self, costList):
	millionFormat = (float(cost.replace('M', '')) * 1000000 if "M" in cost else 0.0 for cost in costList)
	thousandFormat = (float(cost.replace('K', '')) * 1000 if "K" in cost else 0.0 for cost in costList)
	finalSum = sum(millionFormat) + sum(thousandFormat)
	return int(finalSum)
Reply
#2
If they're meant to just be used in that method (that is, they're local variables), then you shouldn't use self. By "class method" do you mean decorated with @classmethod? I'm going to guess (and you can check whether this is correct for yourself) that if you do use self there, you'll be creating class variables that are accessible to all class and instance methods. You should make variables as tightly scoped as possible (so as above, not using self if you don't need to). Note also, that the convention is to call the first parameter to a class method cls, rather than self.

FWIW, your thread title is a bit misleading - there's nothing really about naming here.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [split] Class and methods ebn852_pan 15 1,104 May-23-2024, 11:57 PM
Last Post: ebn852_pan
  Class and methods Saida2024 2 405 May-13-2024, 04:04 AM
Last Post: deanhystad
  Very Beginner question on simple variables Harvy 1 418 Apr-12-2024, 12:03 AM
Last Post: deanhystad
  Class test : good way to split methods into several files paul18fr 4 704 Jan-30-2024, 11:46 AM
Last Post: Pedroski55
  question about __repr__ in a class akbarza 4 832 Jan-12-2024, 11:22 AM
Last Post: DeaD_EyE
  Unchangeable variables in a class? Calab 12 1,956 Sep-15-2023, 07:15 PM
Last Post: deanhystad
  Structuring a large class: privite vs public methods 6hearts 3 1,288 May-05-2023, 10:06 AM
Last Post: Gribouillis
  Initiating an attribute in a class __init__: question billykid999 8 1,668 May-02-2023, 09:09 PM
Last Post: billykid999
  naming entities(city abbreviations) tirumalaramakrishna 1 1,357 May-06-2022, 11:22 AM
Last Post: jefsummers
  [Solved] Novice question to OOP: can a method of class A access attributes of class B BigMan 1 1,440 Mar-14-2022, 11:21 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

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