Python第15天

Posted daoda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python第15天相关的知识,希望对你有一定的参考价值。

1 自定义模块                   2常用模块time datetime  random

模块:就是文件,存放一堆常用的函数,一个函数就是一个功能,把一些常用的函数放在一个py文件中,这个文件就称之为模块

模块,就是一些常用功能的集合体

封装语句的最小单位是模块  本质就是.py 文件

自定义模块:模块不易过大   实际上就是定义py文件 其中可以包含变量定义 可执行语句  for循环  函数定义等等  他们统称模块的成员

模块的运行方式:

1 脚本方式:直接用解释器执行   或者pycharm中右键运行

2模块方式:被其他的模块导入,为导入它的模块提供资源 (函数定义   类定义  变量等)

—name_属性的使用:

在脚本方式运行时,__name__是固定的字符串__main__

在以模块方式被导入时,__name__就是本模块的名字

 

 

系统在导入模块的路径

内存中:如果之前成功导入过某个模块,直接使用已经存在的模块

内置路径中:安装路径下:lib-》site-package

sys .path:是一个路径的列表

如果三个都找不到,就报错

动态修改sys.path

OS模块

os.path.dirname() 获取某个路径的父路径。通常用语获取当前模块的相对路径

 

import os
import sys
#sys.path.append(r‘C:UsersAdministratorDesktop.ideapython1a‘)绝对路径找
sys.path.append(os.path.dirname(__file__)+‘/aa‘)



 

def main():
pass

if __name__ == ‘__main__‘:
main()

导入模块的多种方式:
import xxx:导入一个模块的所有成员
import aaa,bbb 一次性导入多个模块的成员 不推荐这种写法 最好分开写
import os,sys
from xxx import a:从某个模块中导入指定的成员
from xxx import a,b,c 从某个模块中导入多个成员
from xxx import * 从模块中导入所有成员

import xxx和from xxx import * 的区别
import xxx 在使用其中成员时,必须使用模块名作为前缀   不会产生命名冲突
from xxx import * 在使用其中成员时,直接使用成员名 容易产生命名冲突 在后定义的成员生效(把前面的覆盖了)


怎么解决名称冲突的问题

改用import xxx 方式导入


自己避免使用同名
使用别名解决冲突   
使用别名:alias的缩写  as 

axxx as xxx

导入的模块 导入的成员使用别名


#使用别名避免命名冲突
from my_module import age as a 给成员起别名
age=1000
print(age)
print(a)

#给模块起别名
import my_module as m 给模块起别名 简化书写
print(m.age)
m.f1()

from XXX import * 默认控制成员被导入
默认情况下,所有的成员都会被导入
__all__是一个列表 用于表示本模块可以被外界使用的成员。元素是成员名组成的字符串

# 验证 ————all————
# from my_module import *
import my_module as m

print(m.age)
print(m.age2)
print(m.age3)

import my_module as m#使用这种方式可以绕过————all————

print(m.age)
print(m.age2)
print(m.age3)

__all__只对from xxx import * 这种导入方式生效,其余的方式都不生效


相对导入

针对某个项目中的不同模块之间进行导入




 

 

为什么要用模块

1 从文件级别组织程序,更方便管理。随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理,这时我们不仅仅可以把这些文件当脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用

2 拿来主义,提升开发效率,同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用。这种拿来主义,可以极大地提升我们的开发效率,避免重复造轮子

常说的脚本:如果退出Python解释器然后重新进入,那么之前定义的函数或变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.py方式去执行,此时的test.py被称为脚本script

所以 脚本就是一个Python文件,比如之前写的购物车,模拟博客园登录系统等等

 

模块的分类

1 内置模块  标准库,此类模块就是Python解释器给你提供的,比如time模块  os模块。标准库的模块非常多,

2第三方模块  第三方库  一些Python大神写的非常好用的模块,必须通过pip install指令安装的模块,比如BeatufulSoup   Django等

3  自定义模块  自己在项目中定义的模块

定义一个模块 其实很简单就是写一个文件,里面写一些代码(变量,函数)即可

 

以上是关于Python第15天的主要内容,如果未能解决你的问题,请参考以下文章

第15天:Python set

Python训练营Python每日一练----第15天:字串排序

第43天python学习re模块学习

android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错

大三上寒假15天--第15天

python第4天