假设在我的应用程序中我在第1页上创建了一个对象实例.然后用户转到应用程序的其他部分,我希望保留实例.我如何'保存'实例?会议?
我想创建一个只能有一个实例的类.如果我尝试创建该类的另一个实例,它将返回第一个实例.
***EDIT2:对于损坏的代码感到抱歉.这是工作代码,说明了同样的问题:
class bead():
def printmsg(a):
print('test message')
chain1=bead()
x='chain1'
eval(x + '.printmsg()')
Run Code Online (Sandbox Code Playgroud)
***编辑:谢谢gnibbler回答原始问题.这是我的问题更好的措辞版本:
class bead():
def msg():
print('test message')
x='chain1'
y='bead1'
eval(x + '.' + y + '=bead()')
chain1.bead1.msg()
Run Code Online (Sandbox Code Playgroud)
输出:'测试消息'
有什么更好的方法呢?
原始问题:
脚本:
class testClass():
test1='test1 text'
x='testClass'
y='test1'
eval(x + '.' + y)
Run Code Online (Sandbox Code Playgroud)
输出:'test1 text'
有没有更好的方法呢?
***编辑:getattr()用于从类中提取信息.谢谢gnibbler.让我稍微改变一下这个问题:
我可以用什么而不是:
x ='chain1'y ='mol1'
我有一个谷歌应用程序引擎,我已经安排了几个cron作业作为数据库清理任务,但这些cron作业正在燃烧我所有的实例时间(前面或后面),即使这些作业的实际处理时间几乎没有.
难道我做错了什么?有没有办法可以配置这些后台任务而不浪费我所有的实例时间?
这是我的代码:
<?php
require_once 'classes/dbconnect.php';
$connector = new dbconnect();
pp();
function pp(){
$uid="0000007";
$table = $connector->query("SELECT * FROM tc_personal WHERE uid = '$uid'");
$tb = mysql_fetch_object($table);
print $tb->name;
}
?>
Run Code Online (Sandbox Code Playgroud)
但是这段代码不起作用,因为pp()函数无法访问$连接器.如何将全局变量定义为$ connector?
我正在使用go语言,通过通道和锁而不是数据存储区在不同的线程/例程之间进行通信似乎是一种很好的做法.但是,如果有多个实例在运行,则两个实例之间似乎不可能.有没有办法让它不开第二个,即使有高流量?
我需要为特定数据类型声明一个Monad实例:
data M m a = Mk (m (Maybe a))
instance (Monad m) => Monad (M m) where
return x = Mk (m (Just x))
Mk (m (Nothing)) >>= f = Mk (m (Nothing))
Mk (m (Just x)) >>= f = f x
Run Code Online (Sandbox Code Playgroud)
但我得到:
test.hs:6:7: Parse error in pattern: m
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)
这可能很简单,但我无法弄清楚!
我有一个静态内部类,我想在其中使用外部类的实例变量.目前,我必须以这种格式"Outerclass.this.instanceVariable"使用它,这看起来很奇怪,有没有更简单的方法来访问外部类的实例字段?
Public class Outer
{
private int x;
private int y;
private static class Inner implements Comparator<Point>
{
int xCoordinate = Outer.this.x; // any easier way to access outer x ?
}
}
Run Code Online (Sandbox Code Playgroud) 我知道Python的保证,有只有一个实例NoneType,该None对象,这样就可以安全地使用is None测试某等于None.
是否有同等保障bool True和False(即只有一个每个实例)?
如果没有,为什么不呢?
编辑:我特别注意到,(n+0) is (0+n)给出True了n个range(-5, 257)和False其他.换句话说,零,前256个正整数和前5个负整数似乎是预先缓存的,并且不会再次实例化.我猜这是解释器的选择(在我的例子中是CPython)而不是语言的规范.并且bool源自int,所以我仍然不得不怀疑我可以与其他口译员有什么期望.
编辑:澄清,因为这似乎产生了很多混乱,我的意图是不测试值的布尔解释.为此我永远不会使用is True或is False.我的目的是能够区分False其他一切,在一个变量中可以有几种类型的值,包括空字符串,零和None,以及类似的True.我本身就是一位经验丰富的程序员,当我看到"如果booleanvar == True"时,他就是那种畏缩的人.
关于复制品的说明:据称这个问题是(本和本)的副本不回答这个问题; 他们只是声明这bool是一个int主要在他们的不同的子类,而repr不是如果True并且False保证是唯一的.
另外,请注意,这不是关于名称 True和False绑定的问题,而是关于类的实例的问题bool …
我是一名自学成才的Haskell爱好者,我正在构建一种名为Physical的新类型,我可以使用它来表示物理量.它使用两个Float分别表示物理量的值及其不确定性.
data Physical = Physical {
value :: Float,
err :: Float
}
Run Code Online (Sandbox Code Playgroud)
我使用标准规则来计算总和,差异的不确定性和两个量的乘积来定义Num类型类的实例.
instance Num Physical where
(Physical v1 u1) + (Physical v2 u2) = (Physical (v1+v2) (u1+u2))
(Physical v1 u1) - (Physical v2 u2) = (Physical (v1-v2) (u1+u2))
(Physical v1 u1) * (Physical v2 u2) = (Physical (v1*v2) (sqrt((u1 /v1)^2 + (u2 /v2)^2)*v1*v2))
Run Code Online (Sandbox Code Playgroud)
到目前为止,我没有遇到代码工作.但是,当我试图使像这样的物理分数的实例
instance Fractional Physical where
(Physical v1 u1) / (Physical v2 u2) = (Physical (v1 / …Run Code Online (Sandbox Code Playgroud)