小编Rag*_*lik的帖子

Python阻止复制对象作为参考

是否可以在不复制引用的情况下在Python中复制对象?

例如,如果我定义一个类

class SomeClass:
    def __init__(self):
        self.value = 0
Run Code Online (Sandbox Code Playgroud)

然后创建一个实例

someObject = SomeClass()
someObject.value = 12
Run Code Online (Sandbox Code Playgroud)

我尝试将其复制到另一个实例:

anotherObject = someObject
Run Code Online (Sandbox Code Playgroud)

并尝试修改属性,

anotherObject.value = 10
Run Code Online (Sandbox Code Playgroud)

原始属性被修改:

print someObject.value #prints 10
Run Code Online (Sandbox Code Playgroud)

有没有办法防止这种情况发生?为了澄清,我想要anotherObject.value包含10,但我想someObject.value仍然包含原始12.这在python中可能吗?

提前致谢.

python

13
推荐指数
4
解决办法
9654
查看次数

Haskell无点样式,表达式中无功能

我一直在尝试采用一些简单的功能,并将其转换为无点样式进行练习。我开始是这样的:

zipSorted x y = (zip . sort) y $ sort x --zipSorted(x, y) = zip(sort(y), sort(x))
Run Code Online (Sandbox Code Playgroud)

并最终将其转换为

zipSorted = flip (zip . sort) . sort
Run Code Online (Sandbox Code Playgroud)

(我不确定这是否是最好的方法,但确实可行)

现在,我试图不让它依赖于进一步降低这种表达zip,并sort在所有。换句话说,我正在寻找此功能:(如果我的词汇没有误,我认为它是一个组合器)

P(f, g, x, y) = f(g(y), g(x))
Run Code Online (Sandbox Code Playgroud)

sort出现两次但只传递一次的事实提示我应该使用应用函子运算符,<*>但由于某种原因我不知道怎么做。

根据我的理解,(f <*> g)(x) = f(x, g(x))因此,我尝试以这种形式重新编写第一个无点表达式:

flip (zip . sort) . sort
(.) (flip $ zip . sort) sort
(flip (.)) sort $ flip (zip . sort)
(flip (.)) sort $ flip $ (zip .) …
Run Code Online (Sandbox Code Playgroud)

haskell combinators pointfree

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

将CSS应用于单个单词

是否有可能以某种方式应用CSS,以便在元素中存在某个特定单词时进行检测并以某种方式将该单词标记出来?我知道我可以添加HTML <span style="...">word</span>或将其<span class="...">word</span>内联,但这不会自动检测到该单词。有什么办法可以完全在CSS中做到这一点?任何帮助表示赞赏。

html css styles

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

标签 统计

combinators ×1

css ×1

haskell ×1

html ×1

pointfree ×1

python ×1

styles ×1