• Python学习笔记-数字类型


    目录

    1. 数字类型

    1.1 整型

    1.2 浮点数

    1.3 复数

    1.4 布尔类型

    2. 常用内置数值计算函数库

    3. 随机数函数

    4.运算符


    本文记录python中的基本数字类型信息,以及一些其他的相关知识点。

    1. 数字类型

    python中用于标识数字或者数值的数据类型,主要有如下分类:

    • 整型:int
    • 浮点型:float
    • 复数类型:complex
    • 布尔类型:bool

    1.1 整型

     整形默认为十进制,计算机采用二级制数据。

    不同的整型数据可以相互转换,转换函数如下:

    • bin():将整型数据转换为二进制,输出形式为字符串
    • oct():将整型数据转换为八进制,输出形式是字符串
    • hex():将整型数据转换为十六进制,输出形式是字符串
    • int():接受一个符合整型规范的字符串,并将字符串转换为整型
    1. >>> a = 100
    2. >>> bin(a)
    3. '0b1100100'
    4. >>> a_bin = bin(a)
    5. >>> print(a_bin)
    6. 0b1100100
    7. >>> type(a_bin)
    8. <class 'str'>
    9. >>> a_oct = oct(a)
    10. >>> print(a_oct)
    11. 0o144
    12. >>> type(a_oct)
    13. <class 'str'>
    14. >>> a_hex = hex(a)
    15. >>> print(a_hex)
    16. 0x64
    17. >>> type(a_hex)
    18. <class 'str'>
    19. >>> a_int = int(a)
    20. >>> print(a_int)
    21. 100
    22. >>> type(a_int)
    23. <class 'int'>
    24. >>> str_a = "100"
    25. >>> inta = int(a)
    26. >>> print(inta)
    27. 100
    28. >>> type(inta)
    29. <class 'int'>
    30. #可直接转换非十进制数据
    31. >>> bin(0xff)
    32. '0b11111111'
    33. # 转换非整型数据时报错
    34. >>> bin('100')
    35. Traceback (most recent call last):
    36. File "", line 1, in
    37. TypeError: 'str' object cannot be interpreted as an integer
    38. >>>

    注意

    数字在python是不可变的,如有多个变量指向同一个数值是,该值只会存储在一个内存中,然后不同变量指向同一个内存。

    示例如下:

    1. >>> a = 1
    2. >>> b = 1
    3. >>> c = a
    4. >>> print(id(a),id(b),id(c))
    5. 140715700289808 140715700289808 140715700289808

    可以看出所有变量的di是一样的,id()是python的内置函数,用于读取变量的内存。即上文示例中a、b、c变量指向指向数字1的内存。

    1. >>> a = 1
    2. >>> b = 1
    3. >>> c = a
    4. >>> print(id(a),id(b),id(c))
    5. 140715700289808 140715700289808 140715700289808
    6. >>> a = 2
    7. >>> print(id(a),id(b),id(c))
    8. 140715700289840 140715700289808 140715700289808
    9. >>>

    如上,将a重新赋值为2,只有a的地址改变了,改变a的值时并不是修改数值,而是将新的数值存入内存中,然后将变量重新指向该内存。浮点数、复数等其他数字类型变量具有相同特点。

    1.2 浮点数

    浮点数就是数学中的小数,特点如下:

    • 以十进制表示;
    • 可以用科学计数法表示;
    • python中的浮点型都是双精度的,每个浮点数占八个字节(64位);

    科学计数法的格式如下:

                    数值x e 数值y(整型)

                    就是x乘以10的y次幂

    示例如下:

    1. >>> a = 1.0
    2. >>> b = 0.1
    3. >>> print(type(a))
    4. <class 'float'>
    5. >>> print(type(b))
    6. <class 'float'>
    7. >>> c = 1e2 # 1 乘以 10 的 2次幂
    8. >>> print(c)
    9. 100.0
    10. >>> d = 1e-2 # 1 乘以 10 的 -2次幂
    11. >>> print(d)
    12. 0.01

    注意

            x是不可获取的部分,若确实,则会报错

    1. >>> d = e-2
    2. Traceback (most recent call last):
    3. File "", line 1, in
    4. NameError: name 'e' is not defined

    1.3 复数

    复数就是数学中的复数,其特点如下:

    • 复数由“实部”和“虚部”两部分组成;
    • 实数和虚数部分都是浮点型;
    • 虚数部分必须有j或着J;

    复数的表达形式

    • a + bj;
    • complex(a,b):其中a是实部,b是虚部

    用法示例如下:

    1. >>> a = 1 + 2j
    2. >>> print(type(a))
    3. <class 'complex'>
    4. >>> b = complex(1,2)
    5. >>> print(type(b))
    6. <class 'complex'>
    7. >>> print(id(a),id(b))
    8. 2575329711152 2575329711216
    9. >>> # 获取复数的虚部
    10. >>> print(a.imag)
    11. 2.0
    12. >>> print(a.real) #获取s复数的实部
    13. 1.0
    14. >>> print(a.conjugate()) # 获取共轭复数
    15. (1-2j)

    1.4 布尔类型

    布尔类型就是是与否,只有两个状态,基本特点如下:

    • 只有True和False两个取值;
    • True对应整数1,False对应整数0;
    • 常用的bool运算包括and、or、not三种,对应与、或、非运算;

    多种数据可以等价于True和False:

    2. 常用内置数值计算函数库

    数学中的一些常用运算在python标准函数中的表达式。

    函数数学表示说明
    copysign(x,y)复制符号位,用y的正负号替换x的正负号
    fabs(x)|x|返回x的绝对值
    factorial(x)x!返回x的阶乘,x必须为正整数或0,否则会报错
    floor(x)向下取整,返回不大于x的最大整数
    fmod(x,y)x % y返回x与y的模
    frexp(x)x = m * 2 **e返回(m,e),若x为零,则返回(0.0,0)
    fsum(iterable)浮点数精度求和
    gcd(a,b)返回a和b的最大公约数
    iscolse(a,b)比较a和b的相似性,相近返回True,否则返回False

    isfinite(x)

    若x不是无穷大,也不是NaN,返回True;否则返回False

    isnan(x)x为NaN时返回True,否则返回False
    ldexp(x,i)返回x*(2**i)
    modf(x)返回x的小数部分和整数部分
    trunc(x)返回x的整数部分
    exp(x)e^x返回e的x次幂
    expm1(x)e^x-1返回e的x次幂减去1
    log(x[,base])返回x的自然对数
    log1p(x)ln(1+x)返回1+x的自然对数
    log2(x)返回以2为底x的对数
    log10(x)返回以10为底x的对数
    pow(x,y)x^{y}返回x的y次幂
    sqrt(x)\sqrt{x}返回x的平方根
    sin(x)sin x返回x的正弦函数值
    cos(x)cos x返回x的余弦函数值
    tan(x)tan x返回x的正切函数值
    asin(x)arcsin x返回x的反正弦函数值
    acos(x)atccos x返回x的反余弦函数值
    atan(x)atctan x返回x的反正切函数值
    atan2(x) arctan \frac{y}{x}返回y/x的反正切函数
    math.erf(x)高斯误差函数
    math.erfc(x)余补高斯误差函数
    math.gamma(x)伽马函数,也叫欧拉第二积分函数
    math.lgamma(x)伽马函数的自然对数

    3. 随机数函数

    随机数函数random用于生成置定范围内的随机数。

    1. import random
    2. a = random.random() # 生成一个0-1范围内的随机数
    3. b = random.randint(1,200) # 生成1-200范围内的一个随机整数

    4.运算符

  • 相关阅读:
    Android OkHttp/Retrofit框架使用Interceptor 抓包/mock数据
    【C语法学习】20 - 文件访问顺序
    Kotlin 进阶版 协程
    数据同步,还看Canal
    ElasticSearch批处理
    第八天 脚本与音频
    手写Tomcat
    C++学习笔记
    JVM第一话 -- JVM入门详解以及运行时数据区分析
    react使用脚手架搭建
  • 原文地址:https://blog.csdn.net/u010839204/article/details/128098458