可能重复:
属性与方法
我有一些矢量几何类,并且有很多功能我不知道是否实现为(只读)属性或方法.例子包括:
Vector.Length or Vector.Length()
Vector.Perpendicular or Vector.Perpendicular()
Matrix.Determinant or Matrix.Determinant()
Matrix.Inverse or Matrix.Inverse()
Run Code Online (Sandbox Code Playgroud)
我应该将这些作为方法或属性实现吗?他们都没有改变他们适用的对象,所以在这方面,他们似乎适合作为属性.另一方面,它们涉及计算(虽然是小的 - 这是2D几何),这显然对属性不利.
在这种情况下,我应该使用哪些规则?
是否有用于从程序上传chrome扩展程序的API,而无需打开浏览器?
我想要一个更简单的上传更新版本的方法 - 目前这个过程很笨重:
我希望能够为我编写一个小脚本来执行此操作,但我不知道我应该请求哪些URL.
我有一个有效的驱动器号列表,我想向最终用户提供一个选择.我想向他们展示驱动器的名称.这里有一些代码可以显示驱动器的名称F:\:
import ctypes
kernel32 = ctypes.windll.kernel32
buf = ctypes.create_unicode_buffer(1024)
kernel32.GetVolumeNameForVolumeMountPointW(
ctypes.c_wchar_p("F:\\"),
buf,
ctypes.sizeof(buf)
)
print buf.value
Run Code Online (Sandbox Code Playgroud)
但是,这个输出\\?\Volume{a8b6b3df-1a63-11e1-9f6f-0007e9ebdfbf}\.如何获取Windows在资源管理器中显示的字符串(例如KINGSTON,对于我拥有的某个闪存驱动器)?
还是行不通:
volumeNameBuffer = ctypes.create_unicode_buffer(1024)
fileSystemNameBuffer = ctypes.create_unicode_buffer(1024)
kernel32.GetVolumeInformationW(
ctypes.c_wchar_p("C:\\"),
volumeNameBuffer,
ctypes.sizeof(volumeNameBuffer),
fileSystemNameBuffer,
ctypes.sizeof(fileSystemNameBuffer)
)
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
WindowsError: exception: access violation reading 0x3A353FA0
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用重命名git存储库中的一些提交者git filter-branch。我很想使用一些更复杂的逻辑,但是我不太了解bash。我当前正在使用的(工作)脚本如下所示:
git filter-branch -f --tag-name-filter cat --env-filter '
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if [ $cn = "ew" ]
then
cn="Eric"
cm="my.email@provider.com"
fi
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
' -- --all
Run Code Online (Sandbox Code Playgroud)
我可以使用python脚本作为--env-filter参数吗?如果是这样,我将如何获得读写权限$GIT_COMMITTER_NAME?
我将如何在python文件中执行与该bash字符串等效的操作?
我有一个sublime文本的问题,通常应该是所有编辑器.当我有这样的正则表达式.
listRegex = re.findall(r'[*][[][[].*', testString)
Run Code Online (Sandbox Code Playgroud)
正则表达式之后的所有文本都将被错误地突出显示,因为[[],特别是[没有关闭括号.虽然这个正则表达式的意图是正确的,但编辑器并不知道这一点.
这只是一个我不知道如何处理的烦恼.有人知道怎么修这个东西吗?
说我有这个代码:
def wait_for_x(timeout_at=None):
while condition_that_could_raise_exceptions
if timeout_at is not None and time.time() > timeout_at:
raise SOMEEXCEPTIONHERE
do_some_stuff()
try:
foo()
wait_for_x(timeout_at=time.time() + 10)
bar()
except SOMEEXCEPTIONHERE:
# report timeout, move on to something else
Run Code Online (Sandbox Code Playgroud)
如何SOMEEXCEPTIONHERE为函数选择异常类型?为该函数创建唯一的异常类型是否合理,以便不存在condition_that_could_raise_exceptions引发相同异常类型的危险?
wait_for_x.Timeout = type('Timeout', (Exception,), {})
Run Code Online (Sandbox Code Playgroud) 在Windows上:
_.github.com在浏览器中访问工作nslookup _.github.com 作品ping _.github.com 作品 在Linux上(在两个独立的网络上测试):
_.github.com在浏览器中访问工作host _.github.com 作品 ping _.github.com 才不是python -c "import requests; requests.get('_.github.com')" 才不是这里发生了什么?
我正在将一段目前使用numpy的python代码移植到IronPython(其原因与我正在编写的平台的细节有关).
由于numpy和IronPython不兼容,我需要用Math.NET等效替换每个numpy函数,我已将其作为外部引用添加.
作为Math.NET的新手,我很难找到相应的numpy.where()函数.
任何帮助将不胜感激!
是否可以从 nd 数组中查找条目而不抛出IndexError?
我希望是这样的:
>>> a = np.arange(10) * 2
>>> a[[-4, 2, 8, 12]]
IndexError
>>> wrap(a, default=-1)[[-4, 2, 8, 12]]
[-1, 4, 16, -1]
>>> wrap(a, default=-1)[200]
-1
Run Code Online (Sandbox Code Playgroud)
或者可能更像 get_with_default(a, [-4, 2, 8, 12], default=-1)
有没有一些内置的方法来做到这一点?我可以要求 numpy 不要抛出异常并返回垃圾,然后我可以用我的默认值替换它吗?
我可以成功声明一个这样的嵌套类:
class Outer {
static Inner = class Inner {
};
}
Run Code Online (Sandbox Code Playgroud)
但是,我希望我的外部类能够保存我的内部类的一些实例:
class Outer {
constructor() {
this.inners = [new Outer.Inner()];
}
static Inner = class Inner {
};
inners: Array<Inner>; // this line errors
}
Run Code Online (Sandbox Code Playgroud)
但这给了我 error TS2304: Cannot find name 'Inner'.
我怎样才能做到这一点?
python ×5
numpy ×2
bash ×1
c# ×1
color-scheme ×1
ctypes ×1
dns ×1
exception ×1
git ×1
ironpython ×1
linux ×1
ping ×1
properties ×1
rhinoceros ×1
semantics ×1
sublimetext2 ×1
typescript ×1
windows ×1