通过参数传递,判断数字、字符串、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

 

posted @ 2016-10-12 21:34  小黄人python  阅读(295)  评论(0编辑  收藏  举报