大家好,我是一名程序员,在编程领域里,我们经常需要将字符串转化为整数类型,这时候就需要使用Python中的函数。今天我就来和大家分享一下Python中将字符串转化为整数的函数。
Python内置函数int
Python中内置了一个可以将字符串转化为整数的函数int,它可以将一个字符串转化为整数类型。
例如:
str_num = "123" int_num = int(str_num) print(int_num)
输出结果为:123
在使用int函数进行类型转化时,需要注意以下几点:
- 字符串中必须只包含数字或正负号
- 字符串开头和结尾可以包含空格
- 如果字符串中包含正负号,则转化出的整数类型也会带上正负号
接下来,我将使用代码示例来解释以上几点。
示例1:字符串中包含非数字字符
当字符串中包含非数字字符时,使用int函数进行类型转化会抛出ValueError异常。
str_num = "111a" int_num = int(str_num)
输出结果为:ValueError: invalid literal for int() with base 10: ‘111a’
示例2:字符串开头和结尾包含空格
当字符串开头和结尾包含空格时,使用int函数进行类型转化也是可以成功的。
str_num = " 123 " int_num = int(str_num) print(int_num)
输出结果为:123
示例3:字符串中包含正负号
当字符串中包含正负号时,使用int函数进行类型转化同样会带上正负号。
str_num1 = "+111" int_num1 = int(str_num1) print(int_num1) str_num2 = "-222" int_num2 = int(str_num2) print(int_num2)
输出结果为:
111 -222
自定义函数
除了使用Python内置的int函数进行类型转化外,我们还可以自己编写一个函数来实现将字符串转化为整数的功能。
例如:
def str_to_int(str_num): if not str_num: return 0 num = 0 sign = 1 if str_num[0] == '-': sign = -1 str_num = str_num[1:] elif str_num[0] == '+': sign = 1 str_num = str_num[1:] for c in str_num: if c >= '0' and c <= '9': num = num * 10 + ord(c) - ord('0') else: break return sign * num str_num = "-123" int_num = str_to_int(str_num) print(int_num)
输出结果为:-123
自定义函数中,我们需要注意以下几点:
- 开头可以是正负号
- 字符串中必须只包含数字或正负号
- 如果字符串中包含正负号,则转化出的整数类型也会带上正负号
以上就是Python中将字符串转化为整数的两种方法,大家可以根据自己的需求来选择使用哪一种。
希望这篇文章对大家有所帮助。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试