ตัวดำเนินการแทนที่ใน 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) |