zoukankan      html  css  js  c++  java
  • 20.Python类型转换,Python数据类型转换函数大全

    虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

    比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 height 的值,如果在交互式解释器中执行如下代码:

    >>> height = 70.0
    >>> print("您的身高"+height)
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        print("您的身高"+height)
    TypeError: must be str, not float

    你会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量 height 转换为字符串才可以。

    庆幸的是,Python 已经为我们提供了多种可实现数据类型转换的函数,如表 1 所示。

    表 1 常用数据类型转换函数
    函 数作 用
    int(x) 将 x 转换成整数类型
    float(x) 将 x 转换成浮点数类型
    complex(real,[,imag]) 创建一个复数
    str(x) 将 x 转换为字符串
    repr(x) 将 x 转换为表达式字符串
    eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象
    chr(x) 将整数 x 转换为一个字符
    ord(x) 将一个字符 x 转换为它对应的整数值
    hex(x) 将一个整数 x 转换为一个十六进制字符串
    oct(x) 将一个整数 x 转换为一个八进制的字符串


    需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数:

    >>> int("123") #转换成功
    123
    >>> int("123个") #转换失败
    Traceback (most recent call last):
      File "<pyshell#3>", line 1, in <module>
        int("123个")
    ValueError: invalid literal for int() with base 10: '123个'
    >>>

  • 相关阅读:
    有关tensorflow一些问题
    一个完整openlayer的例子,包括marker,popup等
    OpenLayers中的Layer概念和实践--Openlayers调用WMS服务
    MapInfo格式转arggis格式
    arcgis for server 登陆manager失败解决办法
    1752:鸡兔同笼(2.1)
    1749:数字方格(2.1)
    08:石头剪刀布(1.6)
    c++中的243、251、250错误原因
    05:年龄与疾病(1.6)
  • 原文地址:https://www.cnblogs.com/youqc/p/12067560.html
Copyright © 2011-2022 走看看