n = 1如何成为函数的参数

how can n=1 be the parameter of a function

我正在为 python 开设在线课程,在课程的函数部分,他们制作了两个函数(一个用于确定素数,一个用于打印素数)

def isprime(n):
    if n == 1:
        return False
    for x in range(2, n):
        if n % x == 0:
            return False
    else:
        return True

def primes(n=1):
   while(True):
       if isprime(n): yield n
       n += 1 

for n in primes():
    if n > 100: break
    print(n)

我不明白的是函数的参数primes。为什么是n=1。正如您可能会说的那样,我是一般编程的新手,而且我对函数和生成器不是很了解。任何帮助将不胜感激。

这是默认值。如果将参数传递给函数,它将表现 "normally",否则它将使用默认值。

def my_print(num=1):
    print num

my_print()
>> 1

my_print(7)
>> 7

函数调用中的关键字参数表示按名称匹配,而在 函数头,它指定可选参数的默认值。