Python中的多个复合语句可以在一行中吗?
我有一些这样的代码:Python中的多个复合语句可以在一行中吗?,python,python-3.x,idioms,Python,Python 3.x,Idioms,我有一些这样的代码: def loongFunction(*args): if len(args) < 2: return else: x1 = args[0] y1 = args[1] if len(args) == 4: x2 = args[2] y2 = args[3] def loongFunction(*args): 如果len(args)
def loongFunction(*args):
if len(args) < 2:
return
else:
x1 = args[0]
y1 = args[1]
if len(args) == 4:
x2 = args[2]
y2 = args[3]
def loongFunction(*args):
如果len(args)<2:
回来
其他:
x1=args[0]
y1=args[1]
如果len(args)==4:
x2=args[2]
y2=args[3]
这个函数能得到的最小的/惯用的语言是什么
注意:如果
len(args)
是2,我不想声明x2
和y2
。如果您只想让它尽可能短,这里有一些可以做的调整
def loongFunction(*args):
if len(args) > 1: x1, y1 = args[0], args[1]
if len(args) == 4: x2, y2 = args[2], args[3]
def loongFunction(*args):
if len(args) < 2: return
x1, y1 = args[:2]
if len(args) == 4: x2, y2 = args[2:4]
def loongFunction(*args):
如果len(args)<2:返回
x1,y1=args[:2]
如果len(args)==4:x2,y2=args[2:4]
赋值可以缩短为x1,y1=args[:2]
和x2,y2=args[2:4]
由于函数实际上不做任何事情,最简单的方法就是传递<代码>def noop(*args):传递@HåkenLid该函数执行某些操作。为了简单起见,我省略了它。