38
Python Operators

Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Operators

Page 2: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator มอะไรบาง ?

• Arithmetic Operators

• Comparison (i.e., Relational) Operators

• Assignment Operators

• Logical Operators

• Bitwise Operators

• Membership Operators

• Identity Operators

Page 3: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Arithmetic Operators

Page 4: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description Example

+ Addition – เปนการบวกคา 2 คาเขารวมกน a + b

10 + 20 = 30

- Subtraction - นาคาทางดานซายลบกบคาทางดานขวา a - b

10 – 20 = -10

* Multiplication - เปนการคณคา 2 คา a * b

10 * 20 = 200

/ Division - นาคาทางดานซายหารดวยคาทางดานขวา b / a

20/10 = 2.0

% Modulus – นาคาทางดานซายหารทางดานขวา

แลวตอบผลลพธเปนคาเศษ

b % a

20 % 10 = 0

** Exponent – เปนการยกกาลง คาทางซายเปนฐาน และ

คาทางขวาเปนเลขยกกาลง

a**b

10 ยกกาลง 20 = 1020

// Floor Division - เปนการหารแลวนาคาทศนยมออก 20//3 = 6 ( 6.67 )

34.5//1.7 = 20 ( 20.29 )

ให a = 10 และ b =20 จะได

Page 5: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 6: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Exกาหนดให x = 21.0, y = 5.0 และ a = 21, b = 5 ใหตรวจสอบคาระวาง x//y และ a/b วามคา

เทากนหรอไม

Page 7: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Comparison Operators

Page 8: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description Example

== ตรวจสอบวาทงสองคาเทากนหรอไม ถาคาเทากน เงอนไขจะเปนจรง (a == b) ไมเปนจรง

!= ตรวจสอบวาทงสองคาไมเทากนหรอไม ถาคาไมเทากน

เงอนไขจะเปนจรง

(a != b) เปนจรง

<> ตรวจสอบวาทงสองคาไมเทากนหรอไม ถาคาไมเทากน

เงอนไขจะเปนจรง

(a <> b) เปนจรง เครองหมาย <> ม

ความหมายเดยวกบ เครองหมาย !=

> ตรวจสอบวาคาทางซายมากกวาคาทางขวาหรอไม ถาใช

เงอนไขจะเปนจรง

(a > b) ไมเปนจรง

< ตรวจสอบวาคาทางซายนอยกวาคาทางขวาหรอไม ถาใช

เงอนไขจะเปนจรง

(a < b ) เปนจรง

>= ตรวจสอบวาคาทางซายมากกวาหรอเทากบคาทางขวาหรอไม ถาใช

เงอนไขจะเปนจรง

(a >= b) ไมเปนจรง

<= ตรวจสอบวาคาทางซายนอยกวาหรอเทากบคาทางขวาหรอไม ถาใช

เงอนไขจะเปนจรง

(a <= b) เปนจรง

ให a = 10 และ b =20 จะได

Page 9: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 10: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Assignment Operators

Page 11: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description Example

= เปนการนาคาตวแปรฝงขวาไปเกบไวทตวแปรฝงซาย c = a + b เปนการ

เกบคา a+b ไวท c

+= เปนการบวกคาตวแปรสองคาจากฝงขวาไปเกบไวทตวแปรฝงซาย c += a จะเทากบ

c = c + a

-= เปนการลบคาตวแปรสองคาจากฝงขวาไปเกบไวทตวแปรฝงซาย c -= a จะเทากบ

c = c - a

*= เปนการคณคาตวแปรสองคาจากฝงขวาไปเกบไวทตวแปรฝงซาย c *= a จะเทากบ

c = c * a

/= เปนการหารคาตวแปรสองคาจากฝงขวาไปเกบไวทตวแปรฝงซาย c /= a จะเทากบ

c = c / a

%= เปนการหารตวแปรสองคาแลวเอาเศษจากฝงขวาไปเกบไวทตวแปรฝง

ซาย

c %= a จะเทากบ

c = c % a

**= เปนการยกกาลงตวแปรจากฝงขวาแลวนาคาไปเกบไวทตวแปรฝงซาย c **= a จะเทากบ

c = c ** a

//= เปนการหารไมเอาคาทศนยมของตวแปรสองคาจากฝงขวาไปเกบไวทตว

แปรฝงซาย

c //= a จะเทากบ

c = c // a

Page 12: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 13: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Bitwise Operators

Page 14: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description

& เปนการทาการANDระหวางบตของสองตวแปรในรปแบบเลขฐานสอง

| เปนการทาการORระหวางบตของสองตวแปรในรปแบบเลขฐานสอง

^ เปนการทาการXORระหวางบตของสองตวแปรในรปแบบเลขฐานสอง

~ เปนการทาการกลบบตระหวางสองตวแปรจาก 1’s complement เปน 2’s

complement ในรปแบบเลขฐานสอง

<< เปนการเลอนบตไปทางซายตามจานวนคาทกาหนดไว

