一文教你徹底掌握Python數(shù)據(jù)類型轉(zhuǎn)換
一、Python四大基本數(shù)據(jù)類型的“互轉(zhuǎn)法則”
Python的核心數(shù)據(jù)類型包括:int(整數(shù))、float(浮點數(shù))、str(字符串)、bool(布爾值)。以下是它們之間的轉(zhuǎn)換秘籍:
字符串 → 整數(shù)/浮點數(shù)
# 字符串轉(zhuǎn)整數(shù)
age = "25"
print(int(age)) # 輸出:25
# 字符串轉(zhuǎn)浮點數(shù)
price = "99.9"
print(float(price)) # 輸出:99.9
# ?? 大坑警告!非數(shù)字字符串會報錯
try:
age = "twenty-five"
print(int(age)) # 報錯:ValueError: invalid literal for int() with base 10: 'twenty-five'
except ValueError as e:
print(f"ValueError: {e}")
技巧:用try-except捕獲異常,避免程序崩潰!
整數(shù)/浮點數(shù) → 字符串
# 數(shù)字轉(zhuǎn)字符串(拼接、日志輸出必備)
num = 100
print(str(num) + "%") # 輸出:100%
# 浮點數(shù)保留兩位小數(shù)
pi = 3.1415926
print(f"{pi:.2f}") # 輸出:3.14(推薦f-string格式化)
布爾值的“隱藏規(guī)則”
# 其他類型 → 布爾值(0、空值會轉(zhuǎn)False!)
print(bool(0)) # False
print(bool("")) # False
print(bool([])) # False
print(bool("Hi")) # True
# 布爾值 → 整數(shù)(True=1,F(xiàn)alse=0)
print(int(True)) # 1
print(float(False))# 0.0
整數(shù)和浮點數(shù)的“自動升級”
# 整數(shù)和浮點數(shù)運算時,結(jié)果自動升級為float result = 5 + 3.14 print(result) # 8.14(類型為float) # 顯式轉(zhuǎn)換優(yōu)先級 print(float(10)) # 10.0 print(int(8.88)) # 8(直接截斷,非四舍五入?。?
二、全網(wǎng)瘋傳的避坑指南!
坑1:input()輸入默認是字符串,數(shù)學計算前必須轉(zhuǎn)換!
user_input = input("請輸入數(shù)字:") # 輸入"123"
result = int(user_input) * 2
print(result) # 246
坑2:int()轉(zhuǎn)換浮點數(shù)時直接丟棄小數(shù),用round()四舍五入更靠譜!
print(int(9.99)) # 9 print(round(9.99)) # 10
坑3:bool("False")竟然是True!因為非空字符串即為True!
print(bool("False")) # True(字符串非空)
print(bool(0)) # False
三、進階技巧:eval()函數(shù)與隱式轉(zhuǎn)換
# eval()可解析字符串表達式,但慎用(安全風險)
expression = "3 + 4 * 2"
print(eval(expression)) # 11
# 隱式轉(zhuǎn)換:if條件中的自動bool轉(zhuǎn)換
data = []
if data:
print("有數(shù)據(jù)")
else:
print("空列表!") # 輸出:空列表!
四、一張表格掌握所有轉(zhuǎn)換關(guān)系
| 方法 | 說明 |
|---|---|
| int(x [,base ]) | 將x轉(zhuǎn)換為一個整數(shù) |
| float(x ) | 將x轉(zhuǎn)換到一個浮點數(shù) |
| complex(real [,imag ]) | 創(chuàng)建一個復數(shù) |
| str(x ) | 將對象 x 轉(zhuǎn)換為字符串 |
| repr(x ) | 將對象 x 轉(zhuǎn)換為表達式字符串 |
| eval(str ) | 用來計算在字符串中的有效 Python 表達式,并返回一個對象 |
| tuple(s ) | 將序列 s 轉(zhuǎn)換為一個元組 |
| list(s ) | 將序列 s 轉(zhuǎn)換為一個列表 |
| chr(x ) | 將一個整數(shù)轉(zhuǎn)換為一個字符 |
| unichr(x ) | 將一個整數(shù)轉(zhuǎn)換為 Unicode 字符 |
| ord(x ) | 將一個字符轉(zhuǎn)換為它的整數(shù)值 |
| hex(x ) | 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串 |
| oct(x ) | 將一個整數(shù)轉(zhuǎn)換為一個八進制字符串 |
到此這篇關(guān)于一文教你徹底掌握Python數(shù)據(jù)類型轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python腳本實現(xiàn)Mysql數(shù)據(jù)遷移
MySQL數(shù)據(jù)庫遷移是指將MySQL數(shù)據(jù)庫中的數(shù)據(jù)和結(jié)構(gòu)遷移到另一個MySQL實例,下面小編就來為大家介紹一下如何通過Python腳本實現(xiàn)Mysql數(shù)據(jù)遷移吧2025-03-03
python機器學習Github已達8.9Kstars模型解釋器LIME
這篇文章主要為大家介紹了Github已達8.9Kstars的最佳模型解釋器LIME的使用示例及功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
Python實現(xiàn)針對給定字符串尋找最長非重復子串的方法
這篇文章主要介紹了Python實現(xiàn)針對給定字符串尋找最長非重復子串的方法,涉及Python針對字符串的遍歷、排序、計算等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
python通過socket搭建極簡web服務器的實現(xiàn)代碼
python的web框架眾多,常見的如django、flask、tornado等,其底層是什么還是有些許的疑問,所以查找相關(guān)資料,實現(xiàn)瀏覽器訪問,并返回相關(guān)信息,本文將給大家介紹python通過socket搭建極簡web服務器,需要的朋友可以參考下2023-10-10
用Python實現(xiàn)服務器中只重載被修改的進程的方法
這篇文章主要介紹了用Python實現(xiàn)服務器中只重載被修改的進程的方法,包括用watchdog來檢測文件的變化等,實現(xiàn)起來充分體現(xiàn)了Python作為動態(tài)語言的靈活性,強烈推薦!需要的朋友可以參考下2015-04-04

