[Python]小甲魚Python視頻第051課(__name__屬性、搜索路徑和包)課後題及參考解答
阿新 • • 發佈:2019-03-27
auth use shc trac 不想 __main__ 測試題 獲得 模塊
# -*- coding: utf-8 -*- """ Created on Tue Mar 26 23:45:37 2019 @author: fengs """ """ 測試題(筆試,不能上機哦~) """ """ 0. __name__ 屬性的含義是什麽? 當前運行的模塊名 1. 什麽時候 __name__ 屬性的值是 "__main__"? 作為獨立程序: __main__ 作為模塊被引入:__name__的屬性就是模塊名 2. 如果獲得當前 Python 的搜索路徑? import sys print(sys.path) 3. 如果你不想將相關的模塊文件放在當前文件夾內,那最好的選擇是? 方法1: sys.path.append(相關的模塊文件所在路徑) 方法2: 把相關的模塊文件放在已有的搜索路徑中--->site-packages 4. 如果你見到 import urllib.request 語句,那麽這個 urllib 是什麽? 包名 a.新建一個文件夾,文件夾名稱就是包名 b.在文件夾中創建一個 __init__.py 文件,可以為空 c.把相關的模塊文件放在文件夾中 import 包名.模塊名 5. Python 如何區分一個文件夾是普通文件夾還是包? 文件夾中是否有 __init__.py文件 """ print(__name__) # -----> __main__ class Test: def __init__(self): print(__name__) test = Test() """ 動動手0. 0. 執行下邊 a.py 或 b.py 任何一個文件,都會報錯,請改正程序。 註:這道題原理跟上一節課的課後作業(測試題 4、5)類似,如果上節課你搞懂了,這道題應該可以想出解決方案,不要輕易看答案,除非你已經抓破頭皮……. # a.py import b def x(): print(‘x‘) b.y() # b.py import a def y(): print(‘y‘) a.x() 執行 b.py 引發下邊異常: >>> Traceback (most recent call last): File "/Users/FishC/Desktop/b.py", line 1, in <module> import a File "/Users/FishC/Desktop/a.py", line 1, in <module> import b File "/Users/FishC/Desktop/b.py", line 6, in <module> a.x() AttributeError: ‘module‘ object has no attribute ‘x‘ """ # a.py import b def x(): print(‘x‘) if __name__ == ‘__main__‘: b.y() # b.py import a def y(): print(‘y‘) if __name__ == ‘__main__‘: a.x()
[Python]小甲魚Python視頻第051課(__name__屬性、搜索路徑和包)課後題及參考解答