您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 06__Python-函数与模块
1获奖当前路径...........................................................................................................................12函数..........................................................................................................................................22.1函数定义.......................................................................................................................22.2函数名...........................................................................................................................32.3常用函数.......................................................................................................................42.4数学函数,importmath.............................................................................................42.5lambda函数.................................................................................................................53模块..........................................................................................................................................53.1模块的定义和使用.......................................................................................................51获奖当前路径importosos.path()os.getcwd()'D:\\Python34'os.path.abspath('.')'D:\\Python34'在python编程中,模块的导入需要一个叫做路径搜索的过程。即在文件系统预定义区域中查找mymodule.py文件(如果你导入mymodule的话)。这些预定义区域只不过是你的Python搜索路径的集合。默认搜索路径是在编译或是安装时指定的。它可以在一个或两个地方修改。一个是启动Python的shell或命令行的PYTHONPATH环境变量。该变量的内容是一组用冒号分割的目录路径。如果想让解释器使用这个变量,那么请确保在启动解释器或执行Python脚本前设置或修改了该变量。解释器启动之后,也可以访问这个搜索路径,它会被保存在sys模块的sys.path变量里。不过它已经不是冒号分割的字符串,而是包含每个独立路径的列表。一个Unix机器搜索路径的样例。注意:搜索路径在不同系统下一般是不同的。sys.path['','/usr/local/lib/python2.x/','/usr/local/lib/python2.x/plat-sunos5','/usr/local/lib/python2.x/lib-tk','/usr/local/lib/python2.x/lib-dynload','/usr/local/lib/Python2.x/site-packages',]这搜索路径列表可以随时根据需要对它进行修改。如果知道需要导入的模块是什么,而它的路径不在搜索路径里,那么只需要调用列表的append()方法即可,就像这样:sys.path.append('/home/wesc/py/lib')添加搜索路径后,即可加载自己的模块了。2函数2.1函数定义deffunction_name(arg1,arg2[,...]):statement[returnvalue]格式:def函数名(形参表):函数体python的函数通过def关键字定义。def关键字后跟一个函数名,然后跟一对圆括号。圆括号之中可以包括一些用逗号隔开的变量名。该行以冒号结尾。接下来是一块语句,它们是函数体。如果函数有返回值,直接使用return表达式的形式。2.2函数名函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;函数名是区分大小写的。函数名不能是保留字。【例1-1】定义并使用打印两个数的最大值的函数。函数的参数为两个数,无返回值。解:#Filename:printmax.py#函数的定义defprintMax(a,b):ifab:print(a,'ismaximum')else:print(b,'ismaximum')注:可以把脚本粘贴到“命令窗口”再调用。#函数的使用printMax(6,17)#使用字面量直接调用函数x=2y=8printMax(x,y)#使用变量为实参调用函数运行结果:C:\Python31pythonprintmax.py17ismaximum8ismaximum其他调用方式:importprintMaxprintMax(3,88)printMax.printMax(3,88)【例1-2】定义并使用求两个数的最大值的函数。函数的参数为两个数,返回值为最大的数。解:#Filename:funcmax.py#函数的定义deffuncMax(a,b):ifab:returnaelse:returnb#函数的使用print(funcMax(6,17))#使用字面量直接调用函数,直接输出结果x=2y=8z=funcMax(x,y)#使用变量为实参调用函数并将结果赋赋给另一变量print(z)运行结果:C:\Python31pythonfuncmax.py1782.3常用函数type(表达式)获得表达式的数据类型int('34')#转换为整数int('1101',2)#将二进制字符串转换为十进制整数float('43.4')#转换为浮点数str(34)#转换为字符串bin(43)#将十进制整数转换为二进制数repr()函数用来取得对象的规范字符串表示。2.4数学函数,importmathmath.log10(10)#以10为底的对数math.sin(math.pi/2)#正弦函数,单位弧度math.pi#常数pi,3.141592653589793math.exp(8)#e的8次幂math.pow(32,4)#32的4次幂。math.sqrt(2)#2开平方。math.cos(math.pi/3)#余弦函数。math.fabs(-32.90)#求绝对值。math.factorial(n)#求n的阶乘在编辑窗口中,输入“math.”,将鼠标光标移到“.”上稍停,可以打开math列表。2.5lambda函数Python允许定义一种单行的小函数。定义lambda函数的形式如下:lambda参数表:表达式其中参数用逗号隔开。lambda函数默认返回表达式的值。也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个:g=lambdax,y:x*yg(3,4)12g=lambdax,y=0,z=0:x+y+zg(1)1g3模块3.1模块的定义和使用模块基是一个包含了已定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。使用模块中的函数时,在文件开始写:import模块名使用函数使用:模块名.函数名(参数表)注意,模块名就是不包含扩展名的文件名,且该文件与当前文件在同一个文件夹中。使用函数时,函数名前有模块名再加一个点号“.”。【例1-3】编写一个模块文件,其中有一个求最大值的函数,在编写另一个文件,其中用前面的模块文件中的函数。解:模块文件,文件名module_max.py#Filename:module_max.py#求最大值deffuncMax(a,b):ifab:returnaelse:returnb#求最小值deffuncMin(a,b):ifab:returnaelse:returnb模块的使用:#Filename:usemodule.pyimportmodule_max//导入模块文件x=9y=37print(module_max.funcMax(9,37))还有另外一种使用模块的方式是用from…import格式,例如:#Filename:usemodule2.pyfrommodule_maximportfuncMaxx=9y=37print(funcMax(9,37))其中,在from…import中已经包含了所需的函数名,则再使用具体函数时,则不用再包含模块名了。
本文标题:06__Python-函数与模块
链接地址:https://www.777doc.com/doc-4166383 .html