啓用以後的語言特性
可能破壞現有代碼語言方面的變動會不斷引進。一開始,是以選用擴展功能的方式出現,默認是關閉的。要開啓這類功能,可以使用以下形式的特定的import語句:
from __future__ import featurename
這個語句一般應該出現在模塊文件的頂端,因爲這是以每個模塊爲基礎,開啓特殊的代碼編譯。
混合用法模式:__name__和__main__
這是一個特殊的與模塊相關的技巧,可把文件作爲模塊導入,也可以以獨立程序的形式運行。每個模塊都有個名爲__name__的內置屬性,Python會自動設置該屬性。
- 如果文件是以頂層程序文件執行,在啓動時,__name__就會設置爲字符串“__mian__”
- 如果文件被導入,__name__就會改設成客戶端所瞭解的模塊名。
#!/usr/bin/env python
# coding=utf-8
print('I am:',__name__)
def minmax(test,*args):
res=args[0]
for arg in args[1:]:
if test(arg,res):
res=arg
return res
def lessthan(x,y):return x<y
def grtrthan(x,y):return x>y
if __name__=='__main__':
print(minmax(lessthan,4,2,1,5,6,3))
print(minmax(grtrthan,4,2,1,5,6,3))
無論是否用於測試,結果都是讓代碼有兩種不同的角色:作爲工具的庫模塊,或者是作爲可執行的程序。