复数的内建属性
复数对象拥有数据属性,分别为复数的实部与虚部。复数还拥有conjugate方法,调用它可以返回该复数的共轭复数对象(两头牛背上的架子称为轭,轭使两头牛同步行步。共轭即为按一定的规律相配的一对一)。
属性 | 描述 |
---|---|
num.real | 求该复数的实部 |
num.imag | 求该复数的虚部 |
num.conjugate() | 返回该复数的共轭复数 |
aConm = 8.333 -1.47j
print(aConm)
print(aConm.real)
print(aConm.imag)
print(aConm.conjugate())
(8.333-1.47j)
8.333
-1.47
(8.333+1.47j)
位操作符
Python中是这样处理位运算:
- 负数会被当成正数的2进制补码处理
- 左移和右移N位等同于无溢出检查的2的N次幂运算: 2 ** N
- 对长整型来说,位操作符使用一种经修改的2进制补码形式,使得符号位可以无限向左扩展。
位操作符 | 功能 |
---|---|
~ num | 单目运算,对数的每一位都取反。结果为 -(num+1) |
num1 << num2 | num1 左移 num2 位 |
num1 >> num2 | num1 右移 num2 位 |
num1 & num 2 | num1 与 num2 按位 与 运算 |
num1 ^ num2 | num1 异或 num2 (同 0 为1 and 同 1 为 0) |
num1 \ num 2 | num 与 num2 按位 或 |
num1 = 48
num2 = 2
print ("单目运算非: -(num+1):" , ~ num1)
print ("左移运算:" , num1 << num2)
print ("右移运算:" , num1 >> num2)
print ("按位与运算:" , num1 & num2)
print ("按位异或运算:" , num1 ^ num2)
print ("按位或运算:" , num1 | num2)
单目运算非: -(num+1): -49
左移运算: 192
右移运算: 12
按位与运算: 0
按位异或运算: 50
按位或运算: 50
数字类型函数
- 转换工厂函数
函数 int() 、long() 、flaot() 、 complex() 、用来将其他数值类型转换为相应的数值类型。
类(工厂函数) | 操 作 |
---|---|
bool (obj)ь | 返回obj对象的布尔值 |
int (obj,base = 10) | 返回一个字符串或数值对象的类型来表示,类似 string.atoi() |
long(obj,base = 10) | 返回一个字符串或数值对象的长整型来表示,类似 string.atol() |
flaot(obj) | 返回一个字符串或数据对象的浮点型来表示,类似 string.atof() |
complex(str)or complex(real, inag = 0.0) | 返回一个字符串的复数表示,或者根据给定的实数(及一个可选的虚数部分)生成一个复数对象 |
2.功能函数
Python有5个运算内建函数用于数值运算:abs() 、coerce() 、divmod() 、pow() 和round()。
- abs()返回给定参数的绝对值。若参数是一个复数,那么返回math,sqrt(num.real2 +num.imag2)。
print (abs (10.0))
print (abs (-1))
print(abs(1.2-2.1j))
'''
结果为:
10.0
1
2.4186773244895647
'''
- coerce()仅返回一个包含类型转换完毕的两个数值元素的元组。
Ps :小编在Python3.7.6中无法使用!,希望大佬指教一下,感激不尽!
- divmod()内建函数把除法和取余运算结合起来,返回一个包含商的余数的元组。对整型来说,它的返回值就是地板除和取余操作的结果。对浮点型来说,返回商的部分是math.floor(num1 /num2)。
它是把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)
print(divmod( 9 , 3 ))
print(divmod(2.5 , 10))
'''
结果为:
(3, 0)
(0.0, 2.5)
'''
- pow()进行指数的运算。在这里就不多说了。
print ( pow (2,4) )
'''
结果为:
16
'''
- round()用于对浮点型进行四舍五入运算。它有一个可选的小数位数参数,它返回与第一个参数最接近的整型(但仍然是浮点类型)。第二个参数告诉round函数将结果精确到小数点后指定位数。
print(round(3))
print(round(3.45))
print(round(3.49999999,1))
import math
for num in range(10):
print(round(math.pi,num))
总结:
- 函数int()直接截取小数部分(返回值为整型)
- 函数float()得到最接近原数但小于原数的整型(返回值为浮点型)
- 函数round()得到最接近原数的整型(返回值为浮点数)
仅用于整型的函数
函数 | 操作 |
---|---|
hex(num) | 将数字转换成十六进制数并以字符串形式返回 |
cot(num) | 将数字转为成八进制数并以字符串形式返回 |
chr(num) | 将ASCII值的数字转换成ASCII字符,范围只能是 0<=num<=255 |
ord(chr) | 将ASCII或Unicode字符(长度为1的字符串),返回相应的ASCII或Unicode值 |
print(hex(12))
print(oct(12))
print(chr(40))
print(ord(chr(40)))
'''
结果为:
0xc
0o14
(
40
'''