"""
'//' is floor division on python which mean
the result will be rounded down (eg: 3.14 become 3), so
'5 // 2' will be 2
"""
>>> fruits = ['lemon', 'pear', 'watermelon', 'tomato']
>>> print(fruits[0], fruits[1], fruits[2], fruits[3])
lemon pear watermelon tomato
>>> print(*fruits)
lemon pear watermelon tomato
#** is the exponent symbol in Python, so:
print(2 ** 3)
#output: 8
print(3 // 2)
# 1
print(3 / 2)
# 1.5
""" depends on the data type too """
def callme(key1, key2):
print(key1, key2)
obj1 ,obj2 = 6, 9
obj3 = {
"key1": 1,
"key2": 2
}
callme(**obj3) # easy for calling functions
print(obj1 ** obj2) # Here it is a operator (for calculating obj1 ^ obj2)
# @ is used for matris multiplication
class Mat(list):
def __matmul__(self, B):
A = self
return Mat([[sum(A[i][k]*B[k][j] for k in range(len(B)))
for j in range(len(B[0])) ] for i in range(len(A))])
A = Mat([[1,3],[7,5]])
B = Mat([[6,8],[4,2]])
print(A @ B)
print(10 * 10)
# 100
print(10 ** 10)
# 10000000000
>>> class Adder(object):
def __init__(self, num=0):
self.num = num
def __iadd__(self, other):
print 'in __iadd__', other
self.num = self.num + other
return self.num
>>> a = Adder(2)
>>> a += 3
in __iadd__ 3
>>> a
5