模块

模块的概念和基本用法

模块的概念及作用
1.模块是Python中的最高级别的组织单元,它将程序代码和数据封装起来以便重用(即一个.py文件)。
2.作用:
代码重用
实现共享服务和数据

** __name__变量**

import random
print(random.__name__);
print(__name__);

结果:

random
__main__

1.模块的模块名可以通过全局变量“name”获得。
2.如果直接运行该模块,name__的值是__main,如果是作为模块导入则是导入的模块名。
dir函数

import random
print(dir(random));
print(dir());

1.dir函数可以列出对象的模块标识符,标识符有函数,类和变量。
2.当dir函数提供模块名时,他返回模块定义的名称列表;如果不提供参数,他返回当前模块定义的名称列表。
3.使用dir函数可以方便我们了解对象的构造。
使用模块
1.使用import语句导入模块,使用模块中的内容和调用对象中的内容是一样的。

import random
print(random.random());

2.使用from—import—导入模块中一个指定部分,该方法不需要使用包名前缀

from random import random
print(random());

1.代码,包和模块的关系是:包包含模块且至少包含一个__init__.py,模块包含代码。
2.简单来说包就是文件夹,init.py用于说明当前文件为一个包。
3.创建包的过程是在该工程下创建一个Python Package,该包会自动创建__init__文件,接着在该包下继续创建.py文件即可
4.通过from—import—导入包中内容

标椎库

前面介绍了自定义的模块和包,Python官方提供了不少的包和模块,我们称之为标准库,Python·标准库会随着Python解释器一起安装到电脑中

sys

1.识别操作系统

import sys
print(sys.platform);

输出:win32
2.处理命令行参数
sys.argv 变量可以获取命令行参数。argv是一个list类型的变量,他会返回在命令行中用户输入的参数。返回一个列表,列表的第一个元素是文件名本身,第二个参数开始才是我们运行时指定的参数内容。
3.退出程序
sys.exit(可选参数);
4.获取模块搜索路径
在sys.path中存储了python结束其需要搜索的所有路径,并且我们可以通过修改该变量修改搜索模块路径。

import sys

for path in sys.path:
    print(path);

结果:

E:\anewproject\venv\Scripts\python.exe E:/anewproject/dui.py
E:\anewproject
E:\anewproject
E:\anewproject\venv\Scripts\python35.zip
F:\Pycharm3\DLLs
F:\Pycharm3\lib
F:\Pycharm3
E:\anewproject\venv
E:\anewproject\venv\lib\site-packages
E:\anewproject\venv\lib\site-packages\setuptools-40.8.0-py3.5.egg
E:\anewproject\venv\lib\site-packages\pip-19.0.3-py3.5.egg

Process finished with exit code 0

5.查找已导入的模块

import sys
print(sys.modules.keys());
print(sys.modules.values());
print(sys.modules["os"]);

1.“sys.modules”是一个全局字典,该字典在Python启动后就加载到内存中,每当程序员导入新模块时,就会自动记录该模块,当第二次导入该模块时,python会直接到字典中查找,加快查找速度。

os

Python的os模块中封装了操作系统的文件和目录操作
1.获取当前文件所在目录
__file__是Python的内置变量,os.path.dirname(file)表示文件当前位置。

import os
print(__file__);
print(os.path.dirname(__file__));

2.获取当前路径以及切换当前路径

import os
print(os.getcwd());#获取当前路径
os.childir("c:\\");#切换路径
print(os.getcwd());

3.重命名文件

import os
os.system("C:\Windows\System32\mspaint.exe");#路径是软件的安装路径
os.rename(r"C:\Users\Adminisrator\Desktop\bbb.txt",r"C:\Users\Adminisrator\Desktop\ccc.txt")#对文件进行重命名

4.查看指定路径是否存在

import os
folder = os.path.exists("c:\windows");
print(folder);

5.判断给出的路径是否是一个文件

import os
folder = os.path.isfile("c:\\windows\\system32");
print(folder);

6.判断给出的路径是否为一个目录

import os
folder = os.path.isdir("c:\\windows\\system32");
print(folder);

7.获取系统环境变量

import os
for k,v in os.environ.items():
    print(k,"=>",v);

其他os的功能如创建单层目录和多层目录作为了解
结果:

