forked from tdwojak/Python2017
47 lines
1.2 KiB
Python
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
|