函数:
工具集:
排序:
极值:
自定义函数
-用户自己编写的
预定义的函数
-系统自带
为什么使用函数:
降低编程的难度,代码重用。
定义形式:def 函数名(参数列表): #可以没有参数
函数体
Defadd ():#定义函数
C= a b
Printc
Add()调用函数。
形式参数和实际参数,和缺省参数的定义
#conding:urf8#中文声明
局部变量与全局变量的作用域。
Global 语句在函数内部申明为全局变量。
函数未运行,全局变量未申明。
函数的返回值
Return
z = sum([1,2,3,4,5])print z15
def f(x,y):
print“welcome”
returnx y
返回各种类型,而当return执行之后函数也会结束。
冗余参数问题
多类型传值,重载。注意传递参数的类型。
字符串格式化输出,
print “%s:%s” % x,y
print "%s : %s" % ('name' ,'milo')打印显示name : milo
元组声明传递变量
f(*t)元组传递数据
字典传递
d ={age:30, name:milo}
f(**d)
在形参中设置数值,可以设置函数的默认值。
处理多余的实参。
以元组的方式存储
deff(x,*args): 将多余的数字传递到*args 元组里面。F(1,2,3,4,5,6,)
以字典方式存储
def f(x,*args,**kwargs):将多余的映射关系放入字典中。F(x=90,y=10)
lambda 表达式
匿名函数
快速定义单行的最小函数,
g= lambda x,y : x*y
g(2,3)
reduce操作为逐次操作list里的每一项,接收的参数为2个,最后返回的为一个结果。
def myadd(x,y):
Returnx y
sum = reduce(myadd,(1,2,3))打印为6
reduce(myadd,range(1,9))1到9相加。打印36
reduce(lambda x,y:x*y,range(1,6))6!打印1206的阶乘
内建函数介绍:
abs() 返回绝对值。max(),返回最小值,min() 返回最大值。Len()返回序列长度,
divmod()可以取得两个数的商和摸。
查看内置函数的方法: help(divmod) 即可查询内置函数使用方法。
pow(), 前两参数的的^能否整除第三个参数。
round(),返回浮点数,
callabele()判读是否是函数,
isinstance(l,list) 某一个对象的类型。
cmp()比较两个字符串。
range()快速生成序列,发回序列。
xrange()返回序列对象,该效率会高很多。
type()查看对象类型,
数据转换int() long()float()complex()str()list()tuple()hex()oct()chr()ord()
str.capitalize () 字符串首字母大写
help(str.replace)S.replace(old, new[, count]) -> stringcount=替换次数
str.split切割S.split([sep[,maxsplit]]) -> list of strings
import string 引入string模块
可以使用 string.replace()方法、函数
filter()filter(functionor None, sequence) -> list, tuple, or string
过滤操作
deff(x):
ifx>5
returnTrue
l = range(10)
filter (f,l)
zip()
map()
reduce()
name = [‘sun’,’dean’,’maki’]
age= [‘20’,’30’,’40’]
tel=[‘133’,’156’,’189’]
zip(name,age,tel)
map(None,name,age,tel)
test=[1,2]
zip(name,age,tel,test)
map(None,name,age,tel,test)
模块:
/usr/lib64/python2.6/默认模块
模块导入import items 引导导入
包:
python 的模块可以按目录组织为包
创建一个包的步骤是:
建立一个名字为包名字的文件夹,
在该文件夹下创建一个__init__.py文件,
根据需要在该文件夹下存放脚本文件、已编译扩展及子包。
import pack.m1 , pack.m2, pack.m3
即在目录下有__init__.py这样一个文件的就可以成为一个包。
导入命令import ,import as xxx ,from import