python总结1.docx
- 文档编号:6360630
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:12
- 大小:38.35KB
python总结1.docx
《python总结1.docx》由会员分享,可在线阅读,更多相关《python总结1.docx(12页珍藏版)》请在冰豆网上搜索。
python总结1
一、输入和输出
输出
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字;
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出
输入
用input(),可以让用户输入字符串,并存放到一个变量里。
因为input()返回的数据类型是str,如果遇到str和整数/浮点数比较的情况,必须先把str转换成整数/浮点数。
Python提供了int()/float()函数来完成这件事情
二、Python基础
Python的语法比较简单,采用缩进方式;当语句以冒号:
结尾时,缩进的语句视为代码块。
缩进好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。
按照约定俗成的管理,应该始终坚持使用4个空格的缩进。
Python程序是大小写敏感的,如果写错了大小写,程序会报错。
文件命名以.py结尾,文件名只能是字母、数字、下划线_的组合(不能是中文)
1、数据类型和变量
数据类型:
数据类型可以分为:
整数、浮点数、字符串、布尔值(true/false)、空值(None)
注意:
转义字符:
\n表示换行,\t表示制表符,\\表示的字符就是\
Python还允许用r''表示''内部的字符串默认不转义
Python允许用'''...'''的格式表示多行内容
空值None不能理解为0,因为0是有意义的,而None是一个特殊的空值
逻辑运算符:
与(and):
只有所有都为True,and运算结果才是True
或(or):
只要其中有一个为True,or运算结果就是True
非(not):
把True变成False,False变成True
变量:
变量可以是任意数据类型;变量在程序中就是用一个变量名表示了,变量名的语法:
必须是大小写英文、数字和_(下划线)的组合,且不能用数字开头
注意:
区别=与==
等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量(相当于说把右边的值赋给左边)
可以反复的赋值的例子:
x=10#左边x被右边赋值为10(相当于x此时的值为10)
x=x+2#左边的x被右边的x+2赋值,而右边的x的值是上一步的10,因此左边的值现在是10+2(也就是左边的值现在是12)
==是恒等语句,通常用于判断左右两边是否相等(相当于判断左边的值是否等于右边)
常量:
常量就是不能变的变量,通常用全部大写的变量名表示常量
除法:
1)/
在Python中,有两种除法,一种除法是/,它计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数(不管除不除得尽,结果都是浮点数)
例1:
例2:
2)//
还有一种除法是//,称为地板除,两个整数的除法仍然是整数
例:
因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数,即%(取余)
>>>10%3#10除以3等于3,余数为
1
2、字符串和编码
字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题
因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理
ASCII编码,就是把文本转化为数字:
比如大写字母A的编码是65,小写字母z的编码是122,字符0用ASCII编码是十进制的48,注意字符'0'和整数0是不同的(上面几个ASCII编码要记住)。
记住两个特殊的函数:
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示(也就是把单个字符转化为整数),chr()函数把编码转换为对应的字符(也就是把整数转化为单个字符)
例子:
>>>ord('A')
65
>>>ord('中')
20013
>>>chr(66)
'B'
>>>chr(25991)
'文'
Str和bytes类型可以互相转换
1)把str转化为bytes,在字符串前加一个b,
例如:
x=b'ABC'#此时字符串"ABC"变成了字节
2)要把bytes变为str,就需要用decode()方法
例子:
>>>b'ABC'.decode('ascii')
'ABC'
要计算str包含多少个字符,可以用len()函数
格式化
方式一:
%
我们经常会输出类似'亲爱的xxx你好!
你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
格式化用%实现。
举例如下:
>>>'Hello,%s'%'world'#%s表示接收的是字符串,可以看到接收的'world'是字符串类型,%是格式化
'Hello,world'
>>>'Hi,%s,youhave$%d.'%('Michael',1000000)#颜色对应着看
'Hi,Michael,youhave$1000000.'
格式化整数和浮点数还可以指定是否补0和整数与小数的位数
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
如果%是一个普通字符怎么办?
这个时候就需要转义,用%%来表示一个%
方式二:
format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>>'Hello,{0},成绩提升了{1:
.1f}%'.format('小明',17.125)
'Hello,小明,成绩提升了17.1%'#.1表示只显示小数点后一位
3、使用list和tuple
1)list(列表)
list是一种有序的集合,可以随时添加和删除其中的元素,用[]表示
用len()函数可以获得list元素的个数;list索引是从0开始的。
当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates)–1;还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个
list里面的元素的数据类型也可以不同
list元素也可以是另一个list(也就是list嵌套list)
如果一个list中一个元素也没有,就是一个空的list,它的长度为0:
>>>L=[]
>>>len(L)
0
list列表元素的添加:
方法一:
在列表末尾添加元素
.append(元素)#括号里面为想要添加的元素
方法二:
在列表任意位置添加元素
.insert(i,元素)#i表示位置(索引)
list列表元素的删除:
.pop()#表示取出(删除)列表的最后一个元素
.pop(i)#i表示位置(索引),.pop(i)表示取出(删除)索引为i的元素
list列表元素的替换:
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置
例子:
>>>classmates=['Michael','Bob','Tracy']
>>>classmates[1]='Sarah'
>>>classmates
['Michael','Sarah','Tracy']
2)tuple(元组)
tuple,是用()表示的,它一旦初始化就不能修改
如果要定义一个空的tuple,可以写成():
>>>t=()
>>>t
()
定义只有1个元素的tuple时,必须加一个逗号,来消除歧义:
>>>t=(1,)
>>>t
(1,)
“可变的”tuple:
tuple嵌套list(所以改变的是list而不是tuple)
例子:
>>>t=('a','b',['A','B'])
>>>t[2][0]='X'
>>>t[2][1]='Y'
>>>t
('a','b',['X','Y'])
4、条件判断
用if语句实现,注意不要少写了冒号:
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
if<条件判断1>:
#满足条件1,则执行1
<执行1>
else:
#除了条件1的情况,则执行2
<执行2>
if<条件判断1>:
#满足条件1,则执行1
<执行1>
elif<条件判断2>:
#满足条件2,则执行2
<执行2>
elif<条件判断3>:
#满足条件3,则执行3
<执行3>
else:
#除了上述的条件,其他的情况则执行4
<执行4>
5、循环
目的:
为了不重复的处理一件事
range()函数,可以生成一个整数序列
range()的用法:
法1:
range(数字),这里的数字是你想要产生多少个整数的最大数+1;比如说,你想要1-10这几个数,则range(11),就能产生1-10这几个整数
法2:
range(数字1,数字2),这个方法是产生从数字1到数字2这个范围的整数;数字1这个范围的最小数,数字2是这个范围的最大数+1;比如说,你想要产生5-10这几个整数,就可以写成range(5,11)
循环方式一:
for...in循环
所以forxin...循环就是把每个元素代入变量x,然后执行缩进块的语句,上面例子的x就是name,也就是代表names列表中的每一个元素
循环方式二:
while循环
while循环,只要条件满足,就不断循环,条件不满足时退出循环。
(也就是说,当满足条件的时候,进入循环体,不满足条件的时候,则退出循环体)
比如我们要计算100以内所有奇数之和,可以用while循环实现:
sum=0
n=99
whilen>0:
sum=sum+n
n=n–2#这个的目的就是取奇数的同时,还控制循环退出的条件
print(sum)
在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
break
在循环中,break语句可以提前退出循环
例如,本来要循环打印1~100的数字:
n=1
whilen<=100:
print(n)
n=n+1
print('END')
上面的代码可以打印出1~100。
如果要提前结束循环,可以用break语句:
n=1
whilen<=100:
ifn>10:
#当n=11时,条件满足,执行break语句
break#break语句会结束当前循环(即跳出循环,直接到print('END')这句)
print(n)
n=n+1
print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
可见break的作用是提前结束循环。
continue
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
n=0
whilen<10:
n=n+1
print(n)
上面的程序可以打印出1~10。
但是,如果我们想只打印奇数,可以用continue语句跳过某些循环:
n=0
whilen<10:
n=n+1
ifn%2==0:
#如果n是偶数,执行continue语句
continue#continue语句会直接继续下一轮循环,后续的print()语句不会执行,而是向上到n=n+1这句
print(n)
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。
注意:
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。
这两个语句通常都必须配合if语句使用。
不要滥用。
6、使用dict和set
dict
dict全称dictionary,使用键-值(key-value)存储,键值对是一一对应的关系(由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉),具有极快的查找速度,用{}表示
例子:
“名字”-“成绩”的对照表
>>>d={'Michael':
95,'Bob':
75,'Tracy':
85}#初始化,就是刚开始给值
>>>d['Michael']
95
dict添加元素
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
(相当于添加dic的元素)
>>>d['Adam']=67
>>>d['Adam']
67
Q:
如果key不存在,dict就会报错,那么如何避免这种错误?
A:
有两种办法
一是通过in判断key是否存在:
>>>'Thomas'ind
False#false表示不存在
二是通过dict提供的.get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>>d.get('Thomas')
>>>d.get('Thomas',-1)#因为'Thomas'没有,-1是我们自己指定的值,所以最后的结果是我们自己指定的值(如果'Thomas'有的话,则返回它本身有的值)
-1
注意:
返回None的时候Python的交互环境不显示结果
dict删除元素
要删除一个key,用.pop(key)方法,对应的value也会从dict中删除:
>>>d.pop('Bob')
75
>>>d
{'Michael':
95,'Tracy':
85}
dict和list比较:
dict有以下几个特点:
1、查找和插入的速度极快,不会随着key的增加而变慢;
2、需要占用大量的内存,内存浪费多。
而list相反:
1、查找和插入的时间随着元素的增加而增加;
2、占用空间小,浪费内存很少。
注意:
dict的key必须是不可变对象,因此list不可以作为key
set
set和dict类似,也是一组key的集合,但不存储value。
由于key不能重复,所以,在set中,没有重复的key。
(也就是说set中只有key(键),没有value(值))
set的原理和dict一样,所以,同样不可以放入可变对象
要创建一个set,需要提供一个list作为输入集合:
(注意书写)
>>>s=set([1,2,3])
>>>s
{1,2,3}
注意,传入的参数[1,2,3]是一个list,而显示的{1,2,3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。
重复元素在set中自动被过滤:
>>>s=set([1,1,2,2,3,3])
>>>s
{1,2,3}
set元素的添加方法:
.add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
set元素的删除方法:
.remove(key)方法可以删除元素
set的交集并集操作:
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>>s1=set([1,2,3])
>>>s2=set([2,3,4])
>>>s1&s2#&交集的意思就是看有没有相同的元素
{2,3}
>>>s1|s2#并集的意思就是把所有元素并在一起(由于set中重复元素会自动被过滤,所以并起来以后,重复的元素被过滤了)
{1,2,3,4}
可变对象与不可变对象:
可变对象:
就是内部的内容会发生变化的对象,比如:
list
不可变对象:
就是内部的内容不会发生变化的对象,比如:
str
可变对象举例:
list内部的内容是会变化的
>>>a=['c','b','a']
>>>a.sort()#.sort()是一个排序函数,内部已经定义好的
>>>a#经过排序以后,a的内部不再是'c','b','a',而是变成了'a','b','c'
['a','b','c']
不可变对象举例:
比如str
>>>a='abc'
>>>a.replace('a','A')#.replace(元素1,元素2)是替换函数,将元素1的值替换为元素2的值
'Abc'
>>>a#虽然经过了替换,但是由于str是不可变对象,因此内部的值并没有发生改变
'abc
自己试试:
tuple虽然是不变对象,但试试把(1,2,3)和(1,[2,3])放入dict或set中,并解释结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 总结1 总结