logo

Инплаце наспрам стандардних оператора у Питхон-у

Инплаце Оператори - Сет 1 Сет 2
Нормални оператери обављају једноставан посао додељивања. С друге стране, Инплаце оператори се понашају слично као и нормални оператори осим да делују на другачији начин у случају променљивих и непроменљивих циљева. 
 

  • Тхе _адд_ метода ради једноставног сабирања узима два аргумента враћа збир и складишти га у другу променљиву без измене ниједног од аргумената.
  • С друге стране _иадд_ метода такође узима два аргумента, али прави промену на месту у 1. аргументу који се преноси тако што у њега чува збир. Пошто је мутација објекта потребна у овом процесу, непроменљиви циљеви као што су низови бројева и торке не би требало да има _иадд_ метод .
  • „адд()“ нормалног оператораметода имплементира ' а+б ' и складишти резултат у поменуту променљиву.Инплаце оператор 'иадд()'метода имплементира ' а+=б ' ако постоји (тј. у случају непроменљивих циљева не постоји) и мења вредност пренетог аргумента. Али ако није имплементирано је 'а+б' .


Случај 1 : Непроменљиве мете.  
У непроменљивим циљевима као што су низови бројева и торке. Инплаце оператори се понашају исто као и нормални оператори, тј. врши се само додељивање, нема модификације у пренесеним аргументима.
 

Python
# Python code to demonstrate difference between  # Inplace and Normal operators in Immutable Targets # importing operator to handle operator operations import operator # Initializing values x = 5 y = 6 a = 5 b = 6 # using add() to add the arguments passed  z = operator.add(ab) # using iadd() to add the arguments passed  p = operator.iadd(xy) # printing the modified value print ('Value after adding using normal operator : 'end='') print (z) # printing the modified value print ('Value after adding using Inplace operator : 'end='') print (p) # printing value of first argument # value is unchanged print ('Value of first argument using normal operator : 'end='') print (a) # printing value of first argument # value is unchanged print ('Value of first argument using Inplace operator : 'end='') print (x) 

Излаз:



Value after adding using normal operator : 11 Value after adding using Inplace operator : 11 Value of first argument using normal operator : 5 Value of first argument using Inplace operator : 5


Случај 2 : Променљиве мете  
Понашање Инплаце оператора у променљивим циљевима као што су листе и речници се разликује од нормалних оператора. Тхе ажурирање и додељивање се обављају у случају променљивих мета.
 

Python
# Python code to demonstrate difference between  # Inplace and Normal operators in mutable Targets # importing operator to handle operator operations import operator # Initializing list a = [1 2 4 5] # using add() to add the arguments passed  z = operator.add(a[1 2 3]) # printing the modified value print ('Value after adding using normal operator : 'end='') print (z) # printing value of first argument # value is unchanged print ('Value of first argument using normal operator : 'end='') print (a) # using iadd() to add the arguments passed  # performs a+=[1 2 3] p = operator.iadd(a[1 2 3]) # printing the modified value print ('Value after adding using Inplace operator : 'end='') print (p) # printing value of first argument # value is changed print ('Value of first argument using Inplace operator : 'end='') print (a) 

Излаз: 
 

Value after adding using normal operator : [1 2 4 5 1 2 3] Value of first argument using normal operator : [1 2 4 5] Value after adding using Inplace operator : [1 2 4 5 1 2 3] Value of first argument using Inplace operator : [1 2 4 5 1 2 3]


 

Креирај квиз