面向对象编程 什么模块 导入

面向过程编程

对着过程编程

面向过程编程:一步一步(一个函数一个函数),上一个函数的输出是下一个函数的输入

优点:代码的独立性提高了,流程清晰

缺点:一个错误,让程序直接崩掉了

什么是模块

模块是一系列功能的集合体,而函数是某个功能的集合体,因此模块可以看成一堆函数的集合体。

模块的四种形式

内置模块

python解释器启动自带的模块,如time/random/os/sys...

pip安装模块(第三方模块)

pip install jieba/pycharm安装

自定义模块

自定义代码

把一系列模块知道到一起的文件夹(注:文件夹下有一个__init__.py文件,该文件夹称之为包)

import和from...import

import

以time为例:

1.开辟内存空间,内存空间命名为time

2.把time.py中的所有代码读入名称空间,然后运行

3.通过time.方法名使用time模块中的方法

import time
time.sleep(10)

优点:永不冲突

缺点:每次导入多输入资格字符,非常麻烦

form...import

以time为例:

1.开辟内存空间,内存空间命名为time

2.把time.py中的所有代码读入名称空间,然后运行

3.把sleep()读入import和from...import.py中,因此可以直接使用方法名

#import和from...import.py
from time import sleep
sleep()

如果想要使用多个方法:

from time import sleep,time

如果想要使用非常多的方法

from time import *

优点:少输入几个字符

缺点:容易发生冲突

自定义模块

# testt.py
x=20
def f1():
    print('dd')
       
#import和from...import.py
import testt
print(x)
f1()
from testt import *# 不要使用

自定义模块的用途

分文件存储代码

函数与函数之间分开

让代码更清晰

不同的模块干不同的事

循环导入

第一种解决方法

#m1.py
x=10
from m2 import y
print('m1',x,y)
#m2.py
y=20
from m1 import x
print('m2',x,y)

第二种解决方法

#m1.py
def f1():
    from m2 import y
    print('m1:', x, y)
x = 10[
f1()
#m2.py
def f2():
    from m1 import x
    print('m2:', x, y)
y=20
f2()  

模块的搜索路径

内存——》内置——》自定义

环境变量

python文件的两种用途

执行文件:当前运行的文件

模块文件

一个文件既可以是执行文件,又可以是模块文件

 __name__ == '__main__'不成立, __name__ != '__main__'
 #当testt为模块文件时,__name__等于文件名
 #__name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'__main__';当该文件作为模块文件导入时,__name__等于文件名
posted @ 2020-03-26 22:39  风啊风啊  阅读(228)  评论(0编辑  收藏  举报