局部变量与全局变量:定义及使用都与其他语言一样,局部变量在局部定义,作用域为局部即子程序,全局变量在程序初始定义,作用域为整个程序。但是不同的是(1)Python中局部变量若用global关键词定义,则说明此变量已经为全局变量。意味着全局变量在子函数中可以更改。(注:但是这种global方式一般不提倡使用,原因在于会出现不清楚在何地全局变量改变的情况)(2)除了字符串和数字的全局变量在子函数中不能修改外,列表,字典都可以修改。如下例
列表
record=[2,3,4,"xiaohua"] def change_record(): record[2]="xiaoming" print("inside func:",record) change_record() print(record)结果:inside func: [2, 3, 'xiaoming', 'xiaohua']
[2, 3, 'xiaoming', 'xiaohua']
字典
record={2:"xiaohei",3:"xiaopeng",4:"xiaoxia",5:"xiaoliu"} def change_record(): record[2]="xiaoming" print("inside func:",record) change_record() print(record)结果:inside func: {2: 'xiaoming', 3: 'xiaopeng', 4: 'xiaoxia', 5: 'xiaoliu'}
{2: 'xiaoming', 3: 'xiaopeng', 4: 'xiaoxia', 5: 'xiaoliu'}