2.Python科学计算与数据处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Python基础—Python函数1目录函数的定义与调用调用函数的形式函数的参数局部变量和全局变量函数的注释说明常用函数2函数的定义与调用函数是一个能完成特定功能的代码块,可在程序中重复使用,减少程序的代码量和提高程序的执行效率。在python中函数定义语法如下:deffunction_name(arg1,arg2[,...]):statement[returnvalue]返回值不是必须的,如果没有return语句,则Python默认返回值None3函数的定义与调用定义函数,通常使用def语句。函数名可以是任何有效的Python标识符。参数列表可以由多个、一个或零个参数组成。圆括号是必不可少的,即使没有参数也不能没有它;不要忘记圆括号后面的冒号。函数体一定要注意缩进。“形参”和“实参”。return语句的作用是结束函数调用,可以出现在函数体的任意位置。4def函数名(参数列表):函数体defadd1(x):x=x+1returnxdefadd1(x):x=x+1returnxadd1(1)2调用函数的形式调用函数的一般形式是:上例:对于没有使用return语句的函数,它实际上也向调用者返回一个值,那就是None。标准调用方式,传递的值按照形参定义的顺序相应地赋给它们。5函数名(参数表)add1(1)defmyadd():sum=1+1a=myadd()aprintaNone调用函数的形式“关键字调用”方式,即在调用函数时同时给出形式参数和实际参数。“关键字调用”方式在函数具有多个参数是非常有用,因为解释器能通过给出的关键字来匹配参数的值,所以这样就允许参数缺失或者不按定义函数时的形式参数的顺序提供实际参数。6defselect(x,y):让x年级y班的学生打扫卫生select(3,6)select(6,3)select(x=3,y=6)select(y=6,x=3)函数的参数在定义函数时,我们可以用赋值符号给某些形参指定默认值,这样当调用该函数的时候,如果调用方没有为该参数提供值的话,则使用默认值。如果调用该函数的时候为该参数提供了值的话,则使用调用方提供的值——像这样的参数我们称之为缺省参数。默认参数必须在所有标准参数之后定义。7deff(arg1,arg2=2,arg3=3):print'arg1=',arg1print'arg2=',arg2print'arg3=',arg3函数的参数带有缺省参数的函数:用“关键字调用”方式调用带有缺省参数的函数:8f(10,arg3=10)arg1=10arg2=2arg3=10f(arg3=10,arg1=10)arg1=10arg2=2arg3=10f(10,arg2=10)arg1=10arg2=10arg3=3f(arg2=10,arg1=10)arg1=10arg2=10arg3=3deff(arg1,arg2=2,arg3=3):print'arg1=',arg1print'arg2=',arg2print'arg3=',arg3f(10)arg1=10arg2=2arg3=3f(10,10)arg1=10arg2=10arg3=3f(10,10,10)arg1=10arg2=10arg3=10函数的参数需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数.加了星号(*)的变量名会存放所有未命名的变量参数。选择不多传参数也可。9deffunctionname([formal_args,]*var_args_tuple):函数_文档字符串function_suitereturn[expression]函数的参数10#可写函数说明defprintinfo(arg1,*vartuple):打印任何传入的参数print输出:printarg1forvarinvartuple:printvarreturn;printinfo(10)#调用printinfo函数输出:10printinfo(70,60,50)#以上实例输出结果:输出:706050函数的参数在一个函数中对参数名赋值不影响调用者。在一个函数中改变一个可变的对象参数会影响调用者,如列表,字典,数组等。参数是对象指针,无需定义传递的对象类型。deftest(a,b):return(a+b)printtest(1,2)printtest(1,2)printtest([1],[2])11匿名函数用lambda关键词能创建小型匿名函数。Lambda函数能接收任何数量的参数但只能返回一个表达式的值。匿名函数不能直接调用print,因为lambda需要一个表达式。lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数。12lambda[arg1[,arg2,.....argn]]:expression匿名函数13#可写函数说明sum=lambdaarg1,arg2:arg1+arg2;#调用sum函数printValueoftotal:,sum(10,20)Valueoftotal:30printValueoftotal:,sum(20,20)Valueoftotal:40局部变量和全局变量在一个函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量;在一个文件顶部定义的变量可以供该文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量。如想在局部作用域中改变全局作用域的对象,必须使用global关键字。#coding=utf-8globalInt=9#定义一个函数defmyAdd():localInt=3globalgigi=7#在函数中定义一个局部变量returnglobalInt+localInt#测试变量的局部性和全局性printmyAdd()printglobalIntprintgiprintlocalInt14局部变量和全局变量15globalInt=9defmyAdd():localInt=3globalgigi=7returnglobalInt+localIntprintmyAdd()12printglobalInt9printgi7printlocalIntNameErrorNameError:name'localInt'isnotdefined函数的注释说明—文档字符串在函数定义后紧跟的字符串会被认为是函数的说明,使用help(函数名)可显示出来。importtesthelp(add2)显示__doc__属性defadd2(a,b):addtwoitemtogetherreturn(a+b)if__name__==__main__:printadd2(1,2)printadd2(123,45)importtestdir(test)['__builtins__','__doc__','__file__','__name__','add2']help(test.add2)Helponfunctionadd2inmoduletest:dd2(a,b)addtwoitemtogethertest.add2(3,7)pythontest.py31234516常用函数1/3abs(x):abs()返回一个数字的绝对值。如果给出复数,返回值就是该复数的模。callable(object):callable()函数用于测试对象是否可调用,如果可以则返回1(真);否则返回0(假)。可调用对象包括函数、方法、代码对象、类和已经定义了“调用”方法的类实例。cmp(x,y):cmp()函数比较x和y两个对象,并根据比较结果返回一个整数,如果xy,则返回-1;如果xy,则返回1,如果x==y则返回0。isinstance(object,class-or-type-or-tuple)-bool测试对象类型isinstance(a,str)help()help__builtin__17常用函数2/3divmod(x,y):divmod(x,y)函数完成除法运算,返回商和余数。pow(x,y[,z]):pow()函数返回以x为底,y为指数的幂。如果给出z值,该函数就计算x的y次幂值被z取模的值。len(object)-integer:len()函数返回字符串和序列的长度。min(x[,y,z...]):返回序列或参数的最小值max(x[,y,z...]):返回序列或参数的最大值18常用函数3/3range([lower,]stop[,step]):range()函数可按参数生成连续的有序整数列表。round(x[,n]):round()函数返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。type(obj):type()函数可返回对象的数据类型。xrange([lower,]stop[,step]):xrange()函数与range()类似,但xrnage()并不创建列表,而是返回一个xrange对象,它的行为与列表相似,但是只在需要时才计算列表值,当列表很大时,这个特性能节省内存。19类型转换函数—数值型float(x):把一个数字或字符串转换成浮点数。hex(x):把整数转换成十六进制数。oct(x):把整数转换成八进制数。int(x[,base]):把数字和字符串转换成一个整数,base为可选的基数。complex(real[,imaginary]):complex()函数可把字符串或数字转换为复数。complex(“2+1j”)、complex(2,1)long(x[,base])long()函数把数字和字符串转换成长整数,base为可选的基数。20类型转换函数—字符串chr(i):chr()函数返回ASCII码对应的字符串ord(x):ord()函数返回一个字符串参数的ASCII码或Unicode值。str(obj):str()函数把对象转换成可打印字符串。21类型转换函数—序列对象list(x):list()函数可将序列对象转换成列表tuple(x):tuple()函数把序列对象转换成tuple22序列操作函数常用函数中的len()、max()和min()同样可用于序列.filter(function,list):调用filter()时,它会把一个函数应用于序列中的每个项,并返回该函数返回真值时的所有项,从而过滤掉返回假值的所有项。map(function,list[,list]):map()函数把一个函数应用于序列中所有项,并返回一个列表。reduce(function,seq[,init])reduce()函数获得序列中前两个项,并把它传递给提供的函数,获得结果后再取序列中的下一项,连同结果再传递给函数,以此类推,直到处理完所有项为止。zip(seq[,seq,...])zip()函数可把两个或多个序列中的相应项合并在一起,并以元组的格式返回它们,在处理完最短序列中的所有项后就停止。2324Python基础—Python模块目录模块简介模块的__name__创建模块dir()函数包(package)25模块简介模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用python标准库的方法。26模块简介importsys引入python标准库中的sys.py模块;这是引入某一模块的方法。2、sys.argv是一个包含命令行参数的列表。3、sys.path包含了一个Python解释器自动查找所需模块的路径的列表。27#!

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功