如何判断多次第一次调用方法的时间

Mal*_*nge 5 python methods

我希望能够分辨出第一次调用方法的时间.当我打印到分隔文件时,我主要需要这个,如果是第一次迭代,我想在实际信息之前打印一个标题.这就是我通常做的事情:

def writeFile(number, count):
    if count == 1:
        print('number')
        print(str(count))
    else:
        print(str(count))


count = 1
for i in range(10):
    writeFile(i, count)
    count += 1
Run Code Online (Sandbox Code Playgroud)

这提供了以下输出:

number
1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

虽然这实现了我追求的目标,但我很好奇是否有更好/更有效的方法来做到这一点.有没有办法检测方法是否第一次被调用而不必向其传递额外的参数?

谢谢,

dwn*_*dwn 6

有多种方法可以做到这一点。这是三个。

第一:

firstRun=True
def writeFile(number):
    global firstRun
    if firstRun:
        print('number')
        firstRun=False
    print(str(number))

for i in range(10):
    writeFile(i)
Run Code Online (Sandbox Code Playgroud)

第二:

def writeFile(number):
    print(str(number))

for i in range(10):
    if not i:
        print('number')
    writeFile(i)
Run Code Online (Sandbox Code Playgroud)

第三:

for i in range(10):
    print(('' if i else 'number\n')+str(i))
Run Code Online (Sandbox Code Playgroud)

我假设这只是一个测试问题,旨在表明函数调用初始化或重置数据的情况。我更喜欢那些对调用函数隐藏信息的对象(例如1)。我是Python的新手,所以我可能使用了不良做法。


jon*_*les 5

在调用函数之前,可以将标题写入文件.这将否定你对if语句的需要.我是一名基础程序员,但这对我来说似乎合乎逻辑.例如:

def writeFile(count):
    print(str(count))

print('number')
for i in range(10):
    writeFile(i)
Run Code Online (Sandbox Code Playgroud)