Python|模块,包,标准模板

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()不执行。

04

模块的一种标准模板

以上代码中的前六行:

#!/usr/bin/env python3 
# -*- coding: utf-8 -*-


' a test module '


__author__ = 'jack guo'

以上是模块的标准模板,当然,你也可以不这样做...

原文发布于微信公众号 - 算法channel(alg-channel)

原文发表时间:2018-02-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

【Go 语言社区】学习网页开发基础 HTTP 方法:GET 对比 POST

两种最常用的 HTTP 方法是:GET 和 POST。 什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。 HTTP 的...

378100
来自专栏pangguoming

angular之interceptors拦截器

<!DOCTYPE html> <html ng-app="nickApp"> <head> <meta charset="UTF-8"> <m...

42150
来自专栏小狼的世界

Rsync服务介绍与配置

rsync 是一个用于增量文件传输的开源工具,不得不说,rsync简直是不同服务器间传输文件、同步文件的利器。与FTP相比,它具有非常简单的安装和配置方法。而且...

20120
来自专栏林德熙的博客

解决 vs 出现Error MC3000 给定编码中的字符无效

在 xaml 写中文注释,发现编译失败 Error MC3000 给定编码中的字符无效

26920
来自专栏达摩兵的技术空间

linux之文件基本操作学习笔记

通过本教程你将熟悉linux文件的基本操作以及其具体使用。本文目录结构摘抄自《鸟哥的LINUX私房菜》基础学习篇(第三版)。

10210
来自专栏应兆康的专栏

每天一个Linux命令(2):cd命令

Linux cd 命令是最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。所以,学习Linux 常用命令,首先就要学好 cd 命令的使...

463110
来自专栏耕耘实录

which、type、whereis、locate几个命令的区别与联系

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。

10130
来自专栏我是攻城师

kafka版本不一致导致的一个小问题(二)

62780
来自专栏py+selenium

py+selenium一个可被调用的登录测试脚本【待优化】

大部分系统现在都有登录页面,本文主要尝试写一个登录的测试脚本,及另一个脚本调用它登录测试已登录的页面模块。

37720
来自专栏编程直播室

LInux上清空或删除文件的5中方法1. 清空文件通过重定向到Null2. 清空文件使用“true”命名重定向3. Empty File Using cat/cp/dd utilities with

64550

扫码关注云+社区

领取腾讯云代金券