赋值语句
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)