调试Bug

作者: 国宝级初学者 | 来源:发表于2021-11-30 09:53 被阅读0次

1. 数组初始化

A = np.zeros(n_symb)

初始化的数组,当计算时,结果的值是复数,但是赋值给A的时候,却是实数,需要如下初始化

np.zeros(n_symb, dtype = complex)

定义初始值记为复数类型,这样赋值就正常

2. 获取数组行列的大小

1.普通数组,以二维数组为例:

# 行的大小,row = len(arr)

# 列的大小,col = len(arr[0])

其他维度推理都是  len(arr[i])

2.numpy形成的数组,这个时候就要用到shape函数

一维长度:arr.shape[0]

二维长度:arr.shape[1]

以此类推:arr.shape[i]

3. python中 numpy转list list 转numpy

list to numpy

import numpy as np

a=[1,2]

b=np.array(a)

numpy to list

import numpy as np

a=np.zero(1,1)

a.tolist()

4. 数组,字典

通常使用数组表示多维向量会比较好,而不是使用字典来分别索引各个维度

可以表示为

a[0][3]

索引到对应的元素

单维向量可以转换成一维向量,来代入别的函数,方便后续循环

slot_re = dl_slot_re.reshape((1, n_re_in_slot))

这样,代入下一个函数,slot_re 的维度是 1 * n_re_in_slot的ndarray,而dl_slot_re则是n_re_in_slot的array

5. 画图不响应

首先,

import matplotlib

matplotlib.use('agg')

可以让前台不出图,节省资源,从而可以画很多图而不内存溢出,如果调试状态,需要出图时,则需要打开他

另外

fig = plt.figure(figsize=(24, 8))

会导致调试状态下,figure未响应,需要改为

plt.figure(figsize=(24, 8))

6. 插值

import numpy as np

from scipy import interpolate

import pylab as pl

x=np.linspace(0,10,11)

y=np.sin(x)

xnew=np.linspace(0,10,101)

pl.plot(x,y,"ro")

for kind in ["nearest","zero","slinear","quadratic","cubic"]:

   f=interpolate.interp1d(x,y,kind=kind)

    # ‘slinear’, ‘quadratic’ and ‘cubic’ refer to a spline interpolation of first, second or third order)    

    ynew=f(xnew)

    pl.plot(xnew,ynew,label=str(kind))

pl.legend(loc="lower right")

pl.show()

7. 数组

Numpy的主要数据类型是ndarray,即多维数组。它有以下几个属性:

ndarray.ndim:数组的维数

ndarray.shape:数组每一维的大小

ndarray.size:数组中全部元素的数量

ndarray.dtype:数组中元素的类型(numpy.int32, numpy.int16, and numpy.float64等)

ndarray.itemsize:每个元素占几个字节

np.fliplr,输入参数至少是2维数组

8 Pycharm单步调试时没有响应的问题

在使用Pycharm调试程序时,发现运行不报错,但是加断点调试程序时,显示

Backend Qt5Agg is interactive backend. Turning interactive mode on. 而且不能继续调试。

解决办法 :

File

Settings

Build,Exrcution

Python Debugger

Genent compatible这个选项打勾,然后就可以使用了。

9. 保存矩阵到文件

np.savetxt('my_matix_1.txt',CeType1WienerCoeff[0,:,:],fmt='%f',delimiter=', ',newline='\r')

10. 界面上插入使用图片

使用qrc文件

qrc文件本身是类似xml格式的文件,可以使用文本编辑

<!DOCTYPE RCC>

<RCC version="1.0">

<qresource>

<file alias="R-C.png">R-C.png</file>

</qresource>

</RCC>

目录使用相对路径下的同级目录,将其编译成py文件后,从界面调用puUIC生成的py中,即可import他

pyrcc5.exe -o image.py .\image.qrc

如果不生成,则自动生成的界面py中import不到该图标

11. PyUIC时出现SyntaxError:invalid syntax

很有可能是在填写PyUIC路径的时候填的是python的路径(在参数位置应填写python命令)

填写参数的时候却写着shell commands的命令

导致python无法识别这个命令

把命令改成    -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

相关文章

  • Bug 调试

    定位问题首先一定要想法确定 bug 的原因,或者定位 bug 的位置,那个文件的哪一行。对于安开发来说有很多时候。...

  • Bug调试

  • 调试Bug

    1. 数组初始化 A = np.zeros(n_symb) 初始化的数组,当计算时,结果的值是复数,但是赋值给A的...

  • 记录使用performSelector产生的bug和调试过程

    说说NSObject的 performSelector 系列函数 记录调试这个bug的过程 说说遇到的bug   ...

  • iOS 利用bugly调试程序并收集bug信息+NSLog调试

    前言:---------- >学会如何调试程序bug<---------- 1.在开发中如何调试程序 ...

  • iOS-App调试的几种方式

    要保证自己的App质量,首先就要干掉bug。想要干掉bug就要调试程序,调试程序有以下几种方式。 1、简单粗暴而又...

  • python基础 -- 程序调试

    1. 调试 发现bug, 调试程序 2. 操作 print方法,需要调试的地方放一个print assert断言,...

  • iOS Bug 调试

    EXC_BAD_ACCESS https://www.jianshu.com/p/4989c498e21e

  • <现场调试bug>

    现场软件又出问题了,今天下午就被调到了现场处理了。被一大堆客户围着问原因,自己却是要返找现场的问题点,查看数据,...

  • iOS Bug 调试

    1.打印log调试 #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"[...

网友评论

      本文标题:调试Bug

      本文链接:https://www.haomeiwen.com/subject/uwarxrtx.html