![Python 3.7从入门到精通(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/212/31476212/b_31476212.jpg)
上QQ阅读APP看书,第一时间看更新
6.12 函数的内置属性和命名空间
函数有许多内置属性,用户可以在Python解释器中输入dir(函数名称),即可显示这些内置属性。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P144_57453.jpg?sign=1739670390-vohKPVa89wR2uM22XBIQq5LVpwLuWFtk-0-a99ad83b330f8e213d10a14db5bf5df2)
运行结果如图6-45所示。
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P145_14102.jpg?sign=1739670390-Pzvk8x48w9x0OVNPATbuqYHgf08fEucW-0-11d5dae8da4144a8076fdf4ceaa79370)
图6-45 运行结果
下面选择一些常见的内置属性进行讲解。
(1)__dict__:该属性包含函数的命名空间。
(2)__doc__:该属性显示函数的文件字符串。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P145_57454.jpg?sign=1739670390-HXoLn3KKCNa3AqTdOReiSqZ8h5OiitWL-0-3d5d96aea6569662b5427ae4d2bdc125)
(3)__name__:该属性显示函数的名称。例如:
![](https://epubservercos.yuewen.com/5D8A8A/17035792904285406/epubprivate/OEBPS/Images/Figure-P145_57455.jpg?sign=1739670390-Jmon2MhJ792lpkpaV17GBvxEDA6bHmGJ-0-a9a10dad89281edc66f69d7d5f2e786a)
Python使用动态命名空间。每一个函数、模块与类在创建时,都会定义其自己的命名空间。当用户在Python解释器中输入一个指令或语句时,Python会先搜索局部命名空间,然后搜索全局命名空间。
Python包含的命名空间如下:
• 内置命名空间(built-in namespace):int、string、def、print等。
• 全局命名空间(global namespace):位于模块的最上层。
• 局部命名空间(local namespace):位于函数内。
Python解释器在搜索名称或变量时,首先会在局部命名空间中搜索,若找不到,再到全局命名空间中,若还是找不到,则会到内置命名空间中搜索,最后如果还是找不到,Python就会输出一个NameError异常。