Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6250715
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T13:28:40+00:00 2026-05-24T13:28:40+00:00

I have a question regarding variable linking between objects. Because I’m learning Python programming

  • 0

I have a question regarding variable linking between objects. Because I’m learning Python programming by myself, I may have bad habits…

I am programming a module which will save me a lot of labor by managing by itself the standard configparser module. I just have to pass to it as an argument, the list of the application’s variables, and just tell it “load()” and “save()” to let it do all the job automatically (create new config file, load values into variables, check updates, etc…).
It works perfectly with “true objects” like tkinter variables, but with variables containing simple numeric or string value, the value only is copied, not the object’s “address”.

Here’s an example, it is an extremely simplified script focusing the problematic part but keeps the architecture of my module:

class Sauce:
    """Consider this class a Python standard module, so don't modify it."""
    def __init__(self, ingredient):
        self.ingredient = ingredient

    def set(self, result):
        self.ingredient = result

    def get(self):
        return self.ingredient

class Heater:
    def __init__(self, ingredients_list):
        self.ingredients_list = ingredients_list

    def heat(self):
        for item in self.ingredients_list:
            if item['type'] == 'sauce':
                item['ingredient'].set('caramel')
            elif item['type'] == 'cereal':
                item['ingredient'] = 'popcorn'

class Cooking:
    def __init__(self):
        self.cereal = 'corn'
        self.sauce = Sauce('sugarAndWater')
        print('We will cook these ingredients: {0} and {1}'.format(self.cereal, self.sauce.get()))
        print('After cooking we should theorically get "popcorn" and "caramel"')

        self.heater = Heater([{'type':'cereal', 'ingredient':self.cereal}, {'type':'sauce', 'ingredient':self.sauce}])
        self.heater.heat()

        print('But in reality we\'ve got:', self.cereal, self.sauce.get())

if __name__ == '__main__':
    start = Cooking()

There are now the questions:

  1. Is it ok to directly transfer objects as an argument (self.sauce) to be modified by the instanced object (self.heater)?
  2. If 1 is yes, is there any trick to make a common variable (self.cereal) to work as expected?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T13:28:41+00:00Added an answer on May 24, 2026 at 1:28 pm

    As you suspected, numbers and strings are passed by value, so they cannot be modified from other functions / methods. The easiest way to pass a value to another function for modification is to put it in a container — a list or a dictionary — and pass that container instead.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

A simple question regarding multhreading programming: I have an NSMutableArray instance variable that is
I have a question regarding gcc. Why I get an error of unused variable
I have a question regarding a session variable. I have session variable which needs
I have a question regarding the two additional columns (timeCreated, timeLastUpdated) for each record
I have a question regarding an update function I created... CREATE OR REPLACE FUNCTION
I have a question regarding handling errors in a J2EE application. Our current application
I'm writing a small webapp in Grails and I have the following question regarding
Following on from my recent question regarding parsing XML files in Java I have
I have a question about best practices regarding how one should approach storing complex
I have a simple question and wish to hear others' experiences regarding which is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.