Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 Inplace 대 표준 연산자

<시간/>

Python의 Inplace 연산자

Inplace 연산은 복사본을 만들지 않고 주어진 선형 대수, 벡터 또는 메트릭의 내용을 직접 변경하는 연산입니다. 이제 이러한 종류의 작업을 수행하는 데 도움이 되는 연산자를 제자리 연산자라고 합니다.

간단한 예를 들어 이해합시다 -

a=9
a += 2
print(a)

출력

11

+=타이 입력 연산자 위. 여기서 먼저 값이 이전 값으로 업데이트되는 2를 더합니다.

위의 원칙은 다른 연산자에도 적용됩니다. 일반적인 제자리 연산자는 -

  • +=
  • -=
  • *=
  • /=
  • %=

위의 원칙은 숫자 이외의 다른 유형에도 적용됩니다. 예:-

language = "Python"
language +="3"
print(language)

출력

Python3

위의 x+=y 예는 x =operator.iadd(x,y)

와 동일합니다.

내부 작업에 사용되는 여러 연산자가 있습니다.

iadd()

이 기능은 현재 값을 할당하고 추가하는 데 사용됩니다. 이 연산자는 x+=y 연산을 수행합니다.

x =operator.iadd(9,18)
print("Result after adding: ", end="")
print(x)

결과

Result after adding: 27

isub()

이 기능은 현재 값을 할당하고 빼는 데 사용됩니다. Isub() 함수는 x-=y 연산을 수행합니다.

x =operator.isub(9,18)
print("Result after subtraction: ", end="")
print(x)

결과

Result after subtraction: -9

imul()

이 함수는 현재 값을 할당하고 곱하는 데 사용됩니다. 이 연산자는 x*=y 연산을 수행합니다.

x =operator.imul(9,18)
print("Result after multiplying: ", end="")
print(x)

결과

Result after multiplying: 162

itruediv()

현재 값을 할당하고 나누는 기능입니다. 이 연산자는 x/=y 연산을 수행합니다.

x =operator.itruediv(9,18)
print("Result after dividing: ", end="")
print(x)

결과

Result after dividing: 0.5

imod()

이 기능은 현재 값을 할당하고 나누는 데 사용됩니다. 이 연산자는 x %=y 연산을 수행합니다.

x =operator.imod(9,18)
print("Result after moduls: ", end="")
print(x)

결과

Result after moduls: 9

아이콘캣()

이 함수는 두 개의 문자열을 연결하는 데 사용됩니다.

x = "Tutorials"
y = "Point"

str1 = operator.iconcat(x,y)
print(" After concatenation : ", end="")
print(str1)

결과

After concatenation : TutorialsPoint

아이포()

이 함수는 x **=y와 동일합니다.

x =operator.ipow(2,6)
print("Result after exponent: ", end="")
print(x)

결과

Result after exponent: 64

표준 연산자

연산자는 피연산자의 값을 조작할 수 있는 구조입니다.

예를 들어 - 9+18 =27 표현식에서 9와 18은 피연산자이고 +는 연산자라고 합니다.

연산자 유형

Python 언어는 다음 유형의 연산자를 지원합니다. -

  • 산술 연산자 :(예:+, -, *, /, %, **, //)

  • 비교 연산자 :(예:"==", "!=", "<>", ">", "<", ">=", "<=")

  • 할당 연산자 :(예:"=", "+=", "-=", "*=", "/=", "%=", "**=", "//=")

  • 논리 연산자 :(예:"논리적 AND", "논리적 OR", "논리적 NOT")

  • 비트 연산자: (예:"|", "&", "^", "~", "<<", ">>")
  • 멤버십 운영자 :(예:인, 인 아님)

  • ID 연산자 :(예:is, is not)

연산자를 함수에 매핑

아래는 추상 연산이 파이썬 구문의 연산자 기호와 연산자 모듈의 함수에 어떻게 대응하는지 보여주는 표입니다.

작업
구문
함수
추가
x + y
추가(x, y)
연결
시퀀스1 + 시퀀스2
연결(seq1, seq2)
격리 테스트
시퀀스의 Obj
포함(seq, obj)
사업부
x / y
트루디브(x, y)
사업부
x // y
Floordiv(x, y)
비트 단위 및
x &y
그리고_(x, y)
비트별 배타적 OR
x ^ y
Xor(x, y)
비트 단위 반전
~x
반전(x)
비트 단위 또는
x|y
또는_(x,y)
지수
x ** y
pow(x, y)
아이덴티티
x는 y
is_(x, y)
아이덴티티
x는 y가 아닙니다.
is_not(x, y)
인덱싱된 할당
obj[k] =v
setitem(obj, k, v)
색인 삭제
델 오브제[k]
항목(obj, k)
인덱싱
오브제[k]
Getitem(obj,k)
왼쪽 시프트
a < Lshift(a,b)
모듈로
a % b
모드(a,b)
곱하기
x*y
멀(x*y)
행렬 곱
x@b
마트물(x,y)
부정(산술)
-a
음수(a)
부정(논리)
아님
아님_(a)
긍정
+a
pos(a)
오른쪽 시프트
a>>b
Rshift(a,b)
슬라이스 할당
시퀀스[i:j] =값
Setitem(seq, slice(i,j), values)
슬라이스 삭제
델 시퀀스[i:j]
Delitem(seq, slice(i,j))
슬라이싱
순서[i:j]
Getitem(seq, slice(I, j))
문자열 형식화
S % 개체
Mod(s, obj)
빼기
a-b
하위(a,b)
진실 테스트
오브제이
진실(obj)
주문
lt(a,b)
주문
a<=b
le(a,b)
평등
a ==b
식(a,b)
차이
a !=b
네(a,b)
주문
a>=b
ge(a, b)
주문
a> b
gt(a,b)