Python computación científica ecología-002-número
digital:
Se puede acceder a los números directamente y son de tipo atómico inmutable e indivisible. Incambiable significa que la esencia de cambiar un valor numérico es la creación de un nuevo objeto. Python en sí admite números enteros y de punto flotante, y su tipo de entero puede almacenar números enteros de cualquier tamaño (el rango de números que se pueden expresar está relacionado con el tamaño de la memoria virtual de la computadora), lo que hace que Python sea muy adecuado para cálculos de números grandes.
Python puede realizar cálculos de números grandes
Creación y asignación de objetos digitales
# 像大多数脚本语言一样,无需指定类型
a_int = 1
a_float = 3.1415
Valor booleano
bool() # False
bool(1) # True
bool(0) # False
bool(True) # True
bool(False) # False
print(True+False) # 1 -->所以t和f可以看做1和0进行运算
Operación booleana
and or not
Tres booleana operador de
prioridad de operación: not
> and
>or
plural
real + imag j
- Tanto la parte real como la imaginaria son tipos de punto flotante , y el final de la parte imaginaria debe ser jo J.
- Los números complejos contienen dos propiedades de punto flotante: real (parte real), imag (parte imaginaria) y un método :,
conjugate()
para obtener su número complejo conjugado.
a_complex = 3.5 + 2.9j
print(a_complex) # (3.5 + 2.9j)
type(a_complex) # complex-->复数类型
print(a_complex.real) # 3.5 -->获取复数的真值部分
print(a_complex.imag) # 2.9 -->获取复数的虚部的值
a_complex.conjugate() # 获取虚数的共轭复数
# 当然实数也可以用这个函数,并且返回值就是他本身
a_real = 3
a_real.conjugate()
Actualizar el objeto digital (es decir, reasignar valor)
Esencia: crear un nuevo objeto y señalar el nuevo objeto no cambia el valor del objeto original
a_float = 3.14
a_float = 3.14159
'Eliminar' objetos digitales
del a_float
a_float # 报错啦
consejo:
preste atención a la relación entre los recuentos de referencias y los objetos. Cuando el recuento de referencia es 0, el objeto no estará allí.
Operaciones matemáticas en Python
Operador | descripción | Ejemplo | resultado |
---|---|---|---|
+ | adición | 5 + 8 | 13 |
- | Sustracción | 90 - 10 | 80 |
* | multiplicación | 4 * 7 | 28 |
/ | División de punto flotante | 7/2 | 3,5 |
// | División entera | 7 // 2 | 3 |
% | Módulo (resto) | 7% 3 | 1 |
** | poder | 3 ** 4 | 81 |
Algunas operaciones se fusionan
+= -= *= /= //=
1/2 # 0.5
2/2 # 1.0 -->这里进行的是浮点数除法运算
1//2 # 0 -->整数整除运算
1.0//2.0 #0.0 --> 浮点数整除运算
división
/
División de punto flotante realizada5/0
Si el divisor es 0, se generará unaZeroDivisionError
excepción
Base
Tres números base
0b10 or 0B10 二进制
0o10 or 0010 八进制
0x10 or 0X10 十六进制
Conversión base
Conversión de tipo simple a tipo complejo Conversión de tipo
inexacto a tipo más preciso.
La falla en la conversión de tipo generará ValueError
una excepción.
# 都会报错
int('10a')
int('98.6')
Funcion matematica
int()
float()
complex()
bool()
complex() ## 只有虚部不可,但只有实部可
bool('') # False
Función función
abs()
La función de valor absoluto y se puede utilizar para operaciones complejas de valor absoluto, es decir, devuelve la raíz cuadrada de la suma de cuadrados de las partes real e imaginaria.
divmod()
Esta función combina la división y el resto, y devuelve una tupla que contiene el cociente y el resto.
pow()
Esta función puede lograr una exponenciación.
round()
Esta función puede lograr un verdadero redondeo
divmod(10,3) # (3,1)
divmod(2.5,10) # (0.0,2.5)
pow(5.2) #25
round(4.499) # 4
round(4.6) # 5
round(4.51) #5
round(4.492,2) # 4.49