每天都有一种备课的赶脚~~~

什么是模块?

在实际的开发过程中,代码量肯定有成千上万行的代码,甚至十几万行代码也很正常吧。。。

那么这么多的代码如果放在一个文件中,肯定是很不合适的,为了以后程序的编写和维护,通常会把代码按照功能点分割,分别放到不同的文件里,这样每个文件都会有一部分代码。对了,代码是放在以py为扩展名中的文件里。

一个.py文件,就是一个模块。我们又通常将多个模块,按照功能分别放到不同的目录中,这些存放模块文件的目录,我们称之为:包(Package)

好比书就是文件,书很多书放在包里,就是书包了。。。。不同的书根据类别放在不同的书包里。。。。。嗯 。。。。好理解了吧。为了方便查找书,按照书的类别存放书,是有好处滴~~~~

模块:

模块包括了数据和函数,我们可以自己创建模块,也有python内置的模块,包括以后我们引用的第三方模块。

什么是自定义模块?

答:自定义模块就是我们自己用def写的函数,放到一个.py的文件中。

如果我们需要使用某个模块里面的函数,我们需要怎么操作呢?

答:import关键字   +   模块名

import os     #导入os模块

也可以用     from关键字  模块名   import关键字 函数名

 from bokeyuan import c

c()   #就可以调用导入的函数了
1 from bokeyuan import c,aa      #也可以这样,将同一个模块中,的两个函数,同时导入

如果你只知道模块 名字,不知道具体函数的名字,也可以这样: 【*】号代表导入模块中所有的对象

 from selenium import *

我们再看看自定义的包:

刚才说,如果上百个文件模块,放在同一个目录下,会很乱的,而且不便于维护,所以我们可以将不同的文件模块,放到对应的目录结构中,来组织这些文件模块。

但是,python中的包目录,一定要有一个特别的文件__init__.py 在里面。

这个  __init__.py  文件是初始化文件,我们导入文件模块使用的时候,会执行里面的代码,即使没有初始化的必要,也必须有这个文件!可以说是固定格式吧~~

目录结构很像我们的电脑中的目录结构:

我们对比下,看看是不是很相像~~~

比如我们要导入图中的包,我们看看怎么导入吧:

import F20.bokyyuan.bokeyuan     #顶层包.子包.模块文件

#同样可以这样

from F20.bokeyuan import *

#或者

from F20.bokeyuan import bokeyuan

接下来我们再看看内置的模块:

因为python有很多内置的模块,这些模块就是工具,所以我们在开发程序的时候,使用这些现有的模块和包,可以提高我们的效率。

比如我们前面讲的os模块,对目录进行操作。

 import os                                   #导入os模块
os.chdir(r'C:\Program Files\tools') #切换到指定的路径目录

内置的模块很多,如果实在不知道模块叫什么,那就百度吧~~搜索下上面样的内置库或者第三方库能满足你的需求~~~~

晚安~~~~~以后再自动化的时候会在用到今天的基础,模块、包、内置库、第三方库

Python基础总结之第十天开始【认识模块、包和库】(新手可相互督促)的更多相关文章

  1. Python基础总结之第六天开始【先简单认识一次函数】(新手可相互督促)

    午休后,看看电视,在回顾下新的知识----函数.相信很多小伙伴在学习python后 ,学到函数就会有一部分人放弃了,从努力到放弃(内容过于真实) 好希望我也能有很多粉丝,hhh.... 函数: 什么是 ...

  2. Python基础总结之第四天开始【格式化‘字符串’】(新手可相互督促)

    年薪20万... 字符串格式化: 先看小案例-------: a = 'hello,my name is %s,I like %s.'%('XiaoHong','football') #在字符串中,[ ...

  3. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  4. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  5. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  6. (Python基础教程之二十二)爬虫下载网页视频(video blob)

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  7. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  8. python学习笔记(二十八)日志模块

    我们在写程序的时候经常会打一些日志来帮助我们查找问题,这次学习一下logging模块,在python里面如何操作日志.介绍一下logging模块,logging模块就是python里面用来操作日志的模 ...

  9. python基础编程: 函数示例、装饰器、模块、内置函数

    目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...

随机推荐

  1. Linux文件删除的原理

    Linux文件iNode和block是否删除是通过  i_link  和 i_count 的计数值来判断的.只有i_count  和 I_link 同时为0 的 时候,文件的 iNode和block才 ...

  2. sql server 复习笔记2

    主键约束 可以通过定义primary key 约束来定义主键, 用于强制表的实体化完整性,一个表只能有一个主键约束, 并且primary key 约束中的列不能为空值,由于primary key 约束 ...

  3. 浏览器console中加入jquery,测试选择元素

    一.chrome浏览器F12打开调试界面,在console中输入(firefox同样可以): var jquery = document.createElement('script'); jquery ...

  4. leetcode解题报告(10):Merge Two Sorted Lists

    描述 Merge two sorted linked lists and return it as a new list. > The new list should be made by sp ...

  5. 「CF484E」Sign on Fence「整体二分」「线段树」

    题意 给定一个长度为\(n\)的正整数序列,第\(i\)个数为\(h_i\),\(m\)个询问,每次询问\((l, r, w)\),为\([l, r]\)所有长度为\(w\)的子区间最小值的最大值.( ...

  6. 下载安装Xocde并创建一个C语言的项目工程

    安装好Xcode后,新建工程 选择command line tool 选择c语言 点击创建 可以设置运行平台版本 设置 设置c标准 去掉c++ 支持 打开编辑页面 运行 参考: https://www ...

  7. form 表单提交数据和文件(fromdata的使用方法)

    <!-- 数据和文件一次性提交 --> <form class="form_meren" id="mainForm" name="m ...

  8. php mvc 模式的开发注意事项

    1.控制器中: 如果不涉及到数据库的就在控制器中. empty($res['code']) ? $this->error($res['msg']) : $this->success($re ...

  9. 如何在CentOS 7上安装Memcached(缓存服务器)

    首先更新本地软件包索引,然后使用以下yum命令从官方CentOS存储库安装Memcached. yum update yum install memcached 接下来,我们将安装libmemcach ...

  10. 图解centos7如何关闭ipv6仅使用ipv4

    方法/步骤     使用ifconfig命令查看网卡信息,如果出现inet6 fe80::20c:29ff:fed0:3514,说明机器开启了ipv6,如下图所示:   编辑/etc/sysctl.c ...