关于 __name__
首先需è¦�了解 __name__ 是属于 python ä¸çš„内置类属性,就是它会天生就å˜åœ¨äºŽä¸€ä¸ª python 程åº�ä¸ï¼Œä»£è¡¨å¯¹åº”程åº�å��称。
比如所示的一段代ç �里é�¢ï¼ˆè¿™ä¸ªè„šæœ¬å‘½å��为 pcRequests.py),我å�ªè®¾äº†ä¸€ä¸ªå‡½æ•°ï¼Œä½†æ˜¯å¹¶æ²¡æœ‰åœ°æ–¹è¿�行它,所以当 run 了这一段代ç �之å�Žæˆ‘们有会å�‘现这个函数并没有被调用。但是当我们在è¿�行这个代ç �时这个代ç �çš„ __name__ 的值为 __main__ (一段程åº�作为主线è¿�行程åº�时其内置å��称就是 __main__)。
import requests
class requests(object):
def __init__(self,url):
self.url=url
self.result=self.getHTMLText(self.url)
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "This is a error."
print(__name__)
结果:
__main__ Process finished with exit code 0
当这个 pcRequests.py 作为模å�—被调用时,则它的 __name__ 就是它自己的å��å—:
import pcRequestspcRequestsc=pcRequestsc.__name__
结果:
'pcRequests'
看到这里应该能明白,自己的 __name__ 在自己用时就是 main,当自己作为模å�—被调用时就是自己的å��å—,就相当于:我管自己å�«æˆ‘自己,但是在朋å�‹çœ¼é‡Œæˆ‘就是å°�ä»™å¥³ä¸€æ ·ã€‚