1:python中range()、xrange()和np.arange()区别
range()多用于循环,返回一个range对象,若想要返回一个list则前面加上list转换
arange()是numpy中的函数,np.range()返回一个array类型的对象,可以使用小数步长
xrange()返回xrange()对象,python3.x已移除
2.sys.stdout:在python中打印对象print()事实上是调用了sys.stdout.write(),默认情况下print会将需要的内容打印到控制台
sys.stdout.write('hello'+'\n')与print('hello')等价
从控制台重定向至文件:若把文件对象赋给sys.stdout,那么print()的调用将会打印对象至至文件中
f_handler=open('out.log', 'w')
sys.stdout=f_handler
print('hello') #hello is in file out.log
3:np.random()模块:
3.1 np.random.rand()生成[0,1)之间的随机浮点数,传参,np.random.rand(2,3)生成2*3的随机浮点数组
3.2 np.random.randn()生成正态分布的随机浮点数或随机浮点数组
3.3 np.random.standard_normal():生成标准正太分布的随机浮点数或数组
3.4 np.random.randint(low,high=None,size=None) 若high=None,生成[0,low)之间的随机整数,否则取值范围为[low,high)形状有size决定,size=None时输出一个整数
3.5 np.random.shuffle(x): 对x进行随机排序,若为多维数组则只沿第一条轴洗牌
3.6 np.random.choice(a,size=None,replace=True,p=None) :从序列中随机获取元素,若a为单个整数,则取值至range(a)
若a为数组,则从数组中随机取值,形状size决定
3.7np.random.random_sample(size=None):生成一个[0,1)之间的随机浮点数或数组
4.python OptionParser模块,用于处理命令行,使用方法如下
from optparse import OptionParser
parser=OptionParser()
parser.add_option('-c', '--conf',dest="configure",help="configure filename")
(options,args)=parser.parse_args()
if options.configure:
conf_file=str(options.configure) #此处的configure与上述定义的dest对应
else :
print("please specify -- conf configure filename")
exit(0)
定义完后,在终端运行该demo时需要在后面加上 -c 文件/path,便可获取对应的conf_file,后续再进行处理即可
5. 使用if ,elif报语法错误:elif之前的注释语句或者空白字符有问题,解决:删掉
6. __init__() takes 1 positional argument but 2 were given,传参没问题的话,可能是原类中__init__()写成__init()