python利用or在列表解析中呼叫多個函式.py

weixin_34248118發表於2016-03-16
"""
python利用or在列表解析中呼叫多個函式.py
2016年3月15日 05:08:42 codegay

"""

'''有時候我會在列表解析中write檔案,
或者呼叫print顯示輸出,不是為了收集結果,
而是因為能省程式碼行數'''

#程式碼例子1
with open("a.txt","w+") as f:
    [print(str(r)) for r in range(10)]
    [f.write(str(r)+"\n") for r in range(10)]


#程式碼例子2 利用or列表解析呼叫多個函式
def a(x):
    print("函式a輸出:",x)

def b(x):
    print("函式b輸出:",(x+10)**2)

[a(r) or b(r) for r in range(10)]
"""
例子2程式碼輸出:

函式a輸出: 0
函式b輸出: 100
函式a輸出: 1
函式b輸出: 121
函式a輸出: 2
函式b輸出: 144
函式a輸出: 3
函式b輸出: 169
函式a輸出: 4
函式b輸出: 196
函式a輸出: 5
函式b輸出: 225
函式a輸出: 6
函式b輸出: 256
函式a輸出: 7
函式b輸出: 289
函式a輸出: 8
函式b輸出: 324
函式a輸出: 9
函式b輸出: 361
"""

#現學現用,例子1中的程式碼可以改成如下:
with open("a.txt","w+") as f:
    [print(str(r)) or f.write(str(r)+"\n") for r in range(10)]

input("任意鍵退出")

相關文章