1.1 模塊內(nèi)置屬性name
描述
python模塊都有個(gè)內(nèi)置屬性 name 。
NO | 模塊使用 | 描述 |
---|---|---|
1 | 頂層文件執(zhí)行 | name為’ main ’場(chǎng)景:作為頂層文件執(zhí)行,比如 python module.py。 |
2 | 作為模塊導(dǎo)入 | name為模塊名場(chǎng)景:作為模塊導(dǎo)入,比如 import module |
文件內(nèi)容
E**: \\documents\\F盤 * nameattr *.**py
import os
def testabspath():
print("run:{}".format(os.path.abspath(__file__)))
print("__name__:{}".format(__name__))
if __name__ == '__main__':
testabspath()
示例
# 打開cmd 執(zhí)行下面示例
# 頂層文件執(zhí)行,__name__ 為 __main__
E:\\documents\\F盤>python nameattr.py
run:E:\\documents\\F盤\\nameattr.py
__name__:__main__
# 作為模塊導(dǎo)入,__name__ 為 模塊名稱
E:\\documents\\F盤>python
>>> import nameattr
>>> nameattr.testabspath()
run:E:\\documents\\F盤\\nameattr.py
__name__:nameattr
>>> exit()
1.2 使用name單元測(cè)試
用法
if __name__ == '__main__':
執(zhí)行語句
描述
python模塊作為頂層文件執(zhí)行時(shí),name為’ main ’,會(huì)執(zhí)行if內(nèi)的語句。如果是作為模塊導(dǎo)入,則不會(huì)執(zhí)行if內(nèi)的語句。可以通過if內(nèi)的執(zhí)行語句對(duì)模塊文件的功能進(jìn)行測(cè)試。
文件內(nèi)容
E**: \\documents\\F盤 * nameattr *.**py
import os
def testabspath():
print("run:{}".format(os.path.abspath(__file__)))
print("__name__:{}".format(__name__))
def maxmin(testf,*args):
res = args[0]
for arg in args[1:]:
if testf(arg,res):
res = arg
return res
def minf(x,y):return xdef maxf(x,y):return x>y
if __name__ == '__main__':
nums=[5,6,3,2,1,8]
testabspath()
print("{}最小值為:{}".format(nums,maxmin(minf,*nums)))
print("{}最大值為:{}".format(nums,maxmin(maxf,*nums)))
示例
# 打開cmd 執(zhí)行下面示例
E:\\documents\\F盤>python nameattr.py
run:E:\\documents\\F盤\\nameattr.py
# 頂層文件執(zhí)行,__name__ 為 __main__,自動(dòng)調(diào)用if內(nèi)語句
__name__:__main__
[5, 6, 3, 2, 1, 8]最小值為:1
[5, 6, 3, 2, 1, 8]最大值為:8
1.3 命令行參數(shù)argv
描述
python模塊作為頂層文件執(zhí)行時(shí),可以向運(yùn)行腳本傳遞參數(shù),并且通過sys.arg列表獲取參數(shù)。
文件內(nèi)容
E:\\documents\\F盤\\argvtest.py
import sys,os
print("run:{}".format(os.path.abspath(__file__)))
print("__name__:{}".format(__name__))
def testargva():
for i,x in enumerate(sys.argv):
print("第{}個(gè)參數(shù)為:{}".format(i,x))
testargva()
示例
# 打開cmd 執(zhí)行下面示例
E:\\documents\\F盤>python argvtest.py 'a' 'b' 1 2 3
run:E:\\documents\\F盤\\argvtest.py
__name__:__main__
第0個(gè)參數(shù)為:argvtest.py
第1個(gè)參數(shù)為:'a'
第2個(gè)參數(shù)為:'b'
第3個(gè)參數(shù)為:1
第4個(gè)參數(shù)為:2
第5個(gè)參數(shù)為:3
-
Str
+關(guān)注
關(guān)注
0文章
21瀏覽量
35069 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86381 -
init
+關(guān)注
關(guān)注
0文章
16瀏覽量
3567
發(fā)布評(píng)論請(qǐng)先 登錄
C++重載運(yùn)算符和重載函數(shù)詳解
C語言運(yùn)算符的使用方法

2.7 python運(yùn)算符
條件運(yùn)算符是什么_條件運(yùn)算符有哪些

單目運(yùn)算符是什么_單目運(yùn)算符有哪些

C++程序設(shè)計(jì)教程之運(yùn)算符重載的詳細(xì)資料說明

評(píng)論