在python中,您可以定义一个对象,该对象具有__getattr__(self,key)处理所有未知属性的方法,这些方法可以以编程方式解决,但在javascript中,您只能为预定义属性定义getter和setter.是否有一种通用的方式来在javascript中完成前一件事?
示例代码如下:
function X() {};
X.prototype={
__getattr__:function(attrname) {
return "Value for attribute '"+attrname+"'";
}
}
x=new X()
alert(x.lskdjoau); // produces message: "Value of attribute 'lskdjoau'"
Run Code Online (Sandbox Code Playgroud)
关键点是根据属性的名称以编程方式获取属性的值.预设置属性没有帮助,因为在init期间没有信息可能请求哪些属性.
我正在使用python 3.1.1中的windows vista机器.我试图在SQLite3数据库中插入大量的行.该文件存在,我的程序正确地将一些行插入到数据库中.但是,在插入过程中的某个时刻,程序因此消息而死:sqlite3.OperationalError:无法打开数据库文件
但是,在它死之前,有几行已正确添加到数据库中.
以下是专门处理插入的代码:
idx = 0
lst_to_ins = []
for addl_img in all_jpegs:
lst_to_ins.append((addl_img['col1'], addl_img['col2']))
idx = idx + 1
if idx % 10 == 0:
logging.debug('adding rows [%s]', lst_to_ins)
conn.executemany(ins_sql, lst_to_ins)
conn.commit()
lst_to_ins = []
logging.debug('added 10 rows [%d]', idx)
if len(lst_to_ins) > 0:
conn.executemany(ins_sql, lst_to_ins)
conn.commit()
logging.debug('adding the last few rows to the db')
Run Code Online (Sandbox Code Playgroud)
此代码插入10到400行的任何位置,然后消失并显示错误消息
conn.executemany(ins_sql, lst_to_ins)
sqlite3.OperationalError: unable to open database file
Run Code Online (Sandbox Code Playgroud)
我怎么可能插入一些行,但后来得到这个错误?
我在空闲时间阅读这本C++书籍"用C++解决问题".我已经完成了4章,现在我处于分裂状态.我可以转到第5章,即文件操作和OOP简介,或者我可以转到第12章递归.到目前为止,我只讨论了编译器基础知识,if,else和loop syntaxy jazz,以及通过引用调用和值函数调用.这本书没有提及在oop之前是否更好地学习递归,但它确实说某些教师可能更愿意以这种方式教授它,并且可以跳到第12章并返回.我是两个范例的新手,只想知道我先学习一个是有益的.....并且是的,我打算学习两者,所以不要那么聪明的人.
我使用XML文件来存储将由解析器使用的数据和参数,但是在该XML中我还必须使用系统时间.那么,XML中是否有内置的功能来获取系统时间,或许类似于Javascript中的getTime()?
我知道这里有一个帖子:django模板系统,在模型中调用一个函数来描述如何制作一个自定义模板过滤器来实现这一点,但从程序员的角度来看这是一个失败,因为这是一个不适合的东西那.你不能在Django的模板系统中调用带参数的方法似乎很荒谬.
使用命令行时快速定位位置(是的,我是 Emacs 粉丝)。在查看 Bash 的 man 后,我找不到这样的提示。是否需要修改 readline 的源代码来支持这一点?
非常感谢!!
这是一个非常基本的OO问题,但我很好奇我是否已经过火了.
让我们假设以下层次结构,这是我通常会创建的示例:
IVehicle
- IFlyable
- IPlane
- Plane
- IHelicopter
- Helicopter
- IDrivable
- ICar
- Car
- ITruck
- Truck
Run Code Online (Sandbox Code Playgroud)
是接口IPlane,IHelicopter,ICar,和ITruck必要,否则应的类直接实现IFlyable和IDriveable?我正在寻找"最佳oo做法"的答案.
是否有更"有思想"的方式来有效地进行二分法?谢谢.
y<-c(0,3,2,1,0,0,2,5,0,1,0,0);b<-vector()
for (k in 1:length(y)) {
if (y[k] == 0) b[k] = 0
else
b[k] = 1
}
y;b
Run Code Online (Sandbox Code Playgroud) 对于SEO,.html扩展名比.php和.aspx更好吗?或者扩展名为url比所有人更好
有没有办法让python以科学记数法打印极大的长片?我说的是大约10 ^ 1000或更大的数字,在这个尺寸下标准打印"%e"%num失败.
例如:
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "%e" % 10**100 1.000000e+100 >>> print "%e" % 10**1000 Traceback (most recent call last): File "", line 1, in TypeError: float argument required, not long
似乎python试图将long转换为float然后打印它,是否有可能让python只用科学记数法打印长而不将其转换为浮点数?