相关疑难解决方法(0)

什么时候在Python中有用?

我真的不能想到为什么python需要del关键字(并且大多数语言似乎没有类似的关键字).例如,不是删除变量,而是可以分配None给它.从字典中删除时,del可以添加方法.

是否有任何理由保留delpython,或者它是Python垃圾收集前几天的遗迹?

python dictionary del python-internals

350
推荐指数
12
解决办法
31万
查看次数

模块的属性可以与对象相同吗?

使用python属性,我可以这样做

obj.y 
Run Code Online (Sandbox Code Playgroud)

调用函数而不是仅返回值.

有没有办法用模块做到这一点?我有一个我想要的案例

module.y 
Run Code Online (Sandbox Code Playgroud)

调用函数,而不是只返回存储在那里的值.

python properties python-module

87
推荐指数
5
解决办法
2万
查看次数

使用 Walrus Operator := 赋值表达式出现意外的 Python 变量范围

我发现以下代码的变量范围非常出乎意料...(来自其他语言,其中变量的范围scope_var仅存在于 IF 的范围内):

if scope_var := 'exists after IF':
    pass
print(scope_var)
Run Code Online (Sandbox Code Playgroud)

将打印什么?

python scope python-3.x

3
推荐指数
1
解决办法
1206
查看次数

为什么if else块中定义的变量可以在块外使用?

import numpy as np
import tensorflow as tf


class simpleTest(tf.test.TestCase):
  def setUp(self):
    self.X = np.random.random_sample(size = (2, 3, 2))

  def test(self):
    a = 4
    x = tf.constant(self.X,  dtype=tf.float32)
    if a % 2 == 0:
      y = 2*x

    else:
      y = 3*x 

    z = 4*y

    with self.test_session():
      print y.eval()
      print z.eval()

if __name__ == "__main__":
  tf.test.main()
Run Code Online (Sandbox Code Playgroud)

这里y是tensorflow变量,并且在if else块中定义,为什么它可以在块外部使用?

python variables scope if-statement tensorflow

1
推荐指数
1
解决办法
111
查看次数

在 for 循环之外使用 for 循环变量

我不明白这怎么可能?这里我在循环外使用ifor循环的值。forfor

for i, kv in enumerate(bucket): 
    k, v = kv  
    if key == k:
        key_exists = True
        break 

#here is the issue...

if key_exists:
    bucket[i] = ((key, value))
    print(i)
else:
    bucket.append((key, value))
Run Code Online (Sandbox Code Playgroud)

python for-loop python-3.x

-1
推荐指数
1
解决办法
4116
查看次数