作用locals() 函数会以字典类型返回当前位置的全部局部变量。如果是动态命名变量,需要动态获取变量的变量名来进行操作。源码测试import inspectdef retrieve_name(var): ''' utils: get back the name of variables ''' callers_local_vars = inspect.currentframe().f_back.f_locals.items() return [var
初识
的运行速度占有绝对优势。这些都决定
对table使用数字索引,即把table当数组使用。约定数组下标从1开始。
若索引中间有空洞,table并不会为空洞索引分配空间。
只有当表是顺序表时,#tab返回的长度才有意义。table.maxn() 返回最大的索引值。
对于非顺序表,遍历时使用pairs是一个好方法。
1.2 多维数组
即table的元素也是table。其能比较好的支持稀疏矩
1.
字符串
拼接用…表示,例如str1…str2,不能用加号。
如果在
字符串
之间用算术符的话,会直接
转成
数字运算,例:“2”+“3” ,结果就是5
2.table可以用来做数组,也可以用来做字典,table是不固定大小的。
数组形式:tab1={“one”,“two”,“three”};
字典形式:tab2={key1=“one”,key2=“two”}
添加直接添加
tab2.key3=“s”
考虑到在日常中,常常需要对模型指标输出,但涉及多个模型的时候,需要对其有标示输出,故需要将模型
变量名
转换成
字符串
。看到的基本方法有两种:
一、方法层面:
方法1(函数内推荐):
def namestr(obj, namespace):
return [name for name in namespace if namespace[name] is obj]
print(namestr(lr...
python
中
变量名
和
字符串
的相互转换
字符串
作为
变量名
变量名
作为
字符串
字符串
作为
变量名
可以使用locals(),globals(),vars()进行转换。
代码示例:
ls = ['A', 'B', 'C']
for i in ls:
globals()[i] = [1,2,3]
print(A,B,C)
[1, 2, 3] [1, 2, 3] [1, 2, 3]
变量名
作为
字符串
代码示例:
import inspect
def retrieve_name(var):
变量是将储存的值保存在内存中。当声明一个变量的时候会在内存中开辟一个储存内容的位置。
基于变量的数据类型,解释器分配内存空间并决定储存的内容。因此我们可以通过变量分配不同的数据类型,可以在变量中储存数据类型为整数,小数,字符等
在
python
中,变量是不需要明确声明变量类型和长度来保留内存空间。当变量分配值的时候,
python
会自动发出声明,等号(=)用于变量赋值,pyth...
最近看Github源码时发现有个生成正态分布数值的用法:np.random.normal([3, 5]),这行代码会输入一个二维的array?
In [1]: import numpy as np
In [2]: np.random.normal([3,5])
Out[2]: array([1.46251563, 7.74062177])
这与我理解的不同,normal 函数的参数为何为一个list且未指定size时生成1*2 array 呢?
查看官方教程:https://docs.scipy