1
0
forked from tdwojak/Python2017
Python2017/labs03/task01.py
2018-01-19 23:14:23 +01:00

47 lines
1.2 KiB
Python

# coding=utf-8
'''
**ćwiczenie 1**
Każdy obiekt w Pythonie na wbudowaną funkcję ``id()``, która zwraca liczbę, która jest unikatowa i stała dla obiektu.
Pozwala ona w prosty sposób sprawdzić, który obiekt jest *mutable*a, który *immutable*: jeżeli po wykonaniu operacji, zwracana liczba jest stała,
to oznacza, że obiekt jest *mutable*. Sprawdź zachowanie funkcji na obiektach typy:
* lista,
* napis (string),
* liczba zmiennoprzecinkowa.
'''
def mutCheck(item):
itemType = type(item)
if itemType is list:
id1 = id(item)
item[0] = "X"
id2 = id(item)
if id1 == id2:
return "List is mutable"
else:
return "List is inmutable"
elif itemType is str:
id1 = id(item)
item += "Pam"
id2 = id(item)
if id1 == id2:
return "String is mutable"
else:
return "String is inmutable"
elif itemType is float:
id1 = id(item)
item += 1
id2 = id(item)
if id1 == id2:
return "Float is mutable"
else:
return "Float is inmutable"
else:
return "Given item is not a list, string or a float type"
toCheck = 2.1
x = mutCheck(toCheck)
print x