为什么要转换?为了数据的运算,字符串和数字没有办法运算

常用的数据类型转换

类型转换操作 说明
int(x [,base ]) 🃏 将x转换为一个整数
float(x ) 🃏 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str(x ) 🃏 将对象 x 转换为字符串
eval(str ) 🃏 将字符串转成原始数据类型
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
ord(x ) 将一个字符转换为它的ASCII整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
bin(x ) 将一个整数转换为一个二进制字符串

在这里由于还不理解元组\列表\字典之类的,所以只举几个已经了解了的类型的转换:

举例

  1. >>> # int(): 将数据转换为 int 类型
  2. ...
  3. >>> str1 = "10"
  4. >>> # int() 默认按10进制转换后显示
  5. ... num1 = int(str1)
  6. >>>
  7. >>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
  8. ... num2 = int(3.74)
  9. >>> print(num2)
  10. 3
  11. >>>
  12. >>> """
  13. ... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
  14. ... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
  15. ... #01 02 03 04 05 06 07 10
  16. ... #01 02 ... 0B 0C 0D 0E 0F 10
  17. ... print(num1)
  18. ... """
  19. >>>
  20. >>> # float() 将数据转化为浮点数
  21. ... str2 = "3.14"
  22. >>> f1 = float(str2)
  23. >>> print(type(f1))
  24. <class 'float'>
  25. >>>
  26. >>> f2 = float(10)
  27. >>> print(f2)
  28. 10.0
  29. >>>
  30. >>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
  31. ... c1 = 10 + 4j
  32. >>> c2 = complex(10, 4)
  33. >>>
  34. >>> print(c1)
  35. (10+4j)
  36. >>> print(c2) # 等同与c1
  37. (10+4j)
  38. >>>
  39. >>> # str() : 转换为 字符串类型
  40. ... num1 = 10
  41. >>> f1 = 3.14
  42. >>>
  43. >>> print(type(str(num1)))
  44. <class 'str'>
  45. >>> print(type(str(f1)))
  46. <class 'str'>
  47. >>>
  48. >>> # repr(): 转换为表达式字符串
  49. ... num1 = 10
  50. >>> print(type(repr(num1)))
  51. <class 'str'>
  52. >>>
  53. >>>
  54. >>> # eval(): 将字符串形式的数据,转换为原本的类型
  55. ... str1 = "3.14"
  56. >>> print(type(eval(str1)))
  57. <class 'float'>
  58. >>>
  59. >>> str2 = "[10, 20, 30]"
  60. >>> l = eval(str2)
  61. >>> print(type(l))
  62. <class 'list'>
  63. >>>
  64. >>>
  65. >>> # chr: 将一个整数转换为对应的 Unicode 字符
  66. ... s = chr(1065)
  67. >>> print(s)
  68. Щ
  69. >>>
  70. >>> # ord :将一个字符转换为对应的字符编码数字
  71. ... n = ord("A")
  72. >>> print(n)
  73. 65
  74. >>>
  75. >>> # bin: 将一个整数转换为二进制
  76. ... print(bin(1024)) # 0b 开头表示二进制数
  77. 0b10000000000
  78. >>>
  79. >>> # oct:将一个整数转换为八进制
  80. ... print(oct(1024)) # 0o 开头表示八进制数
  81. 0o2000
  82. >>>
  83. >>> # hex: 将一个整数转换为十六进制
  84. ... print(hex(1024)) # 0x 开头表示十六进制
  85. 0x400
  86. >>>

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

ASCII码对照表.jpg