Python总结引言语言分类机器语言—汇编语言—高级语言(C语言—java/python)--php/perl/rubyC语言—面向过程Java/python—面向对象Python是面向过程、面向对象,跨平台的高级脚本语言。是解释性语言,执行源代码,提供丰富的库,支持多线,多进程,网络编程,可以支持C/C++的代码,可以测试C/C++和Python开发的单元产品,Python越来越多的成为开源测试自动化工具的首选语言安装1,安装:python2.7.6/python3.x,一路下一步,不要改变路径,安装之后,配置环境变量PATH,在其开头添加:C:\Python27;2,使用:3,1.win+r---cmd----python—此为python在dos环境下的命令行模式4,2.开始---python27—IDLE—此为python命令行,可编写简单代码或命令,如果需要正式编写请点击左上file—newfile5,3.安装pycharm软件用来编写python,可以安装在其他盘,局域网内不要破解使用。如安装:第二个的python-2.7.6.msi一路下一步默认路径安装目录在c:\python27下更改环境:在环境变量中的系统变量path最前面添加c:\python27;验证:在DOS窗口下验证输入python能进行简单的操作即完成。再安装setuptools(一路下一步即可)安装pycharm(一路下一步)选择…一,python函数1,输入函数,输出函数:(数据类型:int整型,float保留小数后六位,str字符型)a=input(u“输入一个整数”)(如果提示信息为中文第一行的头文件#coding:utf-8)而且在“提示信息”前加上u注:input函数自动识别数据类型,提示信息可以不加b=raw_input(u“输入一个字符串”)函数默认接收的全部都为strc=input(u”输入一个小数”)print‘输出的提示信息’,a输出数据的类型:printtype(a),type(b),type(c)分别按数据类型输出:print(”%d,%s,%f”)%(a,b,c)(print(”%d,%s,%f”)%(a,b,c)与printa,b,c的区别?)另外python的input还支持多个变量的输入。如a,b,c=input()而raw_input()不支持多个变量的输入C语言的输入输出:#includestdio.h//头文件声明了输入输出函数。就可以直接使用。Voidmain()//主函数,程序的入口。{print(“请输入两个数\n”);//可直接使用输出函数。中文亦可输出。Intx,y;//输入字符数字时,必须先定义声明Scanf(“%d,%d”,&x,&y);//输入数字必须”%d”调用储存,&x取x的值Print(“%d”,(x+y));//输出结果也要开辟空间。}Java语言的输入与输出。Importjava.util.*//相当于声明输入函数,在类中取出输入函数。ClassDemo{publicstaticvoidmain(String[]args)//相当于c语言的voidmain()函数的入口{Scannersc=newScanner(System.in);//相当于调用输入函数System.out.println(“请输入一个数字\n”);//输出函数Inta=sc.nextInt();//必须要定义函数的类型,后面相当于phthon的input()System.out.println(“请输入第二个数字\n”);//相当于python的printu“”floatb=sc.nextInt();//输入的数字是float型的一位小数System.out.println(a+b)//输出框支持运算即为两个数的值}}2,python中的序列(元组/列表)元组定义:s=(1,2.5,'much')----tuple的元组内的值不可改变s=[1,2.5,'much']----list的列表值是可以改变元组的引用:(可根据下标索引得到任意元素)#1整体应用---元组名例子:prints#2下标引用---下标从0开始例子:prints[2]#3下限、上限和步长例子:prints[1:7:2]---下限表示从谁s[1]打印,上限表示打印到谁s[7]但是该数默认不打印,步长是下一元素的增量,步长为1可省略,#4特殊引用例子:prints[-2]、prints[1::2]range(n):产生一个0到n-1的列表range(m,n):产生一个m到n-1的列表range(m,n,i):产生一个m到n-1,步长为i的列表printsum(range(1,101))打印1+……+100的和常见的操作方法:1、逆序存放:s.reverse()---改变原来元组的值2、排序存放:s.sort()------改变原来元组的值3、排序:sorted(s)---------不改变原来元组的值,只返回一个排序结果4、插入:s.insert(n,m)-----在某一位置(s[n]前面)插入该值m5、追加:s.append(n)-------在该元组末尾追加n6、连接两个列表:m.extend(n)---将m和n连个列表连接7、删除指定元素:m.pop(n)------删除m[n]并返回该值8、删除指定元素第一次出现的值:m.remove(n)–将第一次出现的元素n删除9、返回该值在列表中出现的次数:m.count(n)–返回元素n在列表中出现的次数10、最大值:max(s)11、最小值:min(s)12、长度:len(s)---元素的个数13、删除:dels[n]14、获得元素的下标:s.index(n)-------得到元素n在列表中的下标,,,练习:定义一个1-9的元组list,1、输出倒数第3个元素;2、输出值468list=[1,2,3,4,5,6,7,8,9]printlist[-3]printlist[5::2]3,字典定义:#大括号,键值对形式存在{‘key’:value}S={‘a’:10,’b’:20,’c’:15}引用:通过‘key’作为索引Prints[‘a’];赋值:将‘key’作为索引,,没有的key将作为新的内容添加到字典如果字典已有的key将被替换。S[‘d’]=5添加内容s[‘a’]=15替换内容操作方法:1、取出所有的键:s.keys()2、取出所有的值:s.values()3、取出所有的键值对,作为一个元组内的元素:s.items()4、删除:dels[‘key’]5、清空字典:s.clear()4,循环分类If-分支If-else分支If-elif嵌套语法If条件:语句体If条件:语句体1else:语句体2If条件1:语句体1elif条件2:语句体2elif条件3:语句体3else:语句体例子a=input()ifa0:a+=1printaa=input()ifa0:a+=1else:a-=1printaa=input()ifa0:a+=1elifa==0:a-=1elifa0:a+=2printa注:Python不支持&&、||,需要and、or代替,同时也支持多个条件连接:0a10循环循环四要素:1、定义循环变量;2、循环条件;3、循环体;4、循环变量发生变化n=0;n5;printn;n+=1把程序做成循环的步骤:A、确定循环体,全部选中用Tab键内推,用循环结构包裹B、从上到下依次编写:1/2/4a、while循环语法:循环变量while条件:循环体循环变量发生变化例子:i=0whilei5:printii=i+1练习:计算1+2+3+4……+100的和b、for循环语法:for变量in序列:循环体例子:foriin[1,2,1,4]:printi,'ok'练习:怎样实现打印1……100?c、continue和breakcontinue:停止当前这次循环,继续下次循环break:跳出所有循环例子:foriinrange(1,5):ifi==3:break/continueprintielse:printi作业:输出100以内的所有质数(只能被1和其本身整除的数)a=range(1,101)//定义一个数组a,取的是1-100的值foriina://外部将1-100的值依次循环传给iforjinrange(2,i/2)://将除了1和它本身的数作为j为分母ifi%j==0://i%j取余如果为零的依次选出来a.remove(i)//a.remove(i)表示将不是质数在a中删掉breakdela[0]//删除a中的1不是质数dela[0]//删除a中的2不是质数printa方法二:a=[]//定义一个空数组foriinrange(1,101)://1-100的数持续的赋给iif0notin(i%jforjinrange(2,i))://不是不是质数的挑出来a.append(i)//将每一个质数都追加到a中dela[0]dela[0]printa练习:计算1+2+3+4……+100的和sum=0//定义一个变量来接收求和的值foriinrange(1,101)://控制求和范围sum=sum+I//循环体(累计求和的作用)printsum练习:1.求10阶乘sum=1//定义一个变量接收阶乘foriinrange(1,11)://控制阶乘范维sum=sum*i//循环体printsum2.求100以内能被3整除的数,并将作为列表输出a=[]//定义一个空数组foriinrange(1,101)://控制判定的范围ifi%3==0://满足的条件a.append(i)//满足的追加printa3.列表[1,2,3,4,3,4,2,5,5,8,9,7],将此列表去重,得到一个唯一元素的列表a=[1,2,2,3,4,3,4,2,5,5,8,9,7]b=[]//定义一个空数组foriina://分别从数组中取值ifb.count(i)==0://统计i在b中的个数,它是一个空数组,所以i如果第b.append(i)//一次满足追加后,重复的话第二次不满足条件了printba=[1,2,2,3,4,3,4,2,5,5,8,9,7]b=[]foriina:ifinotinb://直接判断不在b里面的追加b.append(i)printb4.求斐波那契数列1235813……a=1abzb=0101z=0112foriinrange(1,100):213z=a+b325b=a538a=zprintz//如图推倒5.冒泡排序:[1,9,2,8,3,7,4,6,5]a=[1,9,2,8,3,7,4,6,5]foriinrange(1,len(a)):forjinrange(len(a)-i):ifa[j+1]a[j]:a[j+1],a[j]=a[j],a[j+1]printa5,函数的定义定义函数:def函数名(参数1,参数2):----(参数可有可无)语句体return变量----(return可有可无)b、调用:变量=函数名(参数1,参数2)----(变量,参数可有可无)1、调用;2、传参;3、接收返回值c、例子:defadd(a,b):printa+ba,b=input('请输入两个数,并用逗号隔开:')add(a,b)练习:1.设计一个计算器,输入两个数,自动实现加减乘除无参有返#coding:utf-8defadd():returnx+ydefjianfa():returnx-ydefchengfa():returnx*ydefchufa():returnfloat(x)/yx=input(u请输入第一个数:)y=input(u请输入第二个数:)printu两个数的和为,add()printu两个数的差为,jianfa()printu两个数的积为,chengfa()printu两个数的商为,chufa()无参无返#coding:utf-8defadd():printu两个数