Python在定义变量时,不需要声明变量类型,python变量需要声明吗

  Python在定义变量时,不需要声明变量类型,python变量需要声明吗

  我们先来看两个代码。

  #代码段1x=10defbar(:print) x (bar) #输出10 #代码段x=10 defoo)):print(x=1 fooo)#输出trace) mostraceback360。根据unboundlocalerror:局部变量 x referencedbeforeassignment,第一段代码正常工作。为什么会这样?

  这是因为当给作用域中的变量赋值时,该变量将成为作用域中的局部变量,而外部作用域中同名的变量将被隐藏。让我们看看第二段的代码。fo函数的最后一条语句给x赋一个新值,这个新值被编译器识别为局部变量。因此,前面的print(x)在试图打印未初始化的局部变量时会出错。那么,如何在函数中修改函数外同名的变量呢?

  通过将x声明为全局变量,可以访问外部作用域中的变量。

  x=10 def foo(:global x print(x)x)x=1 foo(print)x)# output 1011

  通过显式声明global关键字,可以在函数作用域的外部作用域中访问和更改同名变量的值。当然,也可以使用nonlocal关键字在嵌套的作用域中执行类似的操作。

  Foo (3360x=10defbar)):非本地xprint (x (x) x=1bar)) # output 1011

  初学者的AI入门课程及资料下载机器学习及学习笔记等资料打印机器学习在线手册学习笔记相册《统计学习方法》代码复制相册AI基础下载机器学习数学基础相册获取本网站知识之星优惠券,链接

  https://t.zsxq.com/y7uvZF6

  Qq群704220115。

  加入微信群请扫码:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: