小编ash*_*him的帖子

@property装饰器如何工作?

我想了解内置函数的property工作原理.令我困惑的是,property它也可以用作装饰器,但它只在用作内置函数时才需要参数,而不是用作装饰器时.

这个例子来自文档:

class C(object):
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x
    def setx(self, value):
        self._x = value
    def delx(self):
        del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")
Run Code Online (Sandbox Code Playgroud)

property的论点是getx,setx,delx和文档字符串.

在下面的代码中property用作装饰器.它的对象是x函数,但在上面的代码中,参数中没有对象函数的位置.

class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x
Run Code Online (Sandbox Code Playgroud)

而且,如何在 …

python properties decorator python-internals python-decorators

889
推荐指数
12
解决办法
46万
查看次数

如何只选择一个文件的更改,而不是整个提交

我需要将一个分支中引入的更改应用到另一个分支.我可以用樱桃挑选来做到这一点.但是,在我的情况下,我想应用仅与一个文件相关的更改,我不需要挑选整个提交.怎么做?

git

95
推荐指数
7
解决办法
5万
查看次数

如何将我的Vim高亮线更改为不是下划线?

在某些colorchemes中,当前行突出显示更改背景,而在其他颜色,如Desert,当前行标有下划线.

我想更改沙漠中当前行突出显示使用不同的背景颜色而不是下划线.我怎样才能做到这一点?

我的.vimrc:

set cursorline
highlight Cursorline cterm=bold
Run Code Online (Sandbox Code Playgroud)

更新:.vimrc解决了这个问题

colorscheme desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40
Run Code Online (Sandbox Code Playgroud)

vim

90
推荐指数
5
解决办法
6万
查看次数

如何在vim中将选定的行复制到剪贴板

如何在vim中将选定的行复制到剪贴板.我知道如何为所有文本文件执行此操作,但我想为选定的行执行此操作.谢谢!

vim

75
推荐指数
8
解决办法
9万
查看次数

std :: set和std :: vector有什么区别?

我现在正在学习STL.我读到了set容器.我有问题什么时候想用set?在阅读了集合的描述后,看起来它没用,因为我们可以替代它vector.你能说vectorvs set容器的优点和成本吗?谢谢

c++ stl

65
推荐指数
5
解决办法
7万
查看次数

R.如何在R中列出清单?

我不知道如何在R中列出列表.我有几个列表,我想将它们存储在一个数据结构中,以便更容易地访问它们.但是,看起来你不能在R中使用列表列表,所以如果我从另一个列表中获取列表l1,比如说l2那么我就无法访问元素l1.我该如何实现它?

编辑 - 我将展示一个对我不起作用的例子:

list1 <- list()
list1[1] = 1
list1[2] = 2
list2 <- list()
list2[1] = 'a'
list2[2] = 'b'
list_all <- list(list1, list2)
a = list_all[1]
a[2]
#[[1]]
#NULL
Run Code Online (Sandbox Code Playgroud)

a应该是一个清单!

r

43
推荐指数
3
解决办法
10万
查看次数

如何删除向量中的重复元素,类似于Python中的"set"

我有一个带有重复元素的向量,并希望将它们删除,以便每个元素只出现一次.

在Python中,我可以Set用向量构造一个来实现这个,但是我怎么能在R中做到这一点?

python r duplicates

42
推荐指数
3
解决办法
6万
查看次数

shell脚本.如何使用正则表达式提取字符串

我是shell脚本的新手.我想使用curl发送http请求,然后使用正则表达式提取一些字符串.例如,如何从http响应中提取域名?(该示例仅用于学习目的)

#!/bin/bash
name=$(curl google.com | grep "www\..*com")
echo "domain name is"
echo $name
Run Code Online (Sandbox Code Playgroud)

regex shell curl

42
推荐指数
2
解决办法
14万
查看次数

字节串与unicode字符串.蟒蛇

你能详细解释Python中字节字符串和Unicode字符串之间的区别吗?我读过这个:

字节代码只是将转换后的源代码转换为字节数组

这是否意味着Python有自己的编码/编码格式?或者它是否使用操作系统设置?我不明白.你能解释一下吗?谢谢!

python string unicode

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

为什么我得到"警告更长的物体长度不是较短物体长度的倍数"?

我有dataframe dih_y2.这两行给了我一个警告:

> memb = dih_y2$MemberID[1:10]
> dih_col = which(dih_y2$MemberID == memb)  
Warning message:
In dih_y2$MemberID == memb :
longer object length is not a multiple of shorter object length
Run Code Online (Sandbox Code Playgroud)

为什么?

r

34
推荐指数
3
解决办法
8万
查看次数