通过参数传递,判断数字、字符串、list、tuple、词典等数据类型是否为可变数据对象
list:
>>> a = [1,2,3,4]
>>> a[0]
1
>>> a[1]
2
>>> a[0] = 10
>>> a
[10, 2, 3, 4]
def type_list(x): x[0] = 10 print x if __name__ == '__main__': a = [1,2,3,4] type_list(a) print a [10,2,3,4] [10,2,3,4]
tuple:
tuple: >>> a = (1,2,3,4) >>> a[0] 1 >>> a[1] 2 >>> a[0] = 10 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
def type_tuple(x):
x[0] = 10
print x
if __name__ == '__main__':
a = (1,2,3,4)
type_tuple(a)
print a
Traceback (most recent call last):
File "type_tuple.py", line 7, in <module>
type_tuple(a)
File "type_tuple.py", line 2, in type_tuple
x[0] = 10
TypeError: 'tuple' object does not support item assignment
dict:
>>> a = {'tom':97, 'lisa':85} >>> a['tom'] 97 >>> a['tom'] = 75 >>> a {'lisa': 85, 'tom': 75} def type_list(x): x['tom'] = 75 print x if __name__ == '__main__': a = {'tom':98, 'lisa':85} type_list(a) print a {'lisa': 85, 'tom': 75} {'lisa': 85, 'tom': 75}
string:
>>> a = 'abcd' >>> a[0] 'a' >>> a[1] 'b' >>> a[2] 'c' >>> a[0] = 'b' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment
def type_str(x):
x = 'bbbb'
print x
if __name__ == '__main__':
a = 'abcd'
type_str(a)
print a
bbbb
abcd
number:
def type_number(x): x = 100 print x if __name__ == '__main__': a = 1 type_number(a) print a 100 1