小编Des*_*Des的帖子

如何查看pytest运行期间创建的正常打印输出?

有时我想在我的代码中插入一些打印语句,看看在我练习时会打印出来的内容.我通常的"锻炼"方法是使用现有的pytest测试.但是当我运行这些时,我似乎无法看到任何标准输出(至少来自PyCharm,我的IDE).

在pytest运行期间有没有一种简单的方法来查看标准输出?

python logging pytest output

320
推荐指数
12
解决办法
11万
查看次数

为什么"aClass.aProperty"不可调用?

class A:
  @property
  def p(self): return 2

  def q(self): return 2

a = A()
A.p(a) #>> TypeError: 'property' object is not callable

A.q(a) #>> no error, returns 2
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我理解如果我在一个实例上引用该属性:ap只会返回方法返回值,但我试图从该类的属性开始.我预计上面没有任何错误,两者都评估为2.

python

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

在Python中反映/检查封闭变量

如果我有:

def f(x):
  def g(y):
    return x + y
  return g

f2 = f(2)
Run Code Online (Sandbox Code Playgroud)

有没有办法找到f2将使用的'x'绑定?我看了检查,但无法判断是否有一些'框架'的东西适用.换句话说,我可以在下面定义一个closedVars():

def closed_vars(anF):
    ... return ...

assert closedVars(f2) == {'x': 2}
Run Code Online (Sandbox Code Playgroud)

python closures

9
推荐指数
2
解决办法
701
查看次数

如何使用自制软件在Mac上安装mono 5.0.x?

我试过brew install mono,看起来默认安装4.x版本.

谢谢!

mono homebrew

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

如何定义一个装饰器,它将为函数/方法调用提供插值的文档字符串

我对装饰器还不够好...还是可以定义一个装饰器live_doc,它允许我在方法或函数调用之后获得插值的doc字符串,用实际的参数和返回值填充.

@live_doc("f was called with %d, %s and returned %d")
def f(x, y):
  x + len(y)
Run Code Online (Sandbox Code Playgroud)

在下面的代码之后:

f(3, "marty")

d = f.doc 
Run Code Online (Sandbox Code Playgroud)

d应该是"f被称为3,"marty",并返回8".在访问f.doc之前,我宁愿不构建字符串,但肯定需要在某处松开调用args和返回值.

python decorator

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

将 DOM 节点链接到(浏览器内)域对象的选项:直接引用可以吗?

对于单页应用程序:我希望每个 DOM 节点都有对单个(浏览器内)域对象的引用。只存储这样的直接引用是否可以:

var myDomainObject = ...;
var DOMNode = document.getElementById("myId");
DOMNode.domain_object = myDomainObject;
Run Code Online (Sandbox Code Playgroud)

这安全、可重复吗?浏览器可以通过附加的 JavaScript 属性来做一些神秘的事情吗?

谢谢。

javascript dom

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

如何在 OSX 上的终端中关闭 ls 输出的颜色

我的ls输出将所有目录的颜色与文件的颜色不同,无论我输入ls还是/bin/ls. 我没有任何可以找到的LS_COLOR内容或相关文件。.bashrc

如何关闭这些颜色?(我已经很满意了ls -F

谢谢!

macos terminal ls colors

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

在列表理解中被词汇封闭困惑

l = [1, 2, 3]
a,b,c = [lambda: n*n for n in l]
a()  #=> 9
b()  #=> 9
c()  #=> 9
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我期望a(),b(),c(),为1,4和9.

python

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

标签 统计

python ×5

closures ×1

colors ×1

decorator ×1

dom ×1

homebrew ×1

javascript ×1

logging ×1

ls ×1

macos ×1

mono ×1

output ×1

pytest ×1

terminal ×1