python函数判断是否为正整数

  • Post category:Python

当我们处理一些数据时,常常需要判断数据是否是正整数。在Python中,可以使用一些内置函数或通过编写自定义函数来实现这个功能。

使用内置函数

Python中内置的isinstance()函数用于判断一个对象是否属于某个类。我们可以通过判断该对象是否是int类型且大于0来判断是否为正整数。示例代码如下:

number = 5
if isinstance(number, int) and number > 0:
    print("是正整数")
else:
    print("不是正整数")

编写自定义函数

我们也可以编写自定义函数,来实现判断是否为正整数的功能。下面是一个示例代码,有两种不同的实现方式。

# 方法一:使用isdigit()函数判断字符串是否只包含数字
def is_positive_int_1(number):
    if isinstance(number, str) and number.isdigit():
        if int(number) > 0:
            return True
    return False

# 方法二:使用正则表达式判断字符串是否符合正整数格式
import re

def is_positive_int_2(number):
    if isinstance(number, str):
        pattern = r'^[1-9][0-9]*$'
        if re.match(pattern, number):
            return True
    return False

# 测试
print(is_positive_int_1('5')) # True
print(is_positive_int_1('-5')) # False
print(is_positive_int_2('5')) # True
print(is_positive_int_2('-5')) # False

上述代码中,两个自定义函数的实现方式有所不同,但都能够实现判断是否为正整数的功能。其中,方法一使用了isdigit()函数判断字符串是否只包含数字,并将其转换为整数来判断是否为正整数;方法二则使用正则表达式判断字符串是否符合正整数格式。