Python函数的模块化,python 模块化
python中函数定义
1、函数定义
创新互联建站专业为企业提供南明网站建设、南明做网站、南明网站设计、南明网站制作等企业网站建设、网页设计与制作、南明企业网站模板建站服务,十余年南明做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
①使用def关键字定义函数
②
def 函数名(参数1.参数2.参数3...):
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能。
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么。Python函数的本质与数学中的函数的本质是一致的。
2、函数调用
①函数必须先定义,才能调用,否则会报错。
②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用。
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的。
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数。
什么是python模块
简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看作是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。
python模块的本质是什么文件?
模块的本质:是一个能实现某种功能的Python文件。
功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。
功能模块化是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。以满足所要求的整个系统的功能。
功能模块化的根据是,如果一个问题有多个问题组合而成,那么这个组合问题的复杂程度将大于分别考虑这个问题时的复杂程度之和。
这个结论使得人们乐于利用功能模块化方法将复杂的问题分解成许多容易解决的局部问题。
功能模块化方法并不等于无限制地分割软件,因为随着功能模块的增多,虽然开发单个功能模块的工作量减少了,但是设计功能模块间接口所需的工作量也将增加,而且会出现意想不到的软件缺陷。
因此,只有选择合适的功能模块数目才会使整个系统的开发成本最小。
功能模块独立性是由内聚性和耦合性两个定性指标来度量的。
内聚性是度量一个功能模块内功能强度的一个相对指标。耦合性则用来度量功能模块之间的相互联系的程度。
python idle模块化调用的问题
windows如何在cmd里面执行test.py文件呢?
直接输入test.py运行这个文件,如果test.py不在当前路径,加上完整或相对路径,例如D:\docs\test.py 或 ..\test.py之类。
当然也可以这样运行:
D:\python27\python.exe D:\docs\test.py
这个test.py文件需要在D:\Python27\下吗?
不需要
python常用函数包有哪些?
一些python常用函数包:
1、Urllib3
Urllib3是一个 Python 的 HTTP 客户端,它拥有 Python 标准库中缺少的许多功能:
线程安全
连接池
客户端 SSL/TLS 验证
使用分段编码上传文件
用来重试请求和处理 HTTP 重定向的助手
支持 gzip 和 deflate 编码
HTTP 和 SOCKS 的代理支持
2、Six
six 是一个是 Python 2 和 3 的兼容性库。这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库。它提供了许多可简化 Python 2 和 3 之间语法差异的函数。
3、botocore、boto3、s3transfer、awscli
Botocore是 AWS 的底层接口。Botocore是 Boto3 库(#22)的基础,后者让你可以使用 Amazon S3 和 Amazon EC2 一类的服务。Botocore 还是 AWS-CLI 的基础,后者为 AWS 提供统一的命令行界面。
S3transfer(#7)是用于管理 Amazon S3 传输的 Python 库。它正在积极开发中,其介绍页面不推荐人们现在使用,或者至少等版本固定下来再用,因为其 API 可能发生变化,在次要版本之间都可能更改。Boto3、AWS-CLI和其他许多项目都依赖s3transfer。
4、Pip
pip是“Pip Installs Packages”的首字母递归缩写。
pip很容易使用。要安装一个包只需pip install package name即可,而删除包只需pip uninstall package name即可。
最大优点之一是它可以获取包列表,通常以requirements.txt文件的形式获取。该文件能选择包含所需版本的详细规范。大多数 Python 项目都包含这样的文件。
如果结合使用pip与virtualenv(列表中的 #57),就可以创建可预测的隔离环境,同时不会干扰底层系统,反之亦然。
5、Python-dateutil
python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python datetime缺少哪些功能,python-dateutil就能补足那一块。
6、Requests
Requests建立在我们的 #1 库——urllib3基础上。它让 Web 请求变得非常简单。相比urllib3来说,很多人更喜欢这个包。而且使用它的最终用户可能也比urllib3更多。后者更偏底层,并且考虑到它对内部的控制级别,它一般是作为其他项目的依赖项。
7、Certifi
近年来,几乎所有网站都转向 SSL,你可以通过地址栏中的小锁符号来识别它。加了小锁意味着与该站点的通信是安全和加密的,能防止窃听行为。
8、Idna
根据其 PyPI 页面,idna提供了“对 RFC5891 中指定的应用程序中国际化域名(IDNA)协议的支持。”
IDNA的核心是两个函数:ToASCII和ToUnicode。ToASCII会将国际 Unicode 域转换为 ASCII 字符串。ToUnicode则逆转该过程。在IDNA包中,这些函数称为idna.encode()和idna.decode()
9、PyYAML
YAML是一种数据序列化格式。它的设计宗旨是让人类和计算机都能很容易地阅读代码——人类很容易读写它的内容,计算机也可以解析它。
PyYAML是 Python 的YAML解析器和发射器,这意味着它可以读写YAML。它会把任何 Python 对象写成YAML:列表、字典,甚至是类实例都包括在内。
10、Pyasn1
像上面的IDNA一样,这个项目也非常有用:
ASN.1 类型和 DER/BER/CER 编码(X.208)的纯 Python 实现
所幸这个已有数十年历史的标准有很多信息可用。ASN.1是 Abstract Syntax Notation One 的缩写,它就像是数据序列化的教父。它来自电信行业。也许你知道协议缓冲区或 Apache Thrift?这就是它们的 1984 年版本。
11、Docutils
Docutils是一个模块化系统,用来将纯文本文档处理为很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能读取reStructuredText格式的纯文本文档,这种格式是类似于 MarkDown 的易读标记语法。
12、Chardet
你可以用chardet模块来检测文件或数据流的字符集。比如说,需要分析大量随机文本时,这会很有用。但你也可以在处理远程下载的数据,但不知道用的是什么字符集时使用它。
13、RSA
rsa包是一个纯 Python 的 RSA 实现。它支持:
加密和解密
签名和验证签名
根据 PKCS#1 1.5 版生成密钥
它既可以用作 Python 库,也能在命令行中使用。
14、Jmespath
JMESPath,发音为“James path”,使 Python 中的 JSON 更容易使用。它允许你声明性地指定如何从 JSON 文档中提取元素。
15、Setuptools
它是用于创建 Python 包的工具。不过,其文档很糟糕。它没有清晰描述它的用途,并且文档中包含无效链接。最好的信息源是这个站点,特别是这个创建 Python 包的指南。
16、Pytz
像dateutils一样,这个库可帮助你处理日期和时间。有时候,时区处理起来可能很麻烦。幸好有这样的包,可以让事情变得简单些。
17、Futures
从 Python 3.2 开始,python 提供current.futures模块,可帮助你实现异步执行。futures 包是该库适用于 Python 2 的 backport。它不适用于 Python3 用户,因为 Python 3 原生提供了该模块。
18、Colorama
使用 Colorama,你可以为终端添加一些颜色:
更多Python知识请关注Python自学网
想学python从哪里入手
初学者学习Python需循序渐进,可以从以下内容入手学习:
1.Python基础知识
学习任何一门编程语言都需要学习相关语法知识,Python基础知识的学习主要包括Python解释器执行原理、字符编码、注释、变量、缩进、流程控制、文件操作、数据类型、数据类型内置方法、字符串格式化、运算符、输入输出、三元运算、collections、列表、字典、元组、集合、IO操作、文件增删改查、函数等。
2.函数和常用模块
函数和常用模块的学习内容主要包括装饰器原理和使用、高阶函数、迭代器与生成器、函数式编程、函数递归、二分查找、模块介绍、re正则模块、os\sys模块、subprocess模块、shuti\shelve\itertools模块、hashlib模块、logging日志模块、time\datetime\traceback模块、json\pickle\yam\configparser处理模块、urllib\paramiko模块等。
3.面向对象
Python面向对象知识的学习主要包括面向对象和类介绍、创建类、经典类与新式类、面向对象的三大特性、类的普通成员、字段方法属性、类的高级成员、静态字段、静态方法、静态属性、类方法、MetaClass\AbstractClass、类成员修饰符等。
4.网络编程基础
Python网络编程基础学习内容包括Python模块SocketServer使用和源码剖析、GIL内部机制、线程锁、事件、生产者消费模型、进程的使用、进程间数据共享等。
5.数据库、缓存、队列
Python数据库、缓存、队列学习内容为Python操作redis、Python操作memcache、rabbitMQ消息队列、数据库介绍、mysql数据库安装使用、mysql管理、mysql数据类型、常用mysql命令、创建数据库、外键、增删改查表、权限、事务、索引、Python操作mysql等。
6.Web开发基础
Python之Web开发基础学习内容为HTML基础、CSS基础、JavaScript基础、局部变量和全局变量、集合、数组、字典、函数参数、原型、面向对象、作用域、dom编程、jquery介绍、jquery选择器、jquery属性和CSS操作、jquery文档处理、jquery筛选、jquery事件托管、jquery事件、jquery
ajax、jquery扩展方法、bootstrap使用、EasyUI介绍和使用等。
7.Web框架学习
Python之Web框架学习内容为Web框架本质、socket服务器、基于反射的路由系统、WSGI介绍及原理实现、开发自己的Web框架、MVC和MTV、路由系统、模板、django基础学习与使用、普通路由和动态路由、模板引擎、ORM介绍、Django
ORM增删改查学习、自定义tag、django进阶学习与使用、模型绑定、Form表单验证、Django
ORM进阶学习、ModelForm、自定义Validator等。
本文标题:Python函数的模块化,python 模块化
网页链接:http://myzitong.com/article/hdejse.html