Python 2 documentation says that super() function "returns a proxy object that delegates method calls to a parent or sibling class of type."
The questions:
我的假设是给定类的兄弟是一个继承自同一父母的类.我起草了以下代码,以了解如何将方法调用委托给兄弟,但它不起作用.我做什么或理解错了什么?
class ClassA(object):
def MethodA(self):
print "MethodA of ClassA"
class ClassB(ClassA):
def MethodB(self):
print "MethodB of ClassB"
class ClassC(ClassA):
def MethodA(self):
super(ClassC, self).MethodA()
def MethodB(self):
super(ClassC, self).MethodB()
if __name__ == '__main__':
ClassC().MethodA() # Works as expected
# …Run Code Online (Sandbox Code Playgroud) 在Python 2里的文件说:"我们鼓励程序员从BaseException获得从Exception类或新的例外它的一个子类,而不是".没有任何进一步解释为什么.
我很好奇为什么这样推荐?它只是保留异常层次结构,因为Python开发人员设想它?
>>> dir(BaseException) == dir(Exception)
True
Run Code Online (Sandbox Code Playgroud) 如果不需要,签名请求的默认到期值是多少?它是否等于X-Amz-Expires参数的最大可能值,即604800(七天)?
文档(参见上面的链接)X-Amz-Expires仅在查询字符串中传递签名参数的上下文中讨论参数.如果X-Amz-Expires需要参数,是否只需要在查询字符串中传递签名参数(而不是使用Authorization标头传递它们)?
更新:
AWS安全流程简介论文,第17页说
请求必须在请求中的时间戳记的15分钟内到达AWS.否则,AWS拒绝该请求.
现在我们在这里谈什么时间戳?我的猜测是X-Amz-Date.如果我是对的,那么另一个问题就出现了:
X-Amz-Date和X-Amz-Expires参数如何相互关联?对我来说,这听起来像请求到期算法从X-Amz-Date时间戳回落到15分钟,如果X-Amz-Expire不存在的话.有问题的MS SQL Server版本是8.
在master之外的数据库的上下文中如果我从master数据库调用存储过程,对于其中一些我必须附加master..前缀(否则我得到找不到存储过程'procname'错误),对于其中一些我不这样做.例如,我可以打电话 -
EXEC sp_addlogin 'user' 'pass';
Run Code Online (Sandbox Code Playgroud)
- 它有效,但是 -
EXEC xp_cmdshell 'command';
Run Code Online (Sandbox Code Playgroud)
- 没有.我必须在master..它前面工作 -
EXEC master..xp_cmdshell 'command';
Run Code Online (Sandbox Code Playgroud)
我可能在这里错了,但我发现必须master..只添加那些以xp_(而不是sp_)开头的存储过程.
为什么我必须先调用其中一些,master..而其中一些可以不调用?