赋值语句
Python Parser 在基本赋值、元组赋值、序列赋值、序列解包、增强赋值(+=, -=, &=, |=,*=, /=, **=, %=)等方面与 Python 保持一致。但目前还不支持列表赋值和多变量链式赋值。
基本赋值
a=10
print(a)
// output: 10元组赋值
a,b=11,12
print(a)
// output: 11序列赋值
x, y, z = "Orange"
print(x)
// output: Orange
print(y)
// output: Orange
print(z)
// output: Orange序列解包
a, *b = 'Orange'
print(a)
// output: Orange
print(b)
// output: Orange增强赋值
a = 42
a *= 3
print(a)
// output: 126列表赋值(不支持)
[a,b]=[1,2]链式赋值(不支持)
x = y = z = "Orange"修改嵌套列表元素值
暂不支持通过使用多层索引的方式修改嵌套列表的元素值,如下例第2行代码。这是因为 DolphinDB 会将 a[1][1]转换成 a[1,1],但 Python 的列表对象不支持[x,y]作为索引。
a=[2, [3, 5], 10]
a[1][1]=19
// output: Assignment statement failed probably due to invalid indices [a[1,1] = 19]
# 将单层索引赋值给一个变量,再修改该变量的元素值的方式进行修改:
tmp=a[1]
tmp[1]=19
a
// output: [2, [3, 19], 10]释放变量
通过 undef 函数从内存中释放变量。
x=1;
undef(`x)
def max(a, b):
if a > b:
return a
else:
return b
undef(`max)