# 常用的數據類型轉換
| 類型轉換操作 | 說明 |
| --- | --- |
| int(x \[,base \]) | 將x轉換為一個整數 |
| float(x ) | 將x轉換為一個浮點數 |
| complex(real \[,imag \]) | 創建一個復數,real為實部,imag為虛部 |
| str(x ) | 將對象 x 轉換為字符串 |
| repr(x ) | 將對象 x 轉換為表達式字符串 |
| eval(str ) | 將字符串轉成原始數據類型 |
| tuple(s ) | 將序列 s 轉換為一個元組 |
| list(s ) | 將序列 s 轉換為一個列表 |
| chr(x ) | 將一個整數轉換為一個字符 |
| ord(x ) | 將一個字符轉換為它的ASCII整數值 |
| hex(x ) | 將一個整數轉換為一個十六進制字符串 |
| oct(x ) | 將一個整數轉換為一個八進制字符串 |
| bin(x ) | 將一個整數轉換為一個二進制字符串 |
## 舉例
~~~
>>> # 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碼對照表
](images/screenshot_1593858338365.png)
- 計算機組成原理和Python基礎知識
- 計算機組成原理
- 編程語言和Python
- 開發第一個Python程序
- 注釋
- 變量以及類型
- 標識符和關鍵字
- 輸出
- 輸入
- 運算符
- 數據類型轉換
- 判斷語句和循環語句
- 判斷語句介紹
- if語句
- 比較、關系運算符
- if...else...語句格式
- if...elif...else語句格式
- if語句的嵌套
- if應用:猜拳游戲
- 循環語句介紹
- while循環
- while循環應用
- while循環的嵌套以及應用
- for循環
- break和continue
- 字符串、列表、元組、字典
- 字符串介紹
- 字符串輸出
- 字符串輸入
- 下標和切片
- 字符串常見操作
- 列表介紹
- 列表的循環遍歷
- 列表的常見操作
- 列表的嵌套
- 元組
- 字典介紹
- 字典的常見操作1
- 字典的常見操作2
- 字典的遍歷
- 集合(擴展)
- 公共方法
- 4.函數(一)
- 4.1.函數介紹
- 4.2.函數定義和調用
- 4.3.函數的文檔說明
- 4.4.函數參數(一)
- 4.5.函數返回值(一)
- 4.6.函數的嵌套調用
- 4.7.函數應用:打印圖形和數學計算
- 5.函數(二)
- 5.1.局部變量
- 5.2.全局變量
- 5.3.多函數程序的基本使用流程
- 5.4.函數返回值(二)
- 5.5.函數參數(二)
- 5.6.拆包、交換變量的值
- 5.7.引用(一)
- 5.8.可變、不可變類型
- 5.9.引用(二)
- 5.10.函數使用注意事項
- 6.強化練習
- 6.1.函數應用:學生管理系統
- 6.2.遞歸函數
- 6.3. 匿名函數
- 6.4.列表推導式
- 6.5.set、list、tuple
- 6.6.高階函數: map reduce filter
- 7.文件操作,綜合應用
- 7.1.文件操作介紹
- 7.2.文件的讀寫
- 7.3.應用1:制作文件的備份
- 7.4.文件的相關操作
- 7.5.應用:批量修改文件名
- 7.6.綜合應用:學生管理系統(文件版)
- 8.面向對象(上)
- 8.1.認識面向對象編程
- 8.2.類和對象
- 8.3.定義類
- 8.4.創建對象
- 8.5.添加和獲取對象的屬性
- 8.6.在方法內通過self獲取對象屬性
- 8.7.魔法方法 - init()
- 8.8.魔法方法 - 有參數的__init__()方法
- 8.9.魔法方法 - str()方法
- 8.10.魔法方法 - del()方法
- 8.11.實操案例 - 烤土豆
- 9.面向對象(中)
- 9.1.實操案例 - 放家具
- 9.2.繼承的概念
- 9.3.單繼承
- 9.4.多繼承
- 9.5.子類重寫父類的同名屬性和方法
- 9.6.子類調用父類同名屬性和方法
- 9.7.多層繼承
- 9.8.通過super()來調用父類的方法
- 10.面向對象(下)
- 10.1.私有屬性和私有方法
- 10.2.修改私有屬性的值
- 10.3.多態
- 10.4.類屬性和實例屬性
- 10.5.靜態方法和類方法
- 11.異常處理與模塊初識
- 11.1.異常
- 11.2.捕獲異常
- 11.3.異常的傳遞
- 11.4.拋出自定義的異常
- 11.5.獲取異常完整信息的正確姿勢
- 11.6.認識模塊
- 11.7.開發模塊
- 11.8.模塊中的__all__(未完成)
- 11.9.python中的包(未完成)
- 12.課后加餐
- 12.1.基礎應用 - 進銷存管理系統(未完成)
- 12.2.基礎應用 - 員工信息管理系統(未完成)
- 12.1.編碼規范 - PEP8編碼規范(未完成)