python变量在使用前可以不赋值即使用,python直接给属性赋值的问题

  python变量在使用前可以不赋值即使用,python直接给属性赋值的问题

  python中为什么没有属性赋值的“with”语句?

  Python有一个‘with’语句,封装了一个块的执行,在块的入口和出口调用代码。一些语言的结构如下:3360

  带obj:

  a=1#equivalenttoobj.a=1

  total=total 1 # obj . total=obj . total 1在Python中,这样的结构是二义性的。

  其他语言,如ObjectPascal、Delphi和C,使用静态类型,所以它们可以明确地知道成员被分配给什么。这是静态类型的关键点——编译器在编译时总是知道每个变量的范围。

  使用Python动态类型。不可能预先知道在运行时要引用哪个属性。您可以动态添加或删除对象中的成员属性。这就使得单纯的阅读无法知道引用的是什么属性:局部属性、全局属性还是成员属性?

  例如,使用下面的不完整代码段3360。

  deffoo(a):

  witha:

  Print(x)此代码片段假定“a”必须有一个名为“x”的成员属性。然而,这并没有告诉Python中的解释器。假设‘a’是一个整数,会发生什么?如果有一个名为 x 的全局变量,会在with块中使用吗?正如您所看到的,Python的动态特性使得这样的选择更加困难。

  但是,Python可以通过赋值轻松实现‘with’和类似语言特性的主要好处(减少代码量)。而不是:

  函数(参数)。mydict[index][index]。a=21

  函数(参数)。mydict[index][index]。b=42

  函数(参数)。myddict [index] [index]。c=63这样写:

  ref=函数(参数)。索引[索引]

  参考a=21

  参考b=42

  Ref.c=63这也有提高执行速度的副作用,因为Python在运行时解析名称绑定,而第二个版本只需要执行一次解析。

  更多Python问答。一个内容,请关注Python视频教程!

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

相关文章阅读

  • 在python中可以作为变量名的是,下列不可以作为python变量名的是
  • Python在定义变量时,不需要声明变量类型,python变量需要声明吗
  • python中的变量命名,python变量命名的详细注意事项
  • Python中赋值语句,python变量的赋值操作
  • python变量命名规则和规范,python变量名的命名规范
  • python变量的使用,关于python变量
  • python 逗号 赋值,python变量后面加逗号
  • 怎样配置python变量环境,Python如何配置环境变量
  • python变量命名法,python中变量命名的规则
  • python变量名前面有一个下划线,python中下划线开头的命名
  • 简述python变量的命名规则,python中变量的命名规则
  • python变量的赋值操作即是变量,python中变量赋值语句例子
  • python变量名的命名规则,python变量名命名规则
  • python变量命名的详细注意事项,python简述变量的命名规则
  • Python变量的作用域不由变量所在源代码中的位置决定,python关于变量的作用域下列说法错误的
  • 留言与评论(共有 条评论)
       
    验证码: