В Python есть только пройти, разделяя или пройти по объекту что означает, что в соответствии с объектом это изменит его значение I.e. В зависимости от того, будет ли оно мультиплировать или нет Но вы не сможете полностью изменить тип объекта.
Когда люди говорят, что Python имеет оба Нет прохода по значению и нет передачи Когда они преподают, потому что они хотят новичков знать это, так как очень важно для понимания концепций программирования. Большинство языков не имеют прохода по объекту, я знаю.
def change_list(change): change += [2, 5, 7, 56, 79] def change_dict(dict, value): dict[value] = 12 def change_obj(obj): obj = tuple(obj)
Это функции для различных объектов, на которых мы проверим.
Список
int_list = [2, 5, 45, 676, 56] change_list(int_list) print(int_list)
Выход кода будет [2, 5, 45, 676, 56, 2, 5, 7, 56, 79]
Потому что список сметен, и у него есть + =
Поддержка оператора.
Если Change_obj ()
Функция используется для INT_LIST
; INT_LIST
останется списком, поскольку тип изменен локально И не Глобально Отказ
Корпус
int_tuple = (23, 56, 54) change_list(int_tuple) print(int_tuple)
Это не будет работать, так как кортежи не поддерживают + =
Оператор и они неизменно.
Словарь
age = {'Sam' : 12, 'Tom' : 15, } change_dict(age, 'Jack') print(age)
Выход кода будет {'SAM': 12, «Том»: 15, Джек: 12}
Как дикт является смешным.
Строка, int и floats
Строки, int и floats неизменяются по умолчанию, поэтому нет никакого использования разрабатывания этого и точно так же, как указанный выше тип объекта не может быть изменен.
Дальнейшее чтение
Позвоните по объектам по Effbot.org
Python объекты Effbot.org
Если есть какая-то путаница или что-то вводящее в заблуждение, пожалуйста, не забудьте комментировать.
Оригинал: “https://dev.to/delta456/python-pass-by-sharing-50hh”