模块与包
模块:
python在市场上的特点:
1.代码简洁,简单容易上手
2.能够结合其他语言,有很好的兼容性,主要是因为python是弱类型的语言《脚本语言》,实现跨平台的开发。
3.能够和大数据结合。
数据分析、人工智能、云服务。
python为什么会做很多东西?
因为语言开源,免费,可以修改。因为python的开源性,就会导致很多大神参与源代码里进行设置,会有很多非官方功能,他们把这些功能封装起来,打包或者模块化。
认识模块
什么是模块?
其实模块就是一个python文件,里面封装了很多类、方法或者函数可以使用,模块名就是文件名。
注意:是不带后缀名, .txt、.py
test.py——>test(模块名)
作用:调用其他python文件代码时,可以让编写的python文件去使用其他的python文件里的方法或者函数。
当导入模块时,就是我们获得这些模块的代码。
模块有三种:
1.内置模块:就是python自带,但不同于其它内置函数,内置模块需要进行引用,才能使用。
2.第三方模块:就不是官方(python)自带的。是其他大神写好的代码,你是需要下载好了才能使用。
3.自定义模块:自己编写好的python文件,可以运用到其他python文件里面。
引入模块的格式:import XXXX
例如:# 时间模块
# 随机模块
如果我要输出负数小数呢???
很简单。
看吧,成功输出负数。
输出整数的随机数的代码,并且以列表的形式输出。
负数同上:如图所示
下载第三方模块:pip
pip——>python自带的下载工具,可以利用这个工具去下载其他的第三方工具。
因为你安装的python自带的pip是很低的版本,有很多第三方库是没有的,需要更新。
更新代码:python -m pip install --upgrade pip
然后就可以下载第三方库了
例如:我更新了pandas模块,更新代码: pip install 库名
进入方法:
英文是Terminal
当然,也可以通过代理加速,下载第三方库。
pip install 库名 --default-timeout=100 (timeout是允许有100毫秒的延迟)
下载完成。
———————————————————————————————————————————
#使用第三方块
import request
url = "百度一下,你就知道"
a=request.get(url)
#response响应,响应就是网络返回的数据。
print(a)
cont=a.content
print(cont)
result = a.text
print(result)
这些输出的内容就是我爬取到的数据。嘿嘿
如何导入模块?
我们可以使用模块里的一种方法,但是我们去引入模块的时候,基本是加载全部方法。
会造成资源浪费,所以我们可以单独使用一个方法。
格式:
from 模块名 import 方法名
优点:避免不必要的浪费,减少代码量。
缺点:如果用不同模块相同方法会被覆盖
还有一个就是:如果第三方模块名太长了,可以起别名。
例如:from requests import get
模块进阶使用
python有一个main方法来判断是否为程序或者模块。
注意:1.main方法并不是java或者C语言的主要方法。
2.一个python文件,__name__为main,那么python就是可以作为启动程序,否则就是一个模块文件。
3.可以把一些测试代码放到main函数里面去。
if__name__=='__main__': (标准写法)
print(__file__) —>(获取文件位置)
----------------------------------------------------------------------------------------------------------------
包
概念:把一些功能模块,放到统一一个文件夹里面,统一进行管理。
如果模块是一个文件,那么包就是一个文件夹,用于装模块的。
__init__.py
__init__.py:
在导入包的时候,会自动运行__init__.py
可以利用这个现象,把__init__.py当成一个配置文件使用或者说明。
这是一个登录代码。具体的情况,由于我的电脑运行不出来,所以只好展示代码。