有个问题 判断是否是素数的时候

各位,有个问题 判断是否是素数的时候 (不分n = 1;n = 2;和n>2情况下,只分n <= 1和其他)为什么会写出for i in range(2,n):为啥是从2开始,这样的话2不就判断不是素数啦吗?但是我运行显示2是素数 求指正

def su(n):#判断素数
    if n <= 1:
      return False
    for i in range(2,n):#这里就是我不理解的点
      if n % i == 0:
        return False
    return True
num = 0
for i in range(100000):
  if su(i):
    num +=1;
    if num == 2019:
      print(i)
      break

从2开始是因为2是最小的素数,写2的时候一定要写,这里的范围写到n-1是因为2到n-1中只要有一个能整除n,就说明n不是素数,当for循环从2到n-1都不能整除n的时候,那么n就是素数。