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

  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/youqc/p/12067560.html
Copyright © 2011-2022 走看看