В Python вы не можете напрямую передать целое число или любой другой неизменяемый объект по ссылке. Python использует концепцию «передача по назначению» или «вызов по ссылке на объект», когда ссылка на объект передается функции или методу. Однако аналогичного эффекта можно добиться, используя изменяемые объекты, такие как списки или словари. Вот несколько способов передачи целых чисел по ссылке в Python:
-
Использование списка:
- Вы можете обернуть целое число внутри списка и передать его в качестве аргумента. Любые изменения, внесенные в список, повлияют на целое число.
def modify_integer(num_list): num_list[0] = 42 num = [7] modify_integer(num) print(num[0]) # Output: 42
-
Использование класса:
- Создайте класс, который будет хранить целое число в качестве переменной экземпляра. Затем вы можете передать экземпляр класса и изменить переменную экземпляра.
class IntegerHolder: def __init__(self, num): self.num = num def modify_integer(holder): holder.num = 42 num = IntegerHolder(7) modify_integer(num) print(num.num) # Output: 42
-
Использование словаря:
- Вы также можете использовать словарь для хранения целого числа и передать словарь в качестве аргумента. Изменения, внесенные в словарь, отразятся на целочисленном значении.
def modify_integer(num_dict): num_dict['value'] = 42 num = {'value': 7} modify_integer(num) print(num['value']) # Output: 42