Python基础学习----模块与函数
2016-10-12 22:10
881 查看
Python程序结构
Python的程序结构包含包(package),模块(module)和函数。Python系统自带的工具包和模块在Python安装目录下的Lib目录,每个包必须包含一个__init__.py的文件,用于标示当前文件夹是一个Python包,即使__init__.py中不包含任何内容,如果没有__init__.py这个文件,Python将无法识别包。
(1)Python的包
【说明】__init__.py就是xml包的标识,__init__.pyc是__init__.py编译之后的文件。
(2)模块
一个Python文件就可以人为是一个模块,由代码,函数和类组成。
【说明】下面新建一个模块文件myModule.py:
在test.py文件中,通过import导入myModule模块:
(2-1)模块的导入
要导入模块中的函数,类可以使用下面的方法:
(2-2)模块的属性
模块有一些内置属性,比如__name__,__doc__。__name__用于判断当前模块是否是入口程序,当__name__ == "__main__",标示当前的模块为入口程序,__doc__用于输出模块的文档字符串的内容,文档字符串是用三引号创建的字符串,函数,类以及模块都可以有文档字符串,可以说明函数,类以及模块的作用,但是__doc__只指模块的文档字符串:
myModule.py文件:
在test.py文件中导入myModule模块:
(2-3)模块的内置函数
Python提供了一个内联模块buildin,其中的函数可以在Python文件中直接调用而无需导入。
(2-3-1)apply()函数
apply()可以完成函数调用的任务。
【说明】apply(func, [args])会调用func函数,同时将args作为参数传入func中。
(2-3-2)filter()可以用于对序列的过滤。
【说明】与apply()不同的是,filter(func, sequence)会循环的将sequence序列中的每个元素传入到func中,将所有的结果组成一个列表,在循环完之后,将列表返回。
(2-3-3)reduce()用于对序列中的元素进行连续操作。
上图的程序中,从log信息可以看到,reduce(func, sequence)会连续多次调用func函数,将每次传入的元素处理得到的结果进行下次操作。
当然reduce(func, sequence, initial)函数中可以传入三个参数:
从上面的图可以看到,initial会作为第一个参数进行后续的操作。
内置模块的函数
(3)函数
在Python中,定义一个函数可以如下:
下面事一些函数的声明和调用:
lambda函数:
lambda函数用于创建一个匿名函数,可以计算一些简单的运算结果。
当然,lambda也可以直接调用:
Python的程序结构包含包(package),模块(module)和函数。Python系统自带的工具包和模块在Python安装目录下的Lib目录,每个包必须包含一个__init__.py的文件,用于标示当前文件夹是一个Python包,即使__init__.py中不包含任何内容,如果没有__init__.py这个文件,Python将无法识别包。
(1)Python的包
【说明】__init__.py就是xml包的标识,__init__.pyc是__init__.py编译之后的文件。
(2)模块
一个Python文件就可以人为是一个模块,由代码,函数和类组成。
【说明】下面新建一个模块文件myModule.py:
在test.py文件中,通过import导入myModule模块:
(2-1)模块的导入
要导入模块中的函数,类可以使用下面的方法:
# 导入一个模块 import module_name # 调用模块中的函数,实例化模块中的类 module_name.func_name() myClass = module_name.class_name() # 导入模块中的一个函数,类 from module_name import func_name from module_name import class_name # 调用模块中的函数 func_name() # 实例化模块中的类对象 myClass = class_name() # 导入模块中所有的类和函数 from module_name imort * func_name() myClass = class_name()
(2-2)模块的属性
模块有一些内置属性,比如__name__,__doc__。__name__用于判断当前模块是否是入口程序,当__name__ == "__main__",标示当前的模块为入口程序,__doc__用于输出模块的文档字符串的内容,文档字符串是用三引号创建的字符串,函数,类以及模块都可以有文档字符串,可以说明函数,类以及模块的作用,但是__doc__只指模块的文档字符串:
myModule.py文件:
在test.py文件中导入myModule模块:
(2-3)模块的内置函数
Python提供了一个内联模块buildin,其中的函数可以在Python文件中直接调用而无需导入。
(2-3-1)apply()函数
apply()可以完成函数调用的任务。
【说明】apply(func, [args])会调用func函数,同时将args作为参数传入func中。
(2-3-2)filter()可以用于对序列的过滤。
【说明】与apply()不同的是,filter(func, sequence)会循环的将sequence序列中的每个元素传入到func中,将所有的结果组成一个列表,在循环完之后,将列表返回。
(2-3-3)reduce()用于对序列中的元素进行连续操作。
上图的程序中,从log信息可以看到,reduce(func, sequence)会连续多次调用func函数,将每次传入的元素处理得到的结果进行下次操作。
当然reduce(func, sequence, initial)函数中可以传入三个参数:
从上面的图可以看到,initial会作为第一个参数进行后续的操作。
内置模块的函数
函数 | 说明 |
abs(x) | 返回x的绝对值 |
apply(func, [seq]) | 调用函数func,同时将序列seq作为参数传给func |
bool([x]) | 将x转换成bool,若x为值,则返回True,反之返回False,bool(10)=True; bool(-2)=True; bool("a")=True; bool(None)=False |
cmp(x, y) | 比较x,y的大小 |
delattr(obj, name) | 等价于del obj.name |
eval(s) | 计算表达式的值 |
float(x) | 把数字和字符串转换成float类型 |
hash(obj) | 返回一个对象obj的hash值 |
help(func) | 返回内建函数的函数说明 |
id(obj) | 返回对象obj的标识 |
input([prompt]) | 接受并返回控制台输入的数字,prompt是控制台的提示信息 |
int(x) | 把数字或字符串转换成整数 |
len(obj) | 对象(序列)包含的元素的个数 |
range([start], end, [step]) | 返回从start到end直接的元素组成的列表,元素之间的步长为step |
raw_input([prompt]) | 接受并返回由控制台输入的内容,prompt为控制台的提示信息 |
reduce(func, seq) | 对序列seq进行连续操作 |
round(x, n=0) | 四舍五入,n表示对小数标点后第n位之后的位数进行四舍五入 |
set([iter]) | 返回set集合 |
sorted(iter) | 对iter进行排序,并返回排序后的结果 |
sum(iter, [start=0]) | 返回一个序列的和 |
type(obj) | 返回一个对象的类型 |
xrange(start) | 功能于range()相似,但是一次返回一个值 |
zip(seq1, [seq2, ....]) | 将每个序列seq作为一个元素,组成一个列表返回 |
在Python中,定义一个函数可以如下:
def 函数名(参数1=[默认值1], 参数2=[默认值2], ....): .... return 返回值
下面事一些函数的声明和调用:
#coding=utf-8 def sayHello(): print("Hello Python"); def sayHi(name): print("Hello {0}".format(name)) sayHello(); sayHi("Hust"); def max(a, b): if a>b: print("MAX IS {0}".format(a)); elif a<b: print("MAX IS {0}".format(b)); else: print("{0} 相等于 {1}".format(a, b)) max(1, 2) max(2, 1) max(2, 2) def sum(a, b): return a+b;
lambda函数:
lambda函数用于创建一个匿名函数,可以计算一些简单的运算结果。
#coding=utf-8 func = lambda m, n: m-n print func(3,4)
当然,lambda也可以直接调用:
相关文章推荐
- python基础学习之os、os.path模块常用函数
- 学习笔记☞ python 基础(python3)【四】(函数 function,None,return,列表-2,random模块)
- Python2.7 学习笔记 (二)—— 函数,模块,正则
- Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍
- Python学习入门基础教程(learning Python)--2.3.4Python函数返回值
- Python学习入门基础教程(learning Python)--2 Python简单函数设计 .
- python学习之模块函数
- python数据持久存储:pickle模块的基本使用 分类: python python基础学习 python 小练习 2013-06-17 14:41 209人阅读 评论(0) 收藏
- python中计时工具timeit模块的基本用法 分类: python python基础学习 2013-08-08 10:05 2072人阅读 评论(0) 收藏
- Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计
- Python学习入门基础教程(learning Python)--2.3.2Python函数实参详解
- python基础学习-3(函数)
- fileinput模块 分类: python基础学习 python 小练习 python Module 2013-08-15 17:18 417人阅读 评论(0) 收藏
- Python基础:函数、类、模块
- Dive Into Python 学习记录1-函数/模块导入/字典/列表/元组/字符串分割、连接、格式化/映射list/
- python基础学习-3(函数)
- python基础学习-5(包与模块)
- Python学习入门基础教程(learning Python)--2.1 Python下自定义函数 .
- python string模块 分类: python基础学习 python Module 2013-08-16 17:50 294人阅读 评论(0) 收藏