各位高人,想请教一个关于变量在函数内外的值的问题,谢谢!

yoyofox2003 2018-03-15 11:32:34
各位高人,我刚试了这样一段程序,请看下图:
将 words 变量代入函数,经过处理之后,再从函数的外部打印 words 的值,发现它改变了。
我印象里面,变量代入函数之后,不是只在函数内部起作用,在外部仍保持原来的值么?

...全文
402 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoyofox2003 2018-03-15
  • 打赏
  • 举报
回复
def print_first_words(aaa): first_word = aaa.pop(0) print first_word words = ['aa',''bb','cc'] print_first_word(words) print words
陈年椰子 2018-03-15
  • 打赏
  • 举报
回复
def print_sorted_word(aaa):
    bbb = sorted(aaa)
    print bbb
    print aaa


the_list = ['cc', 'bb', 'aa']

print_sorted_word(the_list)
print the_list
bbb 是aaa 排序后的复制。 aaa 自己并没有变。
yoyofox2003 2018-03-15
  • 打赏
  • 举报
回复
你好,kuangbao9,想问一下,你看这里的程序,这一次,为什么全局变量 the_list 经过函数处理之后,却可以在外部保持原值了呢? def print_sorted_word (aaa): bbb = sorted (aaa) print bbb the_list = ['cc', 'bb', 'aa'] print_sorted_word (the_list) print the_list 运行结果是: ['aa','bb','cc'] ['cc','bb','aa'] 这次,the_list 再经过了函数处理之后,在函数的外部,却仍保持了自己的原值。不知道为什么在程序 A 里面时,变量在函数的外部为什么没有保持原值呢?
kuangbao9 2018-03-15
  • 打赏
  • 举报
回复
words 这个是全局变量呀,哥们,不是局部变量,不管在程序哪里改变它的值,都会变的呀。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