python函数与模块
一、python函数
1.认识函数
函数分为系统函数与自定义函数。
1 #coding=utf-8 2 ''' 3 Created on 2016年4月19日 4 5 @author: Administrator 6 ''' 7 #函数的功能 8 #系统函数 9 #1.取字符串长度10 '''11 a="hello world python!"12 print len(a)13 #2.字符串切割14 a="student"15 b=a.split("u")16 print b17 '''18 #3.自定义函数19 '''20 def a():21 print "hello"22 print 77723 a()24 '''25 def function1():26 a=827 print a28 function1()
2.形参与实参
1 #coding=utf-8 2 ''' 3 Created on 2016��4��19�� 4 5 @author: Administrator 6 ''' 7 #函数的形参与实参 8 #形参 9 '''10 def function1(a,b):11 if a>b:12 print a13 else:14 print b15 16 '''17 #实参18 #function1(1,3)19 #参数的传递20 #简单的参数传递21 '''22 def function2(a,b):23 if a>b:24 print "前面的数大于后面的数"25 else:26 print "后面的数大于前面的数"27 function2(7,8) 28 '''29 #赋值传递30 '''31 def function3(a,b=8):32 print a33 print b34 function3(1)35 function3(1,2)36 '''37 #关键参数38 def function4(a=1,b=2,c=3):#初始化39 print a40 print b41 print c42 function4(2)43 function4(b=7,c=8)44 function4(5,b=8,c=9)45 function4(b=2,c=1,a=0)46 #注意参数不能冲突47 #function4(b=2,c=9,6)48
3.全局变量与局部变量
1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #全局变量与局部变量 8 #局部变量 9 '''10 def func2(a):11 i=712 print i13 i=914 func2(i)15 print i16 '''17 #全局变量,i在函数外也起作用,但并不是全都一样18 def func3():19 global i20 i=721 print i22 #global i23 i=924 func3()25 print i26 i=927 print i
4.函数的使用与返回值
1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #函数的使用与返回值 8 #函数的调用 9 '''10 def a():11 i=112 print i13 a()14 '''15 #函数返回值16 #一个返回值17 '''18 def test():19 i=720 return i21 print test()22 '''23 #多个返回值,元组的形式存储多个返回值24 def test2(i,j):25 k=i*j26 return i,j,k27 x=test2(2,5)28 print x29 y,z,m=test2(2, 5)30 print y31 print m
5.文档字符串
文档字符串作用:解决函数杂乱问题。
文档字符串的使用方法:
1.为每个函数加文档说明
2.编写文档字符串 第一行写函数功能 第二行空开。 第三行写具体功能。 句子末尾使用句号,英文首字母大写。1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #文档字符串 8 def d(i,j): 9 '''该函数实现一个乘法的运算。10 11 函数返回乘法的运算结果。 '''12 k=i*j13 return k14 #使用函数文档字符串15 print d.__doc__16 help(d)
以上代码运行结果如下:
二、python模块
1.认识python模块
函数实现一项或多项功能的一段程序。
模块是函数功能的拓展,实现一项或多项功能的程序块。封装了许多功能。 模块里可以重用多个函数。 进入python安装目录,lib下,很多文件夹都是模块。自定义模块也放在lib下。
模块的文件目录如下图所示:
1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #导入模块 8 ''' 9 import math10 print math.pi11 '''12 #sys模块13 import sys14 #查看版本信息15 print sys.version16 #查看目录地址17 print sys.executable18 #返回windows版本信息19 print sys.getwindowsversion()20 #查到导入的模块21 print sys.modules.keys()
2.字节编译
执行Python模块的两种方式:1.先将模块里的内容编译成二进制语言,然后执行二进制语言2.直
接执行对应模块的二进制语言程序。第二种执行速度快一些。 密会编译成二进制语言程序的过程叫做字节编译,产生一个与编译模块对应的.pyc文件。.pyc文 件是经过编译后的模块对应的二进制文件。 字节编译不是编译。 import的同时若果没有.pyc文件会自动生成.pyc文件。 cmd 下编译生成.pyc文件 : python -m compileall 模块名 pyc文件使用二进制文件查看器可以查看。Binary Viewer .pyc文件可以用于反编译
3.from...import语句
import只是导入模块,没有导入某个属性或方法。
导入功能可以使用from...import语句。 from...import*;导入模块的所有方法。1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #第一种 8 ''' 9 import sys10 print sys.version11 '''12 #第二种 ,直接调用version方法13 '''14 from sys import version15 print version16 '''17 #第三种方法18 from sys import *19 print version20 print executable
4.认识__name__属性
主函数:调用了其他函数。
主模块:调用了其他模块的模块。 一个模块可是主模块也可以是非主模块。 __name__ 属性可以判断是不是主模块1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #name属性的使用 8 9 #print __name__10 #name����11 if __name__=="__main__":12 print "It's main"13 else:14 print "It's not main"15 16 #print __name__
5.自定义模块
自定义模块分为系统自带模块,不要要定义;自定义模块。
自定义模块在lib下定义。 模块定义是变量最好初始化,或者声明参数类型,防止语法错误。
6.dir()函数
dir()查看指定功能的模块列表。
dir()查看指定列表功能。1 #coding=utf-8 2 ''' 3 Created on 2016��4��20�� 4 5 @author: Administrator 6 ''' 7 #dir()查看指定功能的模块列表。 8 ''' 9 import sys10 print dir(sys)11 print sys.dllhandle12 '''13 #dir()查看指定列表功能。属性方法的列表,没有数据。14 '''15 d=[]16 print dir(d)17 '''18 c=["a","b"]19 print dir(c)20 e=()21 print dir(e)
以上代码运行结果如下:
2016-04-20 22:57:15