python 51_【python51--__name__属性】

本文介绍了Python中的__name__属性及其在判断模块运行方式中的作用,详细解析了Python模块的搜索路径,包括如何通过sys.path添加模块路径。同时,文章讲解了如何创建和使用包(package),以及识别普通文件夹与包的区别。最后,提到了urllib.request模块在URL管理中的用途。
摘要由CSDN通过智能技术生成

一、基础知识

1、__name__ == '__main__'

所有模块都有一个__name__属性,__name__的值取决于如何应用模块,在作为独立程序运行的时候,__name__属性的值是‘__main__’,而作为模块导入的时候,这个值就是该模块的名字了

if __name__ == '__main__'

test()

含义:如果name调用的是主程序的则,运行if里面的test()语句,而不是其他的(如导入的包)的语句

2、搜索路径:python模块的导入需要一个路径搜索的过程,导入一个hello模块,Python需要找到一个叫hello.py的文件,如果找到就搜索成功即导入成功,找不到就失败

-- Python搜索相关路径下的模块

>>>import sys>>>sys.path

['', '/Users/wufq/Documents', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']>>>#一般常用的是/site-packahes路径,按照这个逻辑来说,我们只需要告诉模块文件在哪里,就可以让Python在此路径下找

--存放Python的模块文件

>>>import Temperature

Traceback (most recent call last):

File"", line 1, in import Temperature

ModuleNotFoundError: No module named'Temperature'

>>> sys.path.append("/Users/wufq/Documents/test")>>>sys.path

['', '/Users/wufq/Documents', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages', '/Users/wufq/Documents/test']>>>import Temperature>>> Temperature.c2f(32)89.6

>>>

'''|--代码解释:|--先导入:import Temperature,报错,原因是python在搜索路径下没有找到这个包|-- 解决方法:把Temperature文件所在的路径放到python的搜索路径下:sys.path.append("/Users/wufq/Documents/test"),查看一下是不是已经加入:sys.path|-- 再次导入验证:import Temperature --> Temperature.c2f(32) --> 89.6

'''

3、包(package)

-- 创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字

-- 在文件夹中创建一个__init__.py的模块文件,内容可以为空明

-- 将相关的文件放入文件中

import IM.Temperature astr

print(tr.c2f(32))

print(tr.f2c(99))'''|--代码解析:|--1、先创建一个文件夹IM,并把Temperature.py文件放到IM文件夹内,并创建一个空的__init__.py文件|--2、新建一个calc.py文件,编写相应的代码(即:上面的代码)|--3、import时必须带着包名IM(import IM.Temperature astr),否则就会报错'''

4、如果不想把相应的模块放在当前文件夹内,最好的选择是?

放在site-packages文件夹内,因为他就是存放模块的文件夹

5、import urllib.request语句,这个urllib是什么

urllib是负责管理url的包,用于访问网址

6、如何区分一个文件夹是普通的文件夹还是包

主要看这个文件夹内是否含有__init__.py,如果有则是包,并且__init__.py可以是空文件,也可以里面写一些代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值