python中elif可以单独使用吗_如果在python中使用elif块,请替换

事实证明,这个条件块继续在我的代码中重复自己。任何其他方式让我的生活更轻松?当然,一个条件下执行的身体是不同的。

if self.datatype == "string":

t = "z"

elif self.datatype == "double":

t = "d"

elif self.datatype == "number":

t = "i"

elif self.datatype == "blob":

t = "z"

else:

raise EntParEx("Unknown datatype" + self.datatype)......更多的代码使用相同的条件

def emit_cpp_def(self):

s = ""

e = ""

if self.datatype == "string":

s += "static const int " + self.lenvar + " = " + self.length + ";"

s += "\nchar"

e += "[" + self.lenvar + " + 2" + "]"

elif self.datatype == "double":

s += "double"

elif self.datatype == "number":

s += "int"

elif self.datatype == "blob":

s += "char*"

else:

raise EntParEx("Unknown datatype" + self.datatype)

s += " " + self.cpp_membername;

s += e

s += ";"

return s;

def emit_cursor_def_code(self):

if self.datatype == "blob":

return ""

ret = "nvl(" + self.db_fieldname + ", "

#TODO: Add default value loading!

if self.datatype == "string":

ret += "\' \'"

elif self.datatype == "double":

ret += "-1.0"

elif self.datatype == "number":

ret += "-1"

else:

raise EntParEx("Unknown datatype" + self.datatype)

ret += "), "

return ret编辑:

我认为我需要的是像为每种类型运行特定功能的东西。不幸的是,我并不熟悉python。可以这样做吗?即

switch_datatype(function_string(), function_integer(), ...etc)这是否更糟糕?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值