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个'
    >>>

  • 相关阅读:
    Ubuntu16.04安装openldap和phpldapadmin
    Java 8 中的抽象类和接口到底有啥区别?
    Redis 开发陷阱及避坑指南!
    Java 中的 6 颗语法糖
    Java 8 有多牛逼?打破一切你对接口的认知!
    Git操作常用的命令都在这里了。
    Github 太狠了,居然把 "master" 干掉了!
    微服务业务日志收集方案,写得非常好!
    Maven基本介绍与安装
    IntelliJ IDEA 调试 Java 8 Stream,实在太香了!
  • 原文地址:https://www.cnblogs.com/youqc/p/12067560.html
Copyright © 2011-2022 走看看