一、Python內置函數int()實現字符串轉整數
def str_to_int(num_str): # 定義函數,參數為字符串類型
return int(num_str) # 使用Python內置函數int()將字符串轉成整數並返回
Python內置函數int()可以將字符串按照給定的進制轉換成整數,如果沒有指定進制,默認按十進制進行轉換。因此只要將字符串作為參數傳入int()函數,即可輕鬆實現字符串轉成整數。
二、使用eval()函數將字符串轉換成整數
def str_to_int(num_str):
return eval(num_str)
Python內置函數eval()可以將字符串轉成Python表達式並執行,返回結果。因此只要將字符串作為參數傳入eval()函數,即可實現字符串轉成整數。不過要注意,eval()會執行字符串中的任意代碼,有一定的安全風險,在使用時需要注意。
三、採用lambda表達式實現字符串轉整數功能
str_to_int_lambda = lambda num_str: int(num_str)
這裡採用lambda表達式直接實現字符串轉整數的功能,無需定義函數。將字符串作為參數傳給lambda表達式,內部實現調用Python內置函數int(),再將轉換後的整數作為函數值返回。lambda表達式可以有效簡化代碼,簡單明了。
四、繞路實現字符串轉整數功能
def str_to_int(num_str):
number = 0
for ele in num_str:
number = number * 10 + ord(ele) - ord('0') # 模擬數字進位
return number
這種方法比較繞路,需要使用循環來逐個遍歷字符串中的每一個字符,並模擬計算出數字的過程,逐位加和。具體地,使用ord()函數將每個字符轉換成ASCII碼,然後減去字符‘0’的ASCII碼,再進行逐位加和,最終得到字符串對應的整數值。
五、處理字符串中的正負號並轉成整數
def str_to_int(num_str):
start = 0
sign = 1
if num_str[0] == '-':
start = 1
sign = -1
elif num_str[0] == '+':
start = 1
number = 0
for i in range(start, len(num_str)):
digit = ord(num_str[i]) - ord('0')
number = number * 10 + digit
return sign * number
有時候字符串中會帶有正負號,這時候需要對字符串進行一定的處理,以防在轉換成整數時發生錯誤。本方法給出了處理字符串中正負號的方法,並最終將結果轉換成整數返回。該方法需要使用到Python的切片和循環功能,代碼相對較長。
六、結語
以上就是用Python實現字符串轉整數的6種方法。這些代碼雖然實現的功能相同,但是代碼實現方式和思路卻各不相同,不同的方法適用場景不同,大家可以根據自己的實際需求選擇最適合自己的方法來實現字符串轉整數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/230215.html