python总结1文档格式.docx
- 文档编号:19371351
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:12
- 大小:38.35KB
python总结1文档格式.docx
《python总结1文档格式.docx》由会员分享,可在线阅读,更多相关《python总结1文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
只要其中有一个为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
中'
20013
chr(66)
B'
chr(25991)
文'
Str和bytes类型可以互相转换
1)把str转化为bytes,在字符串前加一个b,
例如:
x=b'
ABC'
#此时字符串"ABC"变成了字节
2)要把bytes变为str,就需要用decode()方法
b'
.decode('
ascii'
要计算str包含多少个字符,可以用len()函数
格式化
方式一:
%
我们经常会输出类似'
亲爱的xxx你好!
你xx月的话费是xx,余额是xx'
之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
格式化用%实现。
举例如下:
Hello,%s'
%'
world'
#%s表示接收的是字符串,可以看到接收的'
是字符串类型,%是格式化
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)
list列表元素的添加:
方法一:
在列表末尾添加元素
.append(元素)#括号里面为想要添加的元素
方法二:
在列表任意位置添加元素
.insert(i,元素)#i表示位置(索引)
list列表元素的删除:
.pop()#表示取出(删除)列表的最后一个元素
.pop(i)#i表示位置(索引),.pop(i)表示取出(删除)索引为i的元素
list列表元素的替换:
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置
classmates=['
'
Bob'
Tracy'
]
classmates[1]='
Sarah'
classmates
['
2)tuple(元组)
tuple,是用()表示的,它一旦初始化就不能修改
如果要定义一个空的tuple,可以写成():
t=()
t
()
定义只有1个元素的tuple时,必须加一个逗号,来消除歧义:
t=(1,)
(1,)
“可变的”tuple:
tuple嵌套list(所以改变的是list而不是tuple)
t=('
a'
['
])
t[2][0]='
X'
t[2][1]='
Y'
('
4、条件判断
用if语句实现,注意不要少写了冒号:
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
if<
条件判断1>
:
#满足条件1,则执行1
<
执行1>
else:
#除了条件1的情况,则执行2
执行2>
elif<
条件判断2>
#满足条件2,则执行2
条件判断3>
#满足条件3,则执行3
执行3>
#除了上述的条件,其他的情况则执行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语句:
=100:
ifn>
10:
#当n=11时,条件满足,执行break语句
break#break语句会结束当前循环(即跳出循环,直接到print('
)这句)
n=n+1
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
可见break的作用是提前结束循环。
continue
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
n=0
上面的程序可以打印出1~10。
但是,如果我们想只打印奇数,可以用continue语句跳过某些循环:
ifn%2==0:
#如果n是偶数,执行continue语句
continue#continue语句会直接继续下一轮循环,后续的print()语句不会执行,而是向上到n=n+1这句
执行上面的代码可以看到,打印的不再是1~10,而是1,3,5,7,9。
可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。
break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。
这两个语句通常都必须配合if语句使用。
不要滥用。
6、使用dict和set
dict
dict全称dictionary,使用键-值(key-value)存储,键值对是一一对应的关系(由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉),具有极快的查找速度,用{}表示
“名字”-“成绩”的对照表
d={'
95,'
75,'
85}#初始化,就是刚开始给值
d['
95
dict添加元素
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
(相当于添加dic的元素)
Adam'
]=67
67
Q:
如果key不存在,dict就会报错,那么如何避免这种错误?
A:
有两种办法
一是通过in判断key是否存在:
Thomas'
ind
False#false表示不存在
二是通过dict提供的.get()方法,如果key不存在,可以返回None,或者自己指定的value:
d.get('
-1)#因为'
没有,-1是我们自己指定的值,所以最后的结果是我们自己指定的值(如果'
有的话,则返回它本身有的值)
-1
返回None的时候Python的交互环境不显示结果
dict删除元素
要删除一个key,用.pop(key)方法,对应的value也会从dict中删除:
d.pop('
75
d
{'
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])
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'
a.sort()#.sort()是一个排序函数,内部已经定义好的
a#经过排序以后,a的内部不再是'
,而是变成了'
不可变对象举例:
比如str
a='
abc'
a.replace('
)#.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 总结