>> เปนการเลอนบตไปทางขวาตามจานวนคาทกาหนดไว

Page 15: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 16: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

a = 78 0 1 0 0 1 1 1 0

b = 45 0 0 1 0 1 1 0 1

c = 12 0 0 0 0 1 1 0 0

Page 17: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

a = 78 0 1 0 0 1 1 1 0

b = 45 0 0 1 0 1 1 0 1

c = 111 0 1 1 0 1 1 1 1

Page 18: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

a = 78 0 1 0 0 1 1 1 0

b = 45 0 0 1 0 1 1 0 1

c = 99 0 1 1 0 0 0 1 1

Page 19: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

-79 0 1 0 0 1 1 1 1

a = 78 0 1 0 0 1 1 1 0

~a 1 0 1 1 0 0 0 1

Page 20: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

312 0 0 0 1 0 0 1 1 1 0 0 0

a<<2 0 1 0 0 1 1 1 0

0 0 0 256 0 0 32 16 8 0 0 0

กาหนดให a = 78

29 28 27 26 25 24 23 22 21 20

Page 21: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

19 0 0 0 1 0 0 1 1 1 0

a 0 1 0 0 1 1 1 0

27 26 25 24 23 22 21 20

0 0 0 16 0 0 2 1 0 0

กาหนดให a = 78

Page 22: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Logical Operators

Page 23: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description

and เปนการทาการ AND กนระหวางสองตวแปร ถาเปนจรงเงอนไขกจะเปนจรง

or เปนการทาการ OR กนระหวางสองตวแปร ถาสองตวแปรไมเปนศนยเงอนไข

จะเปนจรง

not เปนการกระทาการ NOT กบเงอนไขนนๆ จะทาใหเงอนไขนนเปนตรงกน

ขาม

Page 24: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 25: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Membership Operators

Page 26: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description

in จะเปนจรงถามการหาตวแปรa เจอในลาดบขางตน

not in จะเปนจรงถาไมมการหาตวแปรa เจอในลาดบขางตน

Membership operators เปนการทดสอบวาขอมลทรบเขามานน

เปนสมาชกของ list, string หรอ tuple หรอไม

Page 27: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 28: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Python Identity Operators

Page 29: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Operator Description

is จะเปนจรง – กตอเมอเปรยบเทยบคาทเกบในหนวยความจามคา

เทากน

is not จะเปนจรง - กตอเมอเปรยบเทยบคาทเกบในหนวยความจามคาไม

เทากน

Identity operators เปนการเปรยบเทยบคาทเกบในหนวยความจาวามคาเทากนหรอไม

Page 30: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 31: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Precedence Rule

Page 32: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Precedence rule เปนลาดบความสาคญของการใชงานแตละ operator โดยลาดบความสาคญของ

operator มดงน

Precedence Operator

1 **

2 ~ + - (ในกรณน + - จะหมายถง คาของตวเลข)

3 * / % //

4 + -

5 >> <<

6 &

7 ^ |

8 <= < > >=

9 <> == !=

10 = %= /= //= -= += *= **=

11 is is not

12 in not in

13 not or and

Page 33: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

Associativity Rule

Page 34: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

จากตาราง Precedence จะเหนวา ม operator บางตวทมความสาคญเทากน ซง

Associativity เปนการจดลาดบการทางานของ operator ทมลาดบความสาคญ

เทากน โดยสวนใหญแลวจะมลาดบการทางานแบบ left-to-right เชน

Page 35: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

แตวาม operator บางตวทไมไดมลาดบการทางานแบบ left-to-right

แตจะมการทางานแบบ right-to-left นนคอ exponent(**)

Page 36: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

โจทย

1. จงหาคา bmi ของตนเอง แลวแสดงคาออกมาทางหนาจอ จากนนนาคาทไดมา

เปรยบเทยบกบตารางแลวแสดงวา bmi ทไดอยในเกณฑไหน

โดย bmi = นาหนก(kg) / สวนสง(m) ยกกาลงสอง

bmi description

นอยกวา 18.5 Under weight

18.5 – 23.4 Normal weight

23.5 – 28.4 Over weight

28.5 – 33.4 Obesity lv 1

33.5 – 39.9 Obesity lv 2

มากกวา 40 Obesity lv 3

Page 37: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND
Page 38: Python Operators - Silpakorn Universitywebserv.cp.su.ac.th/lecturer/tasanawa/cs517321/python/PythonOperator.pdf · Python Logical Operators. Operator. Description. and. เป็นการทําการAND

สมาชกผจดทา

1. นาย ธนบด บณยณตย 07550438

- รบผดชอบเรอง Assignment, Logical, Bitwise

2. นางสาว ธญญลกษณ โพธทอง 07550443

- รบผดชอบเรอง Arithmetic, Comparison

3. นาย รชชานนท พลอยนาผล 07550461

- รบผดชอบเรอง Membership, Identity, Precedence, Associativity