小编Sam*_*ard的帖子

Python装饰器与传递函数

def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped

def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped

@makeitalic
@makebold
def hello():
    return "hello world"

print(hello()) ## returns "<b><i>hello world</i></b>"
Run Code Online (Sandbox Code Playgroud)

在这段代码中,为什么不直接定义函数makeitalic()和makebold()并传入函数hello?

我在这里遗漏了什么,或者装饰者对更复杂的东西真的更好吗?

python python-decorators

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

“没有名为“ xlsx”的软件包”:读取.xlsx文件时遇到问题

希望读取.xlsx文件。这是一项任务,因此我特别不能先使用Excel将其转换为.csv。

使用无法找到的read.xlsx进行了尝试,因此我尝试了'library(xlsx)',根据R来说这不是一个软件包。

有人知道我是否在做任何明显的事情吗?包裹的名称有所不同吗?有没有其他/更好的方式来读取xlsx文件?

谢谢!

r

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

递归检查奇数或偶数

在这段代码中:

def is_even(x):
  if x == 0:
    return True
  else:
    return is_odd(x-1)

def is_odd(x):
  return not is_even(x)

print(is_even(2))
print(is_odd(2))
Run Code Online (Sandbox Code Playgroud)

我一直在脑子里想着这个,并想知道它是如何工作的.在我看来,最终xis_even(x)将返回True每次.但是,当我运行代码时,它工作得非常好,True并且False适当地返回.有人能解释一下这是怎么回事吗?

我理解递归的基本概念,并完全理解着名的因子示例是如何工作的.然而,这个对我来说很难缠头.

现在感到无能为力......

python recursion

4
推荐指数
2
解决办法
1061
查看次数

re.findall() 我想要页面上正则表达式的所有唯一实例

正如标题所暗示的那样,我想运行这样的代码(top_url_list 只是一个 url 列表,我正在循环查找我正在使用正则表达式查找的这些文件名约定的实例:

    name_files = []
    for i in top_url_list:
        result = re.findall("\/([a-z]+[0-9][0-9]\W[a-z]+)", str(urlopen(i).read()))
Run Code Online (Sandbox Code Playgroud)

目标是获取正则表达式检查出的所有实例,因此是“findall()”函数。问题是,重要的是我只获得每个实例的不同/唯一性。这可能吗?

python regex findall

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

为什么“&amp;”给我某些对象的内存地址而不是其他对象?

这是有问题的代码(评论行“有问题的行”指向我正在谈论的内容):https : //tour.golang.org/moretypes/20

为什么代码像:

var a int
fmt.Println(&a)
Run Code Online (Sandbox Code Playgroud)

给我一个内存地址...但代码如下:

var m = map[string]Vertex{
    "Bell Labs": Vertex{
        40.68433, -74.39967,
    }
...
fmt.Println(&m)
Run Code Online (Sandbox Code Playgroud)

不这样做吗?

它是对象类型之间的区别吗?

go

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

标签 统计

python ×3

findall ×1

go ×1

python-decorators ×1

r ×1

recursion ×1

regex ×1