python一般的基础代码-Python:模块代码编写基础

1 创建模块:定义模块用文本编辑器,以py为后缀保存。文件命名需遵循python命名规则。

2 模块使用:import / from

import:将整个模块对象赋值给一个变量名

from:将一个或者多个变量名赋值给另外一个模块中同名的对象,或者说深拷贝。

from module import name1,name2

<==>

import module

name1 = module.name1

name2 = module.name2

del module

两个模块有同名属性时,必须用import模块

M.py

def func():

.......

N.py

def func():

.......

import M,N

M.func()

N.func()

3 属性名的点号运算:层级对象访问控制符

4 重载模块:reload

函数会使已加载的模块代码重新载入并重新执行,模块中新的代码赋值语句会在适当的地方修改现有的模块对象。reload 是

Python 中的内置函数,不是语句,参数reload的是已经存在的模块对象,而不是变量名。

5 模块包

除模块名以外,导入也可以指定目录路径,python代码的目录就称为包,此类导入称为包导入。

导入包 import dir1.dir2.mod

from dir1.dir2.mod import x

__init__.py包文件

包导入语句的路径内每个目录都必须有__init__.py这个文件,否则会导致包导入失败。负责包初始化,包首次读取时,会自动执行。

6 高级模块话题

a 在模块中隐藏数据,最小化from*的破坏。_x

指不被赋值的变量名x,__all__=[a,b,c]指要复制出的变量名。

b 混合用法模式:__name__ 和 __main__

如果程序以顶层程序文件执行,启动时,__name__会被设置为字符串__main__

如果文件被导入,__name__就会改设成客户端所了解的模块名

可做单元测试

c 修改模块搜索路径

import sys

sys.path

sys.path.append('dir')

d import as 扩展 import module as name 等价于

import module

name = module

del module

e 相对导入语法

from 语句可以使用.作为相对路径来用。

位于模块A.B.C

from .

import D #import A.B.D

from ..F

import G # import A.F.G

from .. import

E #import A.E

f 模块设计理念:总在python模块内编写代码,模块耦合降低,最大化模块粘合性,模块应避免修改其他模块变量。

g 通过变量名字符串导入模块

modname = "string"

exec "import"+modname

h reload

不影响from导入,from还是使用最初的变量对象。reload没有传递性,如果reload一个模块,模块中导入另外的模块,另外的模块不会被reload。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值