小编Ele*_*naT的帖子

为什么在Python的`finally`子句中不允许`continue`?

以下代码引发语法错误:

>>> for i in range(10):
...     print i
...     try:
...        pass
...     finally:
...        continue
...     print i
...
  File "<stdin>", line 6
SyntaxError: 'continue' not supported inside 'finally' clause
Run Code Online (Sandbox Code Playgroud)

为什么continuefinally条款中不允许声明?

PS另一方面,这个其他代码没有问题:

>>> for i in range(10):
...     print i
...     try:
...        pass
...     finally:
...        break
...
0
Run Code Online (Sandbox Code Playgroud)

如果重要,我使用的是Python 2.6.6.

python continue finally syntax-error

41
推荐指数
3
解决办法
3700
查看次数

为什么Java 5中不推荐使用java.io.Serializable?

在Java 5之前,没有注释.因此,您无法向类添加元数据.

要将类标记为可序列化,您必须实现Serializable接口(这只是一个标记)并使用更多transient关键字将字段标记为不可序列化(如果需要),例如:

public class MyClass implements Serializable {
   ...
   private transient Bla field;
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在你理论上可以使用注释(这对他们来说是完美的用途)并且具有:

@Serializable
public class MyClass {
   ...
   @Transient
   private Bla field;
   ...
}
Run Code Online (Sandbox Code Playgroud)

但是不推荐使用接口和关键字,并且在Java 5中没有添加注释来替换它们.

保留界面和关键字的决定有哪些考虑因素?

当然,存在与Java 5之前的代码兼容的问题,但在某些时候它将结束(例如,与泛型的新功能相关,JLS指定未来版本的Java编程语言可能会禁止使用原始类型).那么为什么不为序列化注释做准备呢?

有什么想法吗?(虽然我更喜欢具体的参考文献:D 无法找到)

java serialization annotations metadata java-5

22
推荐指数
2
解决办法
5368
查看次数


Python命名空间的说明

我正在寻找Python命名空间的一个很好的介绍.我发现这个教程很好,但我确信故事还有更多.

Python参考包含信息,但很难阅读.

请解释python命名空间.在您的解释中,请包括显示各种用途的完整示例.

python namespaces

19
推荐指数
1
解决办法
2万
查看次数

使用Spring 3注释时的最佳实践

我正在寻找使用Spring 3注释时的一些最佳实践.

我目前正在转向Spring 3,从我到目前为止所读到的内容,我看到很多重点都放在使用注释和远离XML配置上.

实际上推荐的是两种风格的混合,注释涵盖了不会经常变化的事物或者从一次运行到另一次运行的事物(例如@Controller,应用程序的生命周期将保持不变),而变化的事物和必须可配置进入XML(例如邮件smtp地址,应用程序与之交谈的Web服务的端点等).

我的问题是应该注释注释到什么程度?

在哪一点上注释会使事情变得更难而不是更容易?技术(春季3)是否完全被采用以便能够做出这样的陈述,还是需要更多的时间让人们获得经验并然后反思这个问题?

java spring annotations spring-3

16
推荐指数
2
解决办法
7078
查看次数

Python - 用户定义的类默认具有__cmp __()和__hash __()方法?要么?

在python 文档中(是的,我在文档中有这个东西)它说:

用户定义的类默认具有__cmp__()__hash__()方法; 与它们一起,所有对象都比较不等(除了自己)和x.__hash__()返回id(x).

但是下面的代码显示了另一件事:

>>> class Test(object): pass
...
>>> t = Test()
>>>
>>> t.__hash__
<method-wrapper '__hash__' of Test object at 0x01F2B5D0>
>>>
>>> t.__cmp__
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Test' object has no attribute '__cmp__'
>>>
Run Code Online (Sandbox Code Playgroud)

那么__cmp__我错过了哪里或什么?

python methods comparison default

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

Python对象数据库列表

我正在寻找一个Python的对象数据库(没有手工泡菜:D).

我有什么选择(除了明显的ZODB)?

python database nosql object-oriented-database

12
推荐指数
3
解决办法
1万
查看次数

int和numbers之间的区别.Python中的整数

我试图深入了解Python的数据模型,我不完全理解以下代码:

>>> x = 1

>>> isinstance(x,int)
True

>>> isinstance(x,numbers.Integral)
True

>>> inspect.getmro(int)
(<type 'int'>, <type 'object'>)

>>> inspect.getmro(numbers.Integral)
(<class 'numbers.Integral'>, <class 'numbers.Rational'>, <class 'numbers.Real'>,
 <class 'numbers.Complex'>, <class 'numbers.Number'>, <type 'object'>)
Run Code Online (Sandbox Code Playgroud)

基于以上所述,它似乎int并且number.Integral不在同一层次结构中.

从Python参考(2.6.6)我看到

numbers.Integral - 这些表示来自整数的数学集合(正面和负面)的元素.

int和之间有什么区别numbers.Integral?它type intclass numbers.Integral我在上面的输出中看到的vs 有什么关系吗?

python

12
推荐指数
3
解决办法
4774
查看次数

Eclipse自动完成 - 当只有二进制jar可用时,它如何知道泛型?

使用类型擦除实现Java泛型.这意味着如果我有一个方法:

public void setMapParam(Map<String, Integer> p) { ... }
Run Code Online (Sandbox Code Playgroud)

在编译之后,它将最终在.class中:

public void setMapParam(Map p) { ... }
Run Code Online (Sandbox Code Playgroud)

我有一个JAR文件,其中包含如上所述的泛型类和方法.它只是二进制文件.没有源代码也没有.

但是当我在代码中使用它时,Eclipse自动完成功能让我setMapParam(Map<String, Integer> p)即使在二进制文件中也是如此setMapParam(Map p).

Map<String, Integer>即使方法签名已被删除(to Map),Eclipse现在如何使用type()?或者我错过了什么?

java eclipse generics autocomplete jar

11
推荐指数
2
解决办法
746
查看次数

使用__getattr __(self,name)访问实例的其他属性

在Python的文档中,__getattr__它所说函数:

请注意,如果通过常规机制找到该属性,则不会调用__getattr __().(这是__getattr __()和__setattr __()之间的故意不对称.)这是出于效率原因而做的,因为否则__getattr __()将无法访问实例的其他属性.

我在理解最后一句话时遇到了问题:

无法访问实例的其他属性

究竟怎么没有办法访问其他属性?(我想这与无限递归有关,但是没有其他方法来访问实例属性,比如来自self.__dict__directy?)

python attributes object

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