zoukankan      html  css  js  c++  java
  • 9.常用的数据类型转换

    常用的数据类型转换

    举例

    >>> # int(): 将数据转换为 int 类型
    ... 
    >>> str1 = "10"
    >>> # int() 默认按10进制转换后显示
    ... num1 = int(str1)
    >>> 
    >>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
    ... num2 = int(3.74)
    >>> print(num2)
    3
    >>> 
    >>> """
    ... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
    ... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
    ... #01 02 03 04 05 06 07 10
    ... #01 02 ... 0B 0C 0D 0E 0F 10
    ... print(num1)
    ... """
    >>> 
    >>> # float() 将数据转化为浮点数
    ... str2 = "3.14"
    >>> f1 = float(str2)
    >>> print(type(f1))
    <class 'float'>
    >>> 
    >>> f2 = float(10)
    >>> print(f2)
    10.0
    >>> 
    >>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
    ... c1 = 10 + 4j
    >>> c2 = complex(10, 4)
    >>> 
    >>> print(c1)
    (10+4j)
    >>> print(c2) # 等同与c1
    (10+4j)
    >>> 
    >>> # str() : 转换为 字符串类型
    ... num1 = 10
    >>> f1 = 3.14
    >>> 
    >>> print(type(str(num1)))
    <class 'str'>
    >>> print(type(str(f1)))
    <class 'str'>
    >>> 
    >>> # repr(): 转换为表达式字符串
    ... num1 = 10
    >>> print(type(repr(num1)))
    <class 'str'>
    >>> 
    >>> 
    >>> # eval(): 将字符串形式的数据,转换为原本的类型
    ... str1 = "3.14"
    >>> print(type(eval(str1)))
    <class 'float'>
    >>> 
    >>> str2 = "[10, 20, 30]"
    >>> l = eval(str2)
    >>> print(type(l))
    <class 'list'>
    >>> 
    >>> 
    >>> # chr: 将一个整数转换为对应的 Unicode 字符
    ... s = chr(1065)
    >>> print(s)
    Щ
    >>> 
    >>> # ord :将一个字符转换为对应的字符编码数字
    ... n = ord("A")
    >>> print(n)
    65
    >>> 
    >>> # bin: 将一个整数转换为二进制
    ... print(bin(1024)) # 0b 开头表示二进制数
    0b10000000000
    >>> 
    >>> # oct:将一个整数转换为八进制
    ... print(oct(1024)) # 0o 开头表示八进制数
    0o2000
    >>> 
    >>> # hex: 将一个整数转换为十六进制
    ... print(hex(1024)) # 0x 开头表示十六进制
    0x400
    >>>

    附录:常用字符与ASCII码对照表

    # int(x [,base ])     将x转换为一个整数
    
    # 01: int(变量) 转出 int类型
    # # 引导用户输入
    # a = "2"
    # new_a = int(a)
    # # 定义一个变量 保存一个数字
    # b = 10
    # # 求和
    # new_a += b
    # print(new_a)
    # print(new_a)
    # 02: 了解即可
    # 进制
    # 二进制 逢二进一
    # 八进制 逢八进一
    # 十进制 逢十进一
    # 十六进制 逢十六进一(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
    # # 定义一个变量
    # my_str = "11"
    # # 数据类型转换
    # # int(my_str, 10) ==  int(my_str)
    # # 把my_str 看成一个N进制的字符串 转成一个10进制的整数类型
    # # ret1 = int(my_str, N)
    # ret1 = int(my_str, 16)
    # print(type(ret1))
    # print(ret1)
    
    # float(x )     将x转换为一个浮点数
    # my_str = "3.14"
    # # 类型转换
    # pi = float(my_str)
    # print(type(pi))
    
    # str(x )     将对象 x 转换为字符串
    # a = 12345
    # b = 3.14
    # new_a = str(a)
    # new_b = str(b)
    # print(type(new_a), type(new_b))
    
    # eval(str)     用来计算在字符串中的有效Python表达式,并返回一个对象
    # 01:
    # 场景: 请输入您的卡中余额
    # money = input("请输入您的卡中余额:")
    # print(type(money))
    
    # 需求:如果你是一个浮点数字符串 -> float
    # money = 3.14
    # 如果你是一个整数字符串 -> int
    # money = 123
    # ret = eval(money)
    # print(type(ret))
    # 02:
    abc = 10
    a = input("请输入:")
    # abc
    # eval 服务的就是字符串
    # 首先干掉字符串两边的引号
    # - 查看属于部分在python中有没有数据类型想对应
    #      - 如果有 -> 返回对应的类型
    #      - 如果没有 -> 查看是否是一个变量的名字
    #           - 如果是 返回这个变量的数值
    #           - 如果不是 NameError: name 'abc' is not defined
    ret = eval(a)
    print(type(ret))
    # NameError: name 'abc' is not defined 变量名是不存在的
    # abc = 10
    # print(abc)
  • 相关阅读:
    Codeforces Round #352 (Div. 1) B. Robin Hood (二分)
    Codeforces Round #209 (Div. 2) D. Pair of Numbers (模拟)
    Kattis
    kattis Curious Cupid (莫队算法)
    HYSBZ
    SPOJ NETADMIN
    day26-2 基于TCP协议的套接字编程
    day26-1 TCP三次握手和四次挥手
    day25-2 OSI协议和socket抽象层
    day25-1 网络架构与互联网组成
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12639286.html
Copyright © 2011-2022 走看看