我有一个 XLL,想在 Excel 中加载它。
使用 Tools->AddIn 或 File->Open 加载之间有什么区别吗?
谢谢!
可能重复:
如何以最佳方式将字符列表连接到字符串?
我有一个字符列表:
['h', 'e', 'l', 'l', 'o']
Run Code Online (Sandbox Code Playgroud)
有没有办法在不需要类似'for'循环的字符串'hello'中连接这种列表的元素?谢谢.
我有一个类似的课程
class C:
def __init__(self, a):
self.a = a
def noParam(self):
return self.a
def withParam(self, b)
return self.a + b
instC = C(5.)
Run Code Online (Sandbox Code Playgroud)
我需要传递一个类的特定实例的方法作为参数.传instC.noParam工作正常,但我怎么通过instC.withParam与b总是等于说239?谢谢.
我有VisualBasic6的问题.
我有3个文本框和2个命令按钮.
我想在检查第一个文本框时检测VbCrLf,逐字母然后在第二个文本框中写入另一个文本框:101和另一个函数检查第二个文本框,如果找到101则在第三个文本框中创建一个新行(vbcrlf).
在命令中:
For i = 1 to len(text1.text)
if Mid(txtD.Text, i, 1) = vbcrlf then
text2.text = 101
endif
next
Run Code Online (Sandbox Code Playgroud)
在Command2中:
if text2.text = 101 then
text3.text = text3.text & vbcrlf
endif
Run Code Online (Sandbox Code Playgroud)
但是当我检查Vbcrlf时,似乎字符不是换行符,而text2.text没有填充 101
我也试过VbNewLine,但也有同样的问题!
谢谢你的朋友们!
我有一个方法可以根据形状的名称和一些参数绘制一条线或任何形状的补丁,它工作正常:
def draw_a_shape(ax, is_patch_not_line, shapename, **kwargs):
...
Run Code Online (Sandbox Code Playgroud)
现在我需要有 30 多个函数,比如draw_a_square_patch,draw_an_ellipse_outline等等。我可以用一种简单的方式实现它们,如下所示,但这有点痛苦:
def draw_a_square_patch(ax, **kwargs):
draw_a_shape(ax=ax, is_patch_not_line=True, shapename='a_square', **kwargs)
def draw_a_square_outline(ax, **kwargs):
draw_a_shape(ax=ax, is_patch_not_line=False, shapename='a_square', **kwargs)
def draw_an_ellipse_patch(ax, **kwargs):
draw_a_shape(ax=ax, is_patch_not_line=True, shapename='an_ellipse', **kwargs)
def draw_an_ellipse_outline(ax, **kwargs):
draw_a_shape(ax=ax, is_patch_not_line=False, shapename='an_ellipse', **kwargs)
.........
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法使用循环来做到这一点,也许像setattr?我在下面添加了一个无效的代码,只是为了解释我的意思:
for shapename in ['a_circle', 'a_square', ...]:
for is_patch_not_line in [False, True]:
new_func_name = "draw_" + shapename + "_"
if is_patch_not_line:
new_func_name += "patch"
else:
new_func_name += "outline"
global.setattr(new_func_name, "ax, **kwargs", ...)
Run Code Online (Sandbox Code Playgroud) 似乎原子类型(int,string,...)是通过值传递的,而所有其他的(对象,指向函数的指针,指向方法的指针......)都是通过引用传递的.
检查变量是按值传递还是按引用传递的最佳方法是什么?
isinstance(input_, float) or isinstance(input_, basestring) or <...>
Run Code Online (Sandbox Code Playgroud)
似乎非常不优雅.
我需要它的原因如下:我有一个包装wx.Button的类,如果args/kwargs是按值传递的类型,则不会考虑更新其他对象中的值.所以一些检查将是有益的
class PalpyButton(wx.Button):
def __init__(self, parent, btnLabel, handler, successMsg = None, args = (), kwargs = {}):
super(PalpyButton, self).__init__(parent, -1, btnLabel)
self.handler = handler
self.successMsg = successMsg
parent.Bind(wx.EVT_BUTTON, lambda event: self.onClick(event, *args, **kwargs), self)
def onClick(self, event, *args, **kwargs):
try:
self.handler(*args, **kwargs)
if self.successMsg != None:
if hasattr(self.successMsg, '__call__'):
showInfoMessageBox(self.successMsg())
else:
showInfoMessageBox(self.successMsg)
except BaseException, detail:
showErrorMessageBox(detail)
Run Code Online (Sandbox Code Playgroud)