E:\anewproject\venv\Scripts\python.exe E:/anewproject/dui.py
APPDATA => C:\Users\Adminisrator\AppData\Roaming
PROGRAMFILES => C:\Program Files
PROGRAMW6432 => C:\Program Files
FPS_BROWSER_USER_PROFILE_STRING => Default
LOCALAPPDATA => C:\Users\Adminisrator\AppData\Local
JAVA_HOME => C:\Program Files\Java\jdk-12.0.2
USERPROFILE => C:\Users\Adminisrator
QUARTUS_ROOTDIR => F:\quartus\quartus
_OLD_VIRTUAL_PROMPT => $P$G
IDEA_INITIAL_DIRECTORY => F:\Pycharm1\PyCharm Community Edition 2019.3.1\bin
COMSPEC => C:\WINDOWS\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING => Internet Explorer
SYSTEMROOT => C:\WINDOWS
USERDOMAIN_ROAMINGPROFILE => DESKTOP-69S1CJM
PROCESSOR_LEVEL => 6
TEMP => C:\Users\ADMINI~1\AppData\Local\Temp
COMMONPROGRAMFILES => C:\Program Files\Common Files
WINDIR => C:\WINDOWS
USERDOMAIN => DESKTOP-69S1CJM
PYTHONIOENCODING => UTF-8
PYCHARM_HOSTED => 1
PATHEXT => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
_OLD_VIRTUAL_PATH => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk-12.0.2\bin;F:\Matlab3\runtime\win64;F:\Matlab3\bin;F:\Pycharm2;F:\Pycharm3\Scripts\;F:\Pycharm3\;F:\VITual c++\Tools\WinNT;F:\VITual c++\MSDev98\Bin;F:\VITual c++\Tools;F:\VC98\bin;C:\Users\Adminisrator\AppData\Local\Microsoft\WindowsApps;
PROGRAMDATA => C:\ProgramData
PROGRAMFILES(X86) => C:\Program Files (x86)
SYSTEMDRIVE => C:
PROCESSOR_IDENTIFIER => Intel64 Family 6 Model 142 Stepping 10, GenuineIntel
OS => Windows_NT
COMMONPROGRAMFILES(X86) => C:\Program Files (x86)\Common Files
PROCESSOR_ARCHITECTURE => AMD64
ONEDRIVE => C:\Users\Adminisrator\OneDrive
PUBLIC => C:\Users\Public
HOMEPATH => \Users\Adminisrator
HOMEDRIVE => C:
INCLUDE => F:\VC98\atl\include;F:\VC98\mfc\include;F:\VC98\include
MSDEVDIR => F:\VITual c++\MSDev98
PSMODULEPATH => C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
COMMONPROGRAMW6432 => C:\Program Files\Common Files
SOPC_KIT_NIOS2 => F:\quartus\nios2eds
LOGONSERVER => \\DESKTOP-69S1CJM
SESSIONNAME => Console
PYTHONUNBUFFERED => 1
PYTHONPATH => E:\anewproject
ALLUSERSPROFILE => C:\ProgramData
PROMPT => (venv) $P$G
COMPUTERNAME => DESKTOP-69S1CJM
TMP => C:\Users\ADMINI~1\AppData\Local\Temp
PATH => E:\anewproject\venv\Scripts;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk-12.0.2\bin;F:\Matlab3\runtime\win64;F:\Matlab3\bin;F:\Pycharm2;F:\Pycharm3\Scripts\;F:\Pycharm3\;F:\VITual c++\Tools\WinNT;F:\VITual c++\MSDev98\Bin;F:\VITual c++\Tools;F:\VC98\bin;C:\Users\Adminisrator\AppData\Local\Microsoft\WindowsApps;
DRIVERDATA => C:\Windows\System32\Drivers\DriverData
PROCESSOR_REVISION => 8e0a
NUMBER_OF_PROCESSORS => 8
VIRTUAL_ENV => E:\anewproject\venv
USERNAME => Adminisrator
LIB => F:\VC98\mfc\lib;F:\VC98\lib

Process finished with exit code 0

Math

math提供了正常情况下内置平台c库中才有的很多IEEE函数,我们可以使用浮点值完成复杂的运算
1.math库中两个常量
包括圆周率和自然常数

import math
print(math.pi);#圆周率
print(math.e);#自然常数e

执行结果:

3.141592653589793
2.718281828459045

2.math中的运算函数

import math
print(math.ceil(1.7))#向上取整
print(math.ceil(0.3))
print(math.ceil(-0.7))
print(math.floor(1.7))#向下取整
print(math.floor(0.3))
print(math.floor(-0.7))
print(math.pow(15,3))#指数运算
print(math.pow(29,-1))
print(math.log(3))#对数运算,默认底数是e,也可以使用第二个参数来改变对数的底数
print(math.log(100,10))
print(math.sqrt(4))#平方根运算
print(math.sqrt(128))
print(math.sin(math.pi/2))#正弦运算
print(math.cos(math.pi))#余弦运算
print(math.tan(0))#正切运算
print(math.degrees(math.pi))#讲弧度转换成角度
print(math.radians(90))#将角度转换成弧度

执行结果:

E:\anewproject\venv\Scripts\python.exe E:/anewproject/dui.py
2
1
0
1
0
-1
3375.0
0.034482758620689655
1.0986122886681098
2.0
2.0
11.313708498984761
1.0
-1.0
0.0
180.0
1.5707963267948966

Process finished with exit code 0

random

random库中列出了许多和随机数相关的方法,以下列出常见的一些

import random
print(random.random())#生成一个0到1的随机浮点数
print(random.uniform(1,100))#用于生成一个指定范围内的随机浮点数
print(random.randint(1,100))#用于生成一个指定范围内的整数
s1 = (1,2,3,4,5,6)
s2 = ["星期一","星期二","星期三"]
print(random.choice(s1))#从指定序列中随机抽取一个元素
print(random.choice(s2))
s3 = list(range(1,10))
s4 = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
random.shuffle(s3)#用于将列表中的元素打乱,所以原来的序列必须是可修改的,因此元组不能作为该函数的参数
random.shuffle(s4)
print(s3)
print(s4)

结果:

E:\anewproject\venv\Scripts\python.exe E:/anewproject/dui.py
0.012853983821227044
14.033151433826028
100
3
星期三
[3, 8, 6, 5, 2, 7, 9, 1, 4]
['星期六', '星期日', '星期五', '星期四', '星期三', '星期一', '星期二']

Process finished with exit code 0

用于网络爬虫的urllib模块

from urllib import request

url = "http://www.baidu.com"
data = request.urlopen(url).read();
print(data.decode());

webbrowser模块

import webbrowser
webbrowser.open("http://www.baidu.com");//打开网页

使用第三方模块

找到python的安装目录,其中有一个Lib文件,这里面装的都是模块。第三方模块都装在site-package
重点:第三方模块的安装
第一种方法:pip工具
1.打开cmd.
2.如果第一次下载和安装模块时需要升级pip工具。在cmd的窗口下面写:python -m pip install --upgrade pip 如果升级好了会有提示。
3.pip工具除了下载还有其他功能,pip list 显示安装过的第三方模块,pip uninstall … 卸载
第二种方式
1.在网上找到需要的包 通过pip工具导入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值