简体   繁体   中英

Using a return value from one function(method) into other in Python

I am trying to use the value "str(check)" returned from the function - get_reg_check_type and use it in another function - get_status_type. How can I do that?

#---- Get Register Check Type # Returns "CHECK" if register exists and is unlocked; "CHECK_NRF" if register doesn't exist or is locked

    def get_reg_check_type(self, addr, lock=definitions.LockTest.LOCK):
        check = "CHECK_NRF" # NOTE: if items (bits) are locked, check will stay set to CHECK_NRF
        for items in self.register_field_collection:
            for item in items:
                # Bit exists and is unlocked - return "CHECK"
                if (addr == item.register_address):
                    if ((lock == definitions.LockTest.LOCK) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW])) or \
                       ((lock == definitions.LockTest.A  ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
                       ((lock == definitions.LockTest.AB ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
                       ((lock == definitions.LockTest.ABC) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU, definitions.RegWriteLock.FEBU])):
                        check = "CHECK"
        return str(check)
        
    def get_status_type(self):
        if self.check = "CHECK_NRF"
            status_value = 8'h44
        else:
            status_value = 8'h40
        return status_value

If these functions can be found within the same class, you can first call get_reg_check_type then get_status_type .

def get_reg_check_type(self, addr, lock=definitions.LockTest.LOCK):
        check = "CHECK_NRF" # NOTE: if items (bits) are locked, check will stay set to CHECK_NRF
        for items in self.register_field_collection:
            for item in items:
                # Bit exists and is unlocked - return "CHECK"
                if (addr == item.register_address):
                    if ((lock == definitions.LockTest.LOCK) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW])) or \
                       ((lock == definitions.LockTest.A  ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
                       ((lock == definitions.LockTest.AB ) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU])) or \
                       ((lock == definitions.LockTest.ABC) and (item.register_write_lock in [definitions.RegWriteLock.NO, definitions.RegWriteLock.FRW, definitions.RegWriteLock.FRU, definitions.RegWriteLock.FEBU])):
                        check = "CHECK"
        self.checked = str(check) # set the value
        
    def get_status_type(self):
        print(self.checked) # get the value
        if self.check = "CHECK_NRF"
            status_value = 8'h44
        else:
            status_value = 8'h40
        return status_value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM