数据蛙数据分析每周作业

Python —— 模块

2019-01-27  本文已影响0人  2023开始学
1、Python中模块(Module)是一个python文件,以“ .py ”结尾,包含了Python对象定义和Python语句。

2、使用模块的好处:

a. 使用模块能够有逻辑地组织Python代码段。

b. 把相关的代码分配到一个模块里能让代码更好用,更易懂。

c. 模块能定义函数、类和变量,模块里也能包含可执行的代码。

d. 提高代码的可维护性;编写代码不必从零开始,当一个模块编写完毕,可以被调用。

3、包(package)

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(package)。

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的python的应用环境。

image.png

注意:

a. 简单来说,包就是一个文件夹,但该文件夹下必须存在init.py 文件,init.py用于标识当前文件夹是一个包,否则,Python就把这个目录当成普通目录,而不是一个包。

b. init.py可以是空文件,也可以有Python代码,因为init.py 本身就是一个模块,而它的模块名就是mycompany。

4、创建模块时要注意命名,不能和python自带的模块名称冲突,否则将无法导入系统自带的模块。

5、作用域

在模块中,有时定义的函数和变量希望仅仅在模块内部使用。在Python中,是通过前缀“_”来实现。

函数和变量定义成Public,可以直接被引用。例如,abc, x123, PI等;

_xxx和_h这样的函数和变量则是被定义成private,不应该直接被引用。

为什么private函数和变量“不应该”被直接引用,而不是“不能”被直接引用?

答:因为Python中并没有一种方法可以完全限制访问Private函数或变量,但是,编程习惯上不应该引用private函数或变量。

6、在python中,安装第三方模块,是通过包管理工具pip完成的。

Q:Windows系统中如何判断是否安装了pip?

步骤一:Windows图标+R,打开运行窗口,如下图

image.png

步骤二:输入cmd,打开下面窗口,输入pip,如果出现下面提示,说明python中已经安装了pip.

image.png
7、在使用python时,经常需要用到很多第三方库。

第三方库Python Imaging Library,这是Python下非常强大的处理图像的工具库。

例如,pillow、mysql驱动程序、科学计算numpy等。用pip一个一个安装费时费力,推荐直接安装Anaconda。

Anaconda指的是一个开源的Python发行版本,其包含了conda、python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda的下载文件比较大,如果只需要某些包,可以使用Miniconda这个较小的发行版(仅包含conda和python)。

Anaconda包括conda、Python以及一大堆安装好的工具包, 比如:numpy、pandas等。

8、模块搜索路径

当加载一个模块时,Python会在指定的路径下搜索对应的 .py 文件,如果找不到,就会报错:

image.png

默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:

image.png

9、面向对象编程,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

面向的对象的设计思想是抽象出Class,根据Class创建Instance.

10、面向对象最重要的概念是类(Class)和实例(Instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
11、在Python中,定义类是通过class关键字,以Student类为例:

Class Student ( object):

pass

Class后面是类名,即Student,类名通常是大写开头的单词,object表示该类是从哪个类继承下来的,通常,如果没有合适的继承类,就是用Object类,这是所有类最终都会继承的类。

定义好了类,就可以根据类创建出实例,创建实例是通过“类名+() ”实现的。

12、由于类可以起到模板的作用,因此可以在创建实例时,通过定义一个特殊的“init”方法,添加一些属性。

说明:

(1)“ init ”方法的第一个参数永远是self,表示创建的实例本身,在 init ”内部,可以把各种属性绑定到self。

(2)有了“init”方法,在创建实例的时候,必须传入与“init”方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去。

class Student(object):

    def _init_(self,name,score):
        self.name=name
        self.score=score
上一篇下一篇

猜你喜欢

热点阅读