15天精通pythonpython总结python基础pyhthon小代码.docx

上传人:b****8 文档编号:9449275 上传时间:2023-05-19 格式:DOCX 页数:21 大小:100.12KB
下载 相关 举报
15天精通pythonpython总结python基础pyhthon小代码.docx_第1页
第1页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第2页
第2页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第3页
第3页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第4页
第4页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第5页
第5页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第6页
第6页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第7页
第7页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第8页
第8页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第9页
第9页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第10页
第10页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第11页
第11页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第12页
第12页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第13页
第13页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第14页
第14页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第15页
第15页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第16页
第16页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第17页
第17页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第18页
第18页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第19页
第19页 / 共21页
15天精通pythonpython总结python基础pyhthon小代码.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

15天精通pythonpython总结python基础pyhthon小代码.docx

《15天精通pythonpython总结python基础pyhthon小代码.docx》由会员分享,可在线阅读,更多相关《15天精通pythonpython总结python基础pyhthon小代码.docx(21页珍藏版)》请在冰点文库上搜索。

15天精通pythonpython总结python基础pyhthon小代码.docx

15天精通pythonpython总结python基础pyhthon小代码

Python总结

引言

语言分类

机器语言—汇编语言—高级语言(C语言—java/python)--php/perl/ruby

C语言—面向过程

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—newfile

5,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“输入一个字符串”)函数默认接收的全部都为str

c=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语言的输入输出:

#include//头文件声明了输入输出函数。

就可以直接使用。

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]前面)插入该值m

5、追加:

s.append(n)-------在该元组末尾追加n

6、连接两个列表:

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、输出值468

list=[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条件:

语句体1

else:

语句体2

If条件1:

语句体1

elif条件2:

语句体2

elif条件3:

语句体3

else:

语句体

例子

a=input()

ifa>0:

a+=1

printa

a=input()

ifa>0:

a+=1

else:

a-=1

printa

a=input()

ifa>0:

a+=1

elifa==0:

a-=1

elifa<0:

a+=2

printa

注:

Python不支持&&、||,需要and、or代替,同时也支持多个条件连接:

0

循环

循环四要素:

1、定义循环变量;2、循环条件;3、循环体;4、循环变量发生变化

n=0;n<5;printn;n+=1

把程序做成循环的步骤:

A、确定循环体,全部选中用Tab键内推,用循环结构包裹

B、从上到下依次编写:

1/2/4

 

a、while循环

语法:

循环变量

while条件:

循环体

循环变量发生变化

例子:

i=0

whilei<5:

printi

i=i+1

练习:

计算1+2+3+4……+100的和

b、for循环

语法:

for变量in序列:

循环体

例子:

foriin[1,2,1,4]:

printi,'ok'

练习:

怎样实现打印1……100?

c、continue和break

continue:

停止当前这次循环,继续下次循环

break:

跳出所有循环

例子:

foriinrange(1,5):

ifi==3:

break/continue

printi

else:

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//循环体printsum

2.求100以内能被3整除的数,并将作为列表输出

a=[]//定义一个空数组foriinrange(1,101):

//控制判定的范围ifi%3==0:

//满足的条件a.append(i)//满足的追加printa

3.列表[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)//一次满足追加后,重复的话第二次不满足条件了printb

 

a=[1,2,2,3,4,3,4,2,5,5,8,9,7]b=[]foriina:

ifinotinb:

//直接判断不在b里面的追加b.append(i)printb

 

4.求斐波那契数列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+1],a[j]=a[j],a[j+1]printa

 

5,函数的定义

定义函数:

def函数名(参数1,参数2):

----(参数可有可无)

语句体

return变量----(return可有可无)

b、调用:

变量=函数名(参数1,参数2)----(变量,参数可有可无)

1、调用;2、传参;3、接收返回值

c、例子:

defadd(a,b):

printa+b

a,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"两个数的和为",x+ydefjianfa():

printu"两个数的差为",x-ydefchengfa():

printu"两个数的积为",x*ydefchufa():

printu"两个数的商为",float(x)/yx=input(u"请输入第一个数:

")y=input(u"请输入第二个数:

")add()jianfa()chengfa()chufa()

 

2.进阶:

根据用户输入的计算符号计算结果

注意:

float(a)/b强制类型转换

#coding:

utf-8defadd():

printu"两个数的和为",x+zdefjianfa():

printu"两个数的差为",x-zdefchengfa():

printu"两个数的积为",x*zdefchufa():

printu"两个数的商为",float(x)/zx=input(u"请输入第一个数:

")y=raw_input(u"请输入运算符号:

")z=input(u"请输入第二个数:

")ify=='+':

add()elify=='-':

jianfa()elify=='*':

chengfa()elify=='/':

ifz==0:

printu"除数不能为零请重新输入"else:

chufa()

匿名函数

可以利用lambda函数的语法:

lambda参数:

表达式,来定义函数。

让函数定义更加灵活!

lambda例子如下:

func=lambdax,y:

x+yprintfunc(3,4)

lambda生成一个函数对象。

该函数参数为x,y,返回值为x+y。

函数对象赋给func。

func的调用与正常函数无异。

 以上定义可以写成以下形式:

deffunc(x,y):

returnx+y

注:

匿名函数即为有参有返型的,常用于函数的嵌套只需在嵌套中使用匿名函数

map()函数

map()是Python的内置函数。

它的第一个参数是一个函数对象。

re=map((lambdax:

x+3),[1,3,5,6])

这里,map()有两个参数,一个是lambda所定义的函数对象,一个是包含有多个元素的表。

map()的功能是将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表re中。

map通过读入的函数(这里是lambda函数)来操作数据(这里“数据”是表中的每一个元素,“操作”是对每个数据加3)。

在Python3.X中,map()的返回值是一个循环对象。

可以利用list()函数,将该循环对象转换成表。

如果作为参数的函数对象有多个参数,可使用下面的方式,向map()传递函数参数的多个参数:

re=map((lambdax,y:

x+y),[1,2,3],[6,7,9])

map()将每次从两个表中分别取出一个元素,带入lambda所定义的函数。

因而map函数中可以内置函数,常与匿名函数连用。

或者先定义函数,再调用

Reduce()函数

也是一个内置函数

a=reduce((lambdax,y:

x+y),[1,2,3,4,5])printa

实际运算的累加。

a=reduce((lambdax,y:

x*y),[1,2,3,4,5])printa

实现运算累乘

以上是错误的。

这里的b中的值无法进行传递。

defb(*s):

//生成数组printreduce((lambdax,y:

x*y),s)//b(1,2,3)//取数

 

