Thursday, 19 March 2015

5.1.Expression Operators

Ini adalah tool paling fundamental untuk memproses angka. Pada python kita bisa menggunakan matematika seperti matematika. Jika kita ingin menambahkan 2 bilangan, seperti a + b, pada python juga sama, kita tinggal tulis bilangan yang pertama, lalu lambang tambah dan tulis bilangan yang kedua.

  •  >>> 2+5
  • 7
  • >>> 2     +5
  • 7
  • >>> 

Spasi tidak berarti apa-apa. Kita boleh menggunakan spaci maupun tidak, optional. 

Tapi tetap ada yang berbeda dari penggunaan matematika disekolah dan di python. Misalnya untuk tanda pangkat 2, biasanya kita menggunakan x2 , pada python tandanya berubah menjadi x**2, tanda pangkat adalah double tanda bintang.


  • >>> 2**2
  • 4
  • >>> 3**2
  • 9
  • >>> 3**3
  • 27
  • >>> 

Ada juga modulus atau modulo atau division remainder (%), atau bitwise left shift (<<) dan lain-lain.




Operator
Deskripsi
a if b else c
Hasil nya 'a' bila 'b' true, bila tidak hasilnya 'z'.
>>> a=1
>>> b=True
>>> c=5
>>> a if b else c # hasil a
>>> b=False
>>> a if b else c # hasil c
>>>
a or b
Logika 'atau' ('or').
>>> a=True
>>> b=False
>>> a or b
True
>>>
a and b
Logika 'dan' ('and').
>>> a=True
>>> b=False
>>> a and b
False
>>>
not x
Kebalikan dari x, bila x True maka hasilnya adalah False.
>>> a=True
>>> not a
False
>>>
a in b,
a not in b
Mencari data 'a' di data 'b'.
>>> b=[1,2,3]
>>> a in b
False
>>> a=7
>>> a in b
False
>>> a=2
>>> a in b
True
>>>
a is b,
a is not b
Membandingkan identitas 'a' dan 'b'
>>> a=True
>>> b=False
>>> a is b
False
>>> b=True
>>> a is b
True
>>>
a < b,
a <= b, 
a > b,
a >= b
Menbandingkan lebih kecil, lebih kecil atau sama dengan, lebih besar, lebih besar atau sama dengan.
>>> a=1
>>> b=2
>>> c=1
>>> a<b
True
>>> a<=c
True
>>> b<a
False
>>> 
a == b, 
a != b
Untuk membandingkan nilai
>>> a=100
>>> b=101
>>> a==b
False
>>> a!=b
True
>>> b=100
>>> a==b
True
>>> a!=b
False

>>> 
a | b
Bitwise OR, set union
Input
Output
A
B
0
0
0
0
1
1
1
0
1
1
1
1
a ^ b
Bitwise XOR, set symmetric difference
Input
Output
A
B
0
0
0
0
1
1
1
0
1
1
1
0
a & b
Bitwise AND, set intersection
Input
Output
A
B
0
0
0
0
1
0
1
0
0
1
1
1
a << b, 
a >> b
Shift a left or right by b bits
>>> a=10
>>> bin(a)
'0b1010'
>>> b=a<<2 #tambahkan 2 bit kesisi kanan ->0b1010 jadi 0b101000
>>> bin(b)
'0b101000'
>>> b=a>>2 #kurangi 2 bit disisi kanan->0b1010 jadi 0b10
>>> bin(b)
'0b10'

>>>
a + b

Penjumlahan
a – b
Pengurangan
a * b
Perkalian
a % b
Modulus
a / b, 
a // b
Pembagian, pembulatan kebawah
>>> a=7
>>> b=2
>>> a / b
3.5
>>> a // b
3

>>> 
−a, 
+a
Negatif, positip
>>> a=3

>>> b=-2
>>> -a
-3
>>> -b
2
>>> +b
-2

>>> 
˜a
Bitwise NOT (inversion)
Operasi ini sama dengan = - a-1
>>> a=40
>>> bin(a)
'0b101000'
>>> b=~a
>>> bin(b)
'-0b101001'

>>> b
-41
>>> 
a ** b
Pangkat
a[i]
Indexing
a[i:j:k]
Pemotongan
a(...)
Memanggil function, method, class, atau yang bisa dipanggil
a.attr
Attribute reference
(...)
Tuple, expression, generator expression
[...]
List, list comprehension
{...}
Dictionary, set, set dan dictionary comprehensions

ada beberapa perbedaan antara Python 3.x dengan 2.x, untuk operasi pada tabel diatas. 

No comments:

Post a Comment