Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Inplace vs Standard Operators ใน Python


ตัวดำเนินการแทนที่ใน Python

การดำเนินการแทนที่คือการดำเนินการที่เปลี่ยนเนื้อหาของพีชคณิตเชิงเส้นที่กำหนดหรือเวกเตอร์หรือหน่วยเมตริกโดยตรงโดยไม่ต้องทำสำเนา ตอนนี้โอเปอเรเตอร์ซึ่งช่วยในการดำเนินการประเภทนี้เรียกว่าโอเปอเรเตอร์แบบแทนที่

มาทำความเข้าใจกันด้วยตัวอย่างง่ายๆ -

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

ipow()

ฟังก์ชันนี้เทียบเท่ากับ x **=y.

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

ผลลัพธ์

Result after exponent: 64

ตัวดำเนินการมาตรฐาน

โอเปอเรเตอร์คือโครงสร้างที่สามารถจัดการค่าของตัวถูกดำเนินการได้

ตัวอย่างเช่น ในนิพจน์ 9+18 =27 ในที่นี้ 9 และ 18 เป็นตัวถูกดำเนินการ และ + เรียกว่าตัวดำเนินการ

ประเภทของตัวดำเนินการ

ภาษา Python รองรับตัวดำเนินการประเภทต่อไปนี้ -

  • ตัวดำเนินการเลขคณิต :(เช่น:+, -, *, /, %, **, //)

  • ตัวดำเนินการเปรียบเทียบ :(เช่น:“==”, “!=”, “<>”, “>”, “<”, “>=”, “<=”)

  • ผู้ดำเนินการมอบหมาย :(เช่น:“=”, “+=”, “-=”, “*=”, “/=”, “%=”, “**=”, “//=”)

  • ตัวดำเนินการเชิงตรรกะ :(เช่น:“ตรรกะและ”, “ตรรกะหรือ”, “ตรรกะไม่”)

  • ตัวดำเนินการระดับบิต: (เช่น “|”, “&”, “^”, “~”, “<<”, “>>”)
  • ผู้ประกอบการสมาชิก :(เช่น in, not in)

  • ตัวดำเนินการระบุตัวตน :(เช่น คือ ไม่ใช่)

การทำแผนที่ตัวดำเนินการกับฟังก์ชัน

ด้านล่างนี้คือตารางที่แสดงให้เห็นว่าการดำเนินการนามธรรมสอดคล้องกับสัญลักษณ์ตัวดำเนินการในไวยากรณ์ Python และฟังก์ชันในโมดูลตัวดำเนินการอย่างไร

การทำงาน
ไวยากรณ์
ฟังก์ชัน
ส่วนเพิ่มเติม
x + y
บวก (x, y)
การต่อกัน
Seq1 + seq2
คอนแคท(seq1, seq2)
การทดสอบการกักกัน
Obj ตามลำดับ
ประกอบด้วย (seq, obj)
ดิวิชั่น
x / y
ทรูดิฟ(x, y)
ดิวิชั่น
x // y
ชั้น (x, y)
ระดับบิตและ
x &y
และ_(x, y)
Bitwise Exclusive Or
x ^ y
Xor(x, y)
การผกผันระดับบิต
~x
พลิกกลับ(x)
ระดับบิตหรือ
x|y
หรือ_(x,y)
การยกกำลัง
x ** y
pow(x, y)
อัตลักษณ์
x คือ y
คือ_(x, y)
อัตลักษณ์
x ไม่ใช่ y
is_not(x, y)
งานที่ทำดัชนี
obj[k] =v
setitem(obj, k, v)
ดัชนีการลบ
เดล obj[k]
delitem(obj, k)
การจัดทำดัชนี
Obj[k]
Getitem(obj,k)
เปลี่ยนเกียร์ซ้าย
ก <<ข
Lshift(a,b)
โมดูลาร์
a % b
Mod(a,b)
การคูณ
x*y
mul(xx*y)
การคูณเมทริกซ์
x@b
มัตมูล(x, y)
การปฏิเสธ(เลขคณิต)
-a
Neg(a)
การปฏิเสธ(ตรรกะ)
ไม่ใช่
ไม่_(ก)
แง่บวก
+a
ตำแหน่ง (ก)
เปลี่ยนเกียร์ขวา
a>>b
Rshift(a,b)
การกำหนดสไลซ์
Seq[i:j] =values
Setitem(seq, slice(i,j), ค่า)
การลบสไลซ์
เดล seq[i:j]
Delitem(seq, สไลซ์(i,j))
สไลซ์
ลำดับ[i:j]
Getitem(seq, สไลซ์(I, j))
การจัดรูปแบบสตริง
S % obj
Mod(s, obj)
การลบ
a-b
ซับ(a,b)
บททดสอบความจริง
obj
ความจริง(obj)
การสั่งซื้อ
lt(a,b)
การสั่งซื้อ
ก<=b
เล(a,b)
ความเท่าเทียมกัน
a ==b
eq(a,b)
ความแตกต่าง
a !=b
เน(a,b)
การสั่งซื้อ
a>=b
ge(a, b)
การสั่งซื้อ
a> b
gt(a, b)