2020-12-2----python基础--模块和包

模块和包

  • 模块简介
    • 模块化特点
    • 模块的应用
    • 包的简介
    • 包的应用

模块简介

模块化是讲一个完整的程序分解为一个一个小的模块
通过模块组合来搭建出一个完整的程序
不采用模块化,统一将所有的代码编写到一个文件
采用模块化将程序分别编写多个文件中

模块化特点

1.方便开发
2.方便维护
3.模块是可以复用的
在python中一个py文件就是一个模块,要想创建一个模块就是创建一个python文件
注意:模块必须遵守标识符的规范
在一个模块中引入外部模块
1.import 模块名(模块名就是python文件的名字,注意不要python)
-可以引入同一个模块多次,但是模块的实例只会创建一个
2.import 模块名 as 模块别名
import可以在程序的任意位置使用,但是一般情况下,import语句都会写在程序开头
在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字
__name__属性值为__main__的模块是主模块,一个程序只会有一个主模块
主模块就是我们直接通过python执行的模块

例:import test_modul
import test_modul as test
print(test.name)
print(name)

模块的应用

m.py// An highlighted block
可以在模块中定义变量,在模块中定义的变量,在引入模块后就可以直接使用了
a=10
b=20
#添加了_的变量只能在模块内部访问,
在通过from 模块名 import * 引入时不会引入_开头的变量
_c=30
可以在模块中定义函数,同样可以通过模块访问到
def test():print('test访问')
class Person:def __init__(self,name):self.name='孙悟空'编写测试代码,这部分代码,只要当前文件作为主模块的时候执行
而当模块被其他模块引入时,不需要执行的,此时我们就必须要检查当前模块是否是主模块
if __name__ == '__main__':test2()
实例.py// An highlighted block
1.# import m 
# 如何访问模块属性:模块名.变量名
# print(m.a)
# p=m.Person()
# print(p.name)
def test2():print('这是主模块中的test2')
2.也可以引入模块中的部分内容
语法 from 模块名 import 变量,变量
from m import Person
from m import test
#from m import test,Person
from m import *#引入模块内所有的内容,一般不会使用
p1=Person()
print(p1)
3.可以为引入的变量使用别名
语法:from m import 变量 as 别名
from m import test2 as new_test2
test2()
new_test2()

包的简介

包 Package
包也是一个模块
当我们模块中代码过多时,或者一个模块需要分解为多个模块时,这时就需要使用包
普通的模块就是一个py文件,而包是一个文件夹
一个一个__init__.py,这个文件可以包含包中的主要内容

包的应用

__init__.py// An highlighted block
from Hello import a,b
print(a.c)
print(a.d)
#__pycache__是模块的缓存文件
py代码在指定前,需要被解析器先转换为机器码,然后再执行
所以我们在使用模块时,也需要将模块的代码先转换为机器码然后再交由机器执行
而为了提高程序运行的性能,python会在编译过一次后,将代码保存到一个缓存文件中
这样在下次加载这个模块(包—)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可

b.py

// An highlighted block
d=10

a.py

// An highlighted block
c=10

2020-12-2----python基础--模块和包

模块和包

  • 模块简介
    • 模块化特点
    • 模块的应用
    • 包的简介
    • 包的应用

模块简介

模块化是讲一个完整的程序分解为一个一个小的模块
通过模块组合来搭建出一个完整的程序
不采用模块化,统一将所有的代码编写到一个文件
采用模块化将程序分别编写多个文件中

模块化特点

1.方便开发
2.方便维护
3.模块是可以复用的
在python中一个py文件就是一个模块,要想创建一个模块就是创建一个python文件
注意:模块必须遵守标识符的规范
在一个模块中引入外部模块
1.import 模块名(模块名就是python文件的名字,注意不要python)
-可以引入同一个模块多次,但是模块的实例只会创建一个
2.import 模块名 as 模块别名
import可以在程序的任意位置使用,但是一般情况下,import语句都会写在程序开头
在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字
__name__属性值为__main__的模块是主模块,一个程序只会有一个主模块
主模块就是我们直接通过python执行的模块

例:import test_modul
import test_modul as test
print(test.name)
print(name)

模块的应用

m.py// An highlighted block
可以在模块中定义变量,在模块中定义的变量,在引入模块后就可以直接使用了
a=10
b=20
#添加了_的变量只能在模块内部访问,
在通过from 模块名 import * 引入时不会引入_开头的变量
_c=30
可以在模块中定义函数,同样可以通过模块访问到
def test():print('test访问')
class Person:def __init__(self,name):self.name='孙悟空'编写测试代码,这部分代码,只要当前文件作为主模块的时候执行
而当模块被其他模块引入时,不需要执行的,此时我们就必须要检查当前模块是否是主模块
if __name__ == '__main__':test2()
实例.py// An highlighted block
1.# import m 
# 如何访问模块属性:模块名.变量名
# print(m.a)
# p=m.Person()
# print(p.name)
def test2():print('这是主模块中的test2')
2.也可以引入模块中的部分内容
语法 from 模块名 import 变量,变量
from m import Person
from m import test
#from m import test,Person
from m import *#引入模块内所有的内容,一般不会使用
p1=Person()
print(p1)
3.可以为引入的变量使用别名
语法:from m import 变量 as 别名
from m import test2 as new_test2
test2()
new_test2()

包的简介

包 Package
包也是一个模块
当我们模块中代码过多时,或者一个模块需要分解为多个模块时,这时就需要使用包
普通的模块就是一个py文件,而包是一个文件夹
一个一个__init__.py,这个文件可以包含包中的主要内容

包的应用

__init__.py// An highlighted block
from Hello import a,b
print(a.c)
print(a.d)
#__pycache__是模块的缓存文件
py代码在指定前,需要被解析器先转换为机器码,然后再执行
所以我们在使用模块时,也需要将模块的代码先转换为机器码然后再交由机器执行
而为了提高程序运行的性能,python会在编译过一次后,将代码保存到一个缓存文件中
这样在下次加载这个模块(包—)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可

b.py

// An highlighted block
d=10

a.py

// An highlighted block
c=10