相关文章推荐
小眼睛的热带鱼  ·  Python equivalent of ...·  3 月前    · 
俊逸的火锅  ·  Python 控制台 — Blender ...·  3 月前    · 
健身的抽屉  ·  在 Google Cloud 上使用 ...·  3 月前    · 
直爽的黑框眼镜  ·  Difference between ...·  3 月前    · 
性感的毛豆  ·  通过SWIG实现在Python中调用C++代 ...·  3 月前    · 
越狱的鸵鸟  ·  中国南方航空集团有限公司是国企还是央企-企知道·  1 年前    · 
追风的斑马  ·  Evergreen Vivaldi - ...·  1 年前    · 
酷酷的牙膏  ·  丫鬟 - Wiktionary, the ...·  1 年前    · 
大鼻子的镜子  ·  视神经脊髓炎_百度百科·  2 年前    · 
苦闷的生菜  ·  “逆袭”的易会满:从中专生到证监会主席_手机新浪网·  2 年前    · 
Code  ›  Python|模块,包,标准模板开发者社区
python算法 python函数 python
https://cloud.tencent.com/developer/article/1082022
骑白马的咖啡
3 年前
作者头像
double
0 篇文章

Python|模块,包,标准模板

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 算法channel > Python|模块,包,标准模板

Python|模块,包,标准模板

作者头像
double
发布 于 2018-04-02 16:54:13
674 0
发布 于 2018-04-02 16:54:13
举报

01

.py文件-模块

一个.py文件就称之为一个模块,Module,模块使用的最大好处是大大提高了代码的可维护性。

当然,还提高了代码的复用性。

使用模块还可以避免函数名和变量名冲突,相同名字的变量完全可以分别存在不同的模块中。

但是也要注意,变量的名字尽量不要与内置函数名字冲突。

常见的内置函数:https://docs.python.org/3/library/functions.html

02

当编写的模块多了,模块的名字重复的概率就增加了。如何解决这个问题呢?

Python引入了按目录来组织模块,称为包,Package,比如:

extensions
├─ __init__.py
├─ dog.py
└─ cat.py

现在 dog.py 模块的名字就变成了 extensions.dog,

请注意,每一个package目录下面都会有一个 __init__.py 的文件,这个文件是必须有的,否则,Python就把这个目录当成普通目录,而不是一个package directory。

03

使用包中的Module

编写一个dog.py模块:

#!/usr/bin/env python3 
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'jack guo'
import sys
def shout():
    args = sys.argv
    if len(args)==1:
        print('Hello, I'm afei, welcome to world!')
    elif len(args)==2:
        print('Hello, %s!' % args[1])
   else:
        print('Yes,sir')
if __name__=='__main__':
    shout()

第1行注释可以让dog.py文件直接在linux上运行;

第2行注释表示.py文件本身使用标准UTF-8编码;

第4行表示模块的文档注释;

第6行表示模块的作者;

注意最后两行代码,当我们调试dog.py时,shout()会调用,当在其他模块导入dog.py时,shout()不执行。

模块的一种标准模板

以上代码中的前六行:

#!/usr/bin/env python3 
# -*- coding: utf-8 -*-
 
推荐文章
小眼睛的热带鱼  ·  Python equivalent of PHP's file_get_contents on websites (NOT LOCAL FILES) · GitHub
3 月前
俊逸的火锅  ·  Python 控制台 — Blender Manual
3 月前
健身的抽屉  ·  在 Google Cloud 上使用 Machine Learning API:实验室挑战赛 | Google Skills
3 月前
直爽的黑框眼镜  ·  Difference between Auto_now_add and Auto_now in Django - GeeksforGeeks
3 月前
性感的毛豆  ·  通过SWIG实现在Python中调用C++代码 – My Home
3 月前
越狱的鸵鸟  ·  中国南方航空集团有限公司是国企还是央企-企知道
1 年前
追风的斑马  ·  Evergreen Vivaldi - Teatro alla Scala
1 年前
酷酷的牙膏  ·  丫鬟 - Wiktionary, the free dictionary
1 年前
大鼻子的镜子  ·  视神经脊髓炎_百度百科
2 年前
苦闷的生菜  ·  “逆袭”的易会满:从中专生到证监会主席_手机新浪网
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号