python之Numpy 输入与输出设置

import numpy as np
import math
import sympy

'''
python之Numpy 输入与输出设置
numpy.set_printoptions(precision=None,threshold=None, edgeitems=None,linewidth=None, suppress=None, nanstr=None, infstr=None,formatter=None, sign=None, floatmode=None, **kwarg) 
precision:设置浮点精度,控制输出的小数点个数,默认是8。
threshold:概略显示,超过该值则以“…”的形式来表示,默认是1000。
edgeitems 当省略数组内元素内容时要显示的元素数量。
linewidth:用于确定每行多少字符数后插入换行符,默认为75。
suppress:当suppress=True,表示小数不需要以科学计数法的形式输出,默认是False。
nanstr:浮点非数字的字符串表示形式,默认nan。
infstr:浮点无穷大的字符串表示形式,默认inf。
'''

def get_delay_M():
    c = 3e8
    lam0 = 1550e-9
    w = 2 * np.pi * c /lam0
    tau1 = 0
    tau2 = 5
    tau3 = 50
    tau4 = 55
    M = np.array([[np.exp(1j * w * tau1), 0, 0, 0],
                         [0, np.exp(1j * w * tau2), 0, 0],
                         [0, 0, np.exp(1j * w * tau3), 0],
                         [0, 0, 0, np.exp(1j * w * tau4)]], dtype=complex)
    return M

print(get_delay_M())
np.set_printoptions(edgeitems=3, precision = None, linewidth = 180)
print(get_delay_M())

 结果显示(可以发现没有np.set_printoptions设置,就出来了折行的现象):

PS C:\Users\lz\Desktop\python_test> python get_dealy.py run
[[ 1.        +0.j          0.        +0.j          0.        +0.j
   0.        +0.j        ]
 [ 0.        +0.j          0.00334652-0.9999944j   0.        +0.j
   0.        +0.j        ]
 [ 0.        +0.j          0.        +0.j          0.17852149-0.98393601j
   0.        +0.j        ]
 [ 0.        +0.j          0.        +0.j          0.        +0.j
  -0.98333308-0.18181325j]]
[[ 1.        +0.j          0.        +0.j          0.        +0.j          0.        +0.j        ]
 [ 0.        +0.j          0.00334652-0.9999944j   0.        +0.j          0.        +0.j        ]
 [ 0.        +0.j          0.        +0.j          0.17852149-0.98393601j  0.        +0.j        ]
 [ 0.        +0.j          0.        +0.j          0.        +0.j         -0.98333308-0.18181325j]]
PS C:\Users\lz\Desktop\python_test>


上一篇:D. Petya and Array 树状数组


下一篇:python之Numpy 输入与输出设置