函数作为参数传递

函数可以作为一个对象,进行参数传递。

函数名(比如func)即该对象。

比如说:

deftest(f,a,b):

print'test'

printf(a,b)

test(func,3,5)

test函数的第一个参数f就是一个函数对象。

将func传递给f,test中的f()就拥有了func()的功能。

我们因此可以提高程序的灵活性。

可以使用上面的test函数,带入不同的函数参数。

比如:

test((lambdax,y:

x**2+y),6,9)

6,字符串的操作方法

 

下面是一些用于字符串的方法。

尽管字符串是定值表的特殊的一种,但字符串(string)类有一些方法是改变字符串的。

这些方法的本质不是对原有字符串进行操作,而是删除原有字符串,再建立一个新的字符串,所以并不与定值表的特点相矛盾。

#str为一个字符串,sub为str的一个子字符串。

s为一个序列,它的元素都是字符串。

width为一个整数,用于说明新生成字符串的宽度。

str.count(sub)   返回:

sub在str中出现的次数

str.find(sub)    返回:

从左开始,查找sub在str中第一次出现的位置。

如果str中不包含sub,返回-1

str.index(sub)   返回:

从左开始,查找sub在str中第一次出现的位置。

如果str中不包含sub,举出错误

str.rfind(sub)   返回:

从右开始,查找sub在str中第一次出现的位置。

如果str中不包含sub,返回-1

str.rindex(sub)   返回:

从右开始,查找sub在str中第一次出现的位置。

如果str中不包含sub,举出错误

 

str.isalnum()    返回:

True,如果所有的字符都是字母或数字

str.isalpha()    返回:

True,如果所有的字符都是字母

str.isdigit()    返回:

True,如果所有的字符都是数字

str.istitle()    返回:

True,如果所有的词的首字母都是大写

str.isspace()    返回:

True,如果所有的字符都是空格

str.islower()    返回:

True,如果所有的字符都是小写字母

str.isupper()    返回:

True,如果所有的字符都是大写字母

 

str.split([sep,[max]])  返回:

从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。

将所得的子字符串放在一个表中返回。

可以str.split(',')的方式使用逗号或者其它分割符

str.rsplit([sep,[max]]) 返回:

从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。

将所得的子字符串放在一个表中返回。

可以str.rsplit(',')的方式使用逗号或者其它分割符

 

str.join(s)        返回:

将s中的元素,以str为分割符,合并成为一个字符串。

str.strip([sub])     返回:

去掉字符串开头和结尾的空格。

也可以提供参数sub,去掉位于字符串开头和结尾的sub 

str.replace(sub,new_sub) 返回:

用一个新的字符串new_sub替换str中的sub

     

str.capitalize()      返回:

将str第一个字母大写

str.lower()         返回:

将str全部字母改为小写

str.upper()          返回:

将str全部字母改为大写

str.swapcase()          返回:

将str大写字母改为小写,小写改为大写

str.title()       返回:

将str的每个词(以空格分隔)的首字母大写

str.startswith(prefix) 判断是否以prefix开头 str.endswith(suffix) 判断以suffix结尾 

 

str.center(width)     返回:

长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。

str.ljust(width)     返回:

长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。

str.rjust(width)     返回:

长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

注:

1,去重list(set(L))

L=[1,2,3,2,3,6]a=list(set(L))printa//[1,2,3,6]printset(L)//set([1,2,3,6])

2,强制转换list

a='abcd'b=('abcd','adsx','sdfasd')c=['abcd','adsx','sdfasd']printlist(a)//['a','b','c','d']将字符串转换为列表printlist(b)//['abcd','adsx','sdfasd']//将元组转为列表printlist(c)//['abcd','adsx','sdfasd']//本身为列表

3.连接多个表

xm=['zhangsan','lisi','wangwu']xb=['nan','nv','nan']score=[100,50,60]m=zip(xm,xb,score)printm//[('zhangsan','nan',100),('lisi','nv',50),('wangwu','nan',60)]forxm,xb,scoreinm:

printxm,xb,score//zhangsannan100,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2