Python学习笔记(12)——嘿嘿嘿,拿来吧你
开始之前,来个问题:
你喜欢自己造轮子,还是装别人的轮子?
小伙伴:当然是装别人的轮子喽。(⊃・ᴥ・)つ
但是,Python岂不是不能用?
不对哦,不仅能用,还能用出花样。
这才叫“人生苦短,我用Python”呢。
1.模块懂不懂?
我们需要知道一个概念:模块。
模块其实很简单。
我们来写一个文件,命名为Module.py吧:
是的,你没看错,他就是一个模块。
小伙伴:那么模块的用处不就是“一劳永逸”吗?我怎么没看出一点呢?
别急,等会儿你就见识到了。
2.模块与Import
我们来认识一下Import这个单词吧,他有导入,输入,引进的意思,所以用来导入模块。
格式如下:
import 我是一个模块
而使用函数与类的格式如下:
Module.函数()
class_ = Module.类()
# 使用规范是Module.想调用的。
你知道我们刚才的Module.py的模块名是什么吗?
很简单,文件名中.py 去掉就行了。
所以我们的模块名是Module。
需要注意的是,给模块取名时建议小写。
现在我们来试试,在Module.py中输入:
#Filename:Module.py
def hellowa():
print('你好哇~')
在B.py中输入:
#filename:B.py
import Module
Module.hellowa()
运行:
是不是很神奇,Module.py中的hellowa()被引用过来了。
还有呢,Python自带了sys,time等神奇的模块,让你一行调用,享受便捷。
这还不够神奇呢。
3.PyPI I love you
有一个神奇的网站叫PyPI(Python Package Index) ,它是Python开发的,全世界有数万人在这里发布他们的模块。
可以看到,截至发文时(2021.9.24),PyPI发布了近32万个项目。
在这里,你可以搜索到你想要的模块,然后一键安装。
等!安装?
难道像C那样拷贝给D:/Program Files/MinGW_64/……个没完吗?
当然不是,我们有PIP呢。
3.1.PIP yyds
PIP(Python install package)可以便捷的安装模块,从pypi里搜查。
只需要:
...> pip install 一个模块
就行啦。
比如说我在查询代理抓包的模块,于是搜索代理(Proxy),发现了这个:
呼声挺高的。
我搜完了攻略(对,搜攻略是真实写照(⊃・ᴥ・)つ),开始一顿操作猛如虎,pip install mitmproxy后,我就开始开心玩耍了。
长时间下来,你可以pip freeze来看一下你的所有模块。
我的是这样:
altgraph==0.17
appdirs==1.4.4
argon2-cffi==20.1.0
asgiref==3.4.1
async-generator==1.10
attrs==21.2.0
Automat==20.2.0
autopep8==1.5.7
backcall==0.2.0
backports.entry-points-selectable==1.1.0
beautifulsoup4==4.9.3
bleach==4.0.0
blinker==1.4
Brotli==1.0.9
cachetools==4.2.2
certifi==2020.12.5
cffi==1.14.5
chardet==4.0.0
cheroot==8.5.2
click==8.0.1
colorama==0.4.4
constantly==15.1.0
cryptography==3.4.7
cssselect==1.1.0
cycler==0.10.0
debugpy==1.4.1
decorator==5.0.9
defusedxml==0.7.1
distlib==0.3.2
Django==3.2.6
dominate==2.6.0
easygui==0.96
entrypoints==0.3
filelock==3.0.12
Flask==2.0.1
Flask-Bootstrap==3.3.7.1
future==0.18.2
gevent==21.1.2
greenlet==1.1.0
h11==0.12.0
h2==4.0.0
hashids==1.3.1
hpack==4.0.0
hyperframe==6.0.1
hyperlink==21.0.0
idna==2.10
imageio==2.9.0
incremental==21.3.0
ipykernel==6.1.0
ipython==7.26.0
ipython-genutils==0.2.0
ipywidgets==7.6.3
itemadapter==0.3.0
itemloaders==1.0.4
itsdangerous==2.0.1
jaraco.functools==3.3.0
jedi==0.18.0
Jinja2==3.0.1
jmespath==0.10.0
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==6.1.12
jupyter-console==6.4.0
jupyter-core==4.7.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.0
kaitaistruct==0.9
kiwisolver==1.3.2
ldap3==2.9.1
lxml==4.6.3
MarkupSafe==2.0.1
matplotlib==3.4.3
matplotlib-inline==0.1.2
mimesis==4.1.3
mistune==0.8.4
mitmproxy==7.0.2
more-itertools==8.8.0
MouseInfo==0.1.3
msgpack==1.0.2
MyQR==2.3.1
nbclient==0.5.3
nbconvert==6.1.0
nbformat==5.1.3
nest-asyncio==1.5.1
notebook==6.4.3
numpy==1.21.0
opencv-python==4.5.3.56
packaging==21.0
pandas==1.3.1
pandocfilters==1.4.3
parsel==1.6.0
parso==0.8.2
passlib==1.7.4
pefile==2021.5.24
pickleshare==0.7.5
Pillow==8.3.0
platformdirs==2.2.0
priority==1.3.0
progress==1.6
progressbar==2.5
prometheus-client==0.11.0
prompt-toolkit==3.0.19
Protego==0.1.16
protobuf==3.17.3
publicsuffix2==2.20191221
py2exe==0.10.4.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
PyAutoGUI==0.9.53
pycodestyle==2.7.0
pycparser==2.20
PyDispatcher==2.0.5
pydivert==2.1.0
pyee==8.1.0
pygame==2.0.1
PyGetWindow==0.0.9
Pygments==2.9.0
pyinstaller==4.3
pyinstaller-hooks-contrib==2021.2
pymongo==3.12.0
PyMsgBox==1.0.9
pyOpenSSL==20.0.1
pyparsing==2.4.7
pyperclip==1.8.2
pyppeteer==0.2.5
PyQt5==5.15.4
pyqt5-plugins==5.15.4.2.2
PyQt5-Qt5==5.15.2
PyQt5-sip==12.9.0
pyqt5-tools==5.15.4.3.2
PyRect==0.1.4
pyrsistent==0.18.0
PyScreeze==0.1.27
python-dateutil==2.8.2
python-dotenv==0.18.0
PyTweening==1.0.3
pytz==2021.1
pywin32==301
pywin32-ctypes==0.2.0
pywinpty==0.5.7
pyzmq==22.2.1
qt5-applications==5.15.2.2.2
qt5-tools==5.15.2.1.2
qtconsole==5.1.1
QtPy==1.9.0
queuelib==1.6.1
redis==3.5.3
requests==2.25.1
ruamel.yaml==0.17.10
ruamel.yaml.clib==0.2.6
schedule==1.1.0
Scrapy==2.5.0
Send2Trash==1.8.0
service-identity==21.1.0
six==1.16.0
sortedcontainers==2.4.0
soupsieve==2.2.1
sqlparse==0.4.1
termcolor==1.1.0
terminado==0.9.5
testpath==0.5.0
toml==0.10.2
tornado==6.1
tqdm==4.62.0
traitlets==5.0.5
Twisted==21.7.0
twisted-iocpsupport==1.0.1
typing-extensions==3.10.0.0
urllib3==1.26.4
urwid==2.1.2
virtualenv==20.7.2
visitor==0.1.3
w3lib==1.22.0
wcwidth==0.2.5
web.py==0.62
webencodings==0.5.1
websockets==8.1
Werkzeug==2.0.1
widgetsnbextension==3.5.1
wsproto==1.0.0
wxPython==4.1.1
xlrd==2.0.1
xlwt==1.3.0
yaspin==2.1.0
you-get==0.4.1527
zope.event==4.5.0
zope.interface==5.4.0
zstandard==0.15.2
真是够有成就感呀。(⊃・ᴥ・)つ
好了,今天的文章就到这里!
欢迎来编写一个模块哟~





