字符串和數字是Python中常見的數據類型,,而且在撰寫Python程序的時候,也經常會遇到需要將字符串轉換為數字的情況,,那么Python中如何將字符串變成數字?有多種方法可以使用,,接下來一起來看看具體內容介紹。 1,、使用int()函數 int()函數可以將字符串轉換為整數類型,。例如,將字符串"123"轉換為整數類型的代碼如下: ``` str_num = "123" num = int(str_num) print(num) ``` 運行結果為: ``` 123 ``` 需要注意的是,,如果字符串中包含非數字字符,,則會拋出ValueError異常。例如,,將字符串"123abc"轉換為整數類型的代碼如下: ``` str_num = "123abc" num = int(str_num) print(num) ``` 運行結果為: ``` ValueError: invalid literal for int() with base 10: '123abc' ``` 2,、使用float()函數 float()函數可以將字符串轉換為浮點數類型。例如,,將字符串"3.14"轉換為浮點數類型的代碼如下: ``` str_num = "3.14" num = float(str_num) print(num) ``` 運行結果為: ``` 3.14 ``` 需要注意的是,,如果字符串中包含非數字字符,,則會拋出ValueError異常,。例如,將字符串"3.14abc"轉換為浮點數類型的代碼如下: ``` str_num = "3.14abc" num = float(str_num) print(num) ``` 運行結果為: ``` ValueError: could not convert string to float: '3.14abc' ``` 3,、使用eval()函數 eval()函數可以將字符串轉換為Python表達式并求值,。如果字符串表示一個數字,eval()函數會將其轉換為數字類型,。例如,,字符串"123"轉換為數字類型的代碼如下: ``` str_num = "123" num = eval(str_num) print(num) ``` 運行結果為: ``` 123 ``` 需要注意的是,如果字符串中包含非數字字符,,則會拋出SyntaxError異常,。例如,將字符串"123abc"轉換為數字類型的代碼如下: ``` str_num = "123abc" num = eval(str_num) print(num) ``` 運行結果為: ``` SyntaxError: invalid syntax ``` 4,、使用isdigit()函數 isdigit()函數可以檢查字符串中是否只包含數字字符,。如果是,返回True;否則返回False,。例如,,判斷字符串"123"是否是數字的代碼如下: ``` str_num = "123" if str_num.isdigit(): print("是數字") else: print("不是數字") ``` 運行結果為: ``` 是數字 ``` 需要注意的是,如果字符串中包含非數字字符,,則返回False,。例如,,判斷字符串"123abc"是否是數字的代碼如下: ``` str_num = "123abc" if str_num.isdigit(): print("是數字") else: print("不是數字") ``` 運行結果為: ``` 不是數字 ``` 5、使用正則表達式提取字符串中的數字 正則表達式可以用來匹配特定的字符串格式,??梢允褂谜齽t表達式提取字符串中的數字。例如,,從字符串"abc123def456"中提取數字的代碼如下: ``` import re str_num = "abc123def456" pattern = re.compile(r'\d+') nums = pattern.findall(str_num) print(nums) ``` 運行結果為: ``` ['123', '456'] ``` 需要注意的是,,正則表達式中的"\d"表示數字字符,而"+"表示匹配至少一個數字字符,。如果要匹配浮點數,,則可以使用"\d+\.\d+"作為正則表達式。 |
|
來自: 老男孩IT教育 > 《Python培訓》