zoukankan      html  css  js  c++  java
  • python 复数类型


    1 Python中的算数
    虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数
    表示虚数的语法:real+imagj
    实数部分和虚数部分都是浮点数
    虚数部分必须有j或J
    下面是些得数:
    64.23+1j            4.34-8.5j            0.23-8.33j            1.23e-0.45+6.5e+0.83j              -1.23-3.5j            -0.34-0j
    复数中的内建属性

    复数拥有数据属性,分别为该复数的实数和虚数部分。复数还有conjugate方法,调用它可以返回该复数的共轭复数对象。

     1 >>> aComplex = 1.56 + 1.2j
     2 >>> aComplex
     3 (1.56+1.2j)
     4 >>> bComplex = 1 - 1j
     5 >>> bComplex
     6 (1-1j)
     7 >>> aComplex.real
     8 1.56
     9 >>> aComplex.imag
    10 1.2
    11 >>> aComplex - bComplex
    12 (0.56+2.2j)
    13 >>> abs(aComplex) #返回复数的模长
    14 1.968146336022807
    15 >>> aComplex.conjugate
    16 <built-in method conjugate of complex object at 0x00000224D6C11E10>
    17 >>> aComplex.conjugate()
    18 (1.56-1.2j)
    属性 描述
    num.real 该复数的实数部分
    num.imag 该复数的虚数部分
    num.conjugat() 返回该复数的共轭算数

    complex()函数

    2 complex()函数

    complex()函数用于创建一个复数或者将一个数或字符串转换为复数形式,其返回值为一个复数。该函数的语法为:

    class complex(real,imag)

    其中,real可以为int、long、float或字符串类型;而image只能为int、long、或float类型。

    • 注意:如果第一个参数为字符串,第二个参数必须省略,若第一个参数为其他类型,则第二个参数可以选择。实例:
     1 >>> 1 + 1j
     2 (1+1j)
     3 >>> complex(1) #数字
     4 (1+0j)
     5 >>> complex(1,2)
     6 (1+2j)
     7 >>> complex("1") #当做字符串处理
     8 (1+0j)
     9 complex("1 + 2j") #会出错,+号两边不能有空格,否则会报错
    10 >>> complex("1+2.0j")
    11 (1+2j)
    • 第一个参数为字符串,还添加第二个参数时会报错:
    >>> complex("x",15)
    TypeError: complex() can't take second arg if first is a string

    3 复数的旧式格式化输出

    在格式化输出时,使用%r或%s都可以。

    在输出复数时,%r和%s的效果如下:

    1 a = 4.7+0.666j
    2 print('%r的效果是:', end='')
    3 print('%r' % a)
    4 print('%s的效果是:', end='')
    5 print('%s' % a)

    输出结果:

    1 %r的效果是:(4.7+0.666j)
    2 %s的效果是:(4.7+0.666j)

    可见效果是一致的。

    4 复数的format格式化输出

    (3)关于复数

    “{0.real:.3f}{0.imag:+.3f}j”.format(4.2344+5.3445j) ==> ‘4.234+5.345j’ 
    “{0.real:.3f}{0.imag:-.3f}j”.format(4.2344+5.3445j) ==> ‘4.234-5.345j’ 
    前面的+-可以不写让他自己去判断: 
    “{0.real:.3f}{0.imag:.3f}j”.format(4.2344+5.3445j) ==> ‘4.234+5.345j’ 
    “{0.real:.3f}{0.imag:.3f}j”.format(4.2344+5.3445j) ==> ‘4.234-5.345j’

  • 相关阅读:
    [洛谷][P1503][鬼子进村][Treap]
    [noi 2004] 郁闷的出纳员
    bzoj 3224,tyvj 1728普通平衡树
    Treap
    [模拟赛]棘手的操作
    bzoj 4551[Tjoi2016&Heoi2016]树
    bzoj2527 [Poi2011]Meteors
    bzoj4152 [AMPPZ2014]The Captain
    bzoj4516 [Sdoi2016]生成魔咒
    bzoj4547 小奇的集合
  • 原文地址:https://www.cnblogs.com/hey-jacky/p/9544490.html
Copyright © 2011-2022 走看看