python浅谈(一)犹抱琵琶半遮面
继浅谈(零)初识庐山真面目【https://blog.csdn.net/HarryOtter/article/details/90519877 】 之后,终于窥得 ‘ python女神 ’一丝曼妙的轮廓,然鹅我的目的不止于此(手动滑稽),这次就让我们进一步探秘咱们的 ‘ python女神 ’ 吧(づ ̄3 ̄)づ╭❤~
NUM6.列表
(0) 概念描述:
0. 列表:需要用 ‘ [ ] ’ 将各种数据元素框起来,并且其中的元素要用英文逗号隔开
e.g:
surprise = [ '小猪' ,'芦荟','包子' ,'章鱼' ]
- 上述就是代码的一种标准格式
- [ ‘小猪’ ,‘芦荟’,‘包子’ ,‘章鱼’ ]就是一个名为 surprise 的列表
- surprise 列表里面有四个数据元素 :‘小猪’ ‘芦荟’ ‘包子’ ‘章鱼’
注意 :列表具有包容性,能够同时包容各种数据类型(整数、浮点数、字符串)
e.g:
cute = [ '小猪' , 20 , 1.65 ]
1. 偏移量:列表中的元素都是有序排列的,每个元素按序的编号就是该元素的偏移量
注意:
- 偏移量是从 0 开始的,而不是 1
- 列表名后加带偏移量的 [ ]
e.g:
infor = [ ' 醉里拈花 ' , 21 , 1.59 ]
infor [0] = ' 醉里拈花 '
infor [1] = 21
infor [2] = 1.59
(1) 操作:
0. 打印:
e.g:
infor = [ '醉里拈花' , 21 , 1.59 ]
print (infor)
----------------------------------------> ' 醉里拈花 ' , 21 , 1.59
1. 提取(从列表):从列表中提取单个/多个数据元素
- <1> 提取单个元素
e.g:
infor = [ '醉里拈花' , 21 , 1.59 ]
print( infor[0] )
------------------------------------------> ' 醉里拈花 '
- <2> 提取多个元素
e.g:
list = [ 5, 6, 7, 8, 9 ]
print( list [ : ] ) ---------------> 5, 6, 7, 8, 9
print( list [2 :] ) ---------------> 7, 8, 9
print( list [: 2] ) ---------------> 5, 6
print( list [1:3] ) ---------------> 6, 7
print(list [2:4] ) ---------------> 7, 8
注意:
- 方括号左边取得到,右边取到数字的左边一位;
- 遇到空的,取到头
2. 删除(从列表):从列表中删除单个/多个数据元素
e.g:
list = [ 5, 6, 7, 8, 9 ]
del list [ 0 ] -------------------------------> 6, 7, 8, 9
list = [ 章鱼 , 包子 , 老大 , 芦荟 ]
del list [ 1:3 ] ------------------------------>章鱼 , 芦荟
- 删除单个数据元素遵循从零开始的法则
- 可以删除单个或多个(类似于切片的原理)
- 删除时仍遵循 “ 左取右不取” 的口诀
3. 增加 (从列表):用 append ( ) 函数来给字典进行增补数据元素
e.g:
list = [ 1 , 2 ]
list . append (3)
注意:
<1> : append( )函数只能接收一个参数(一个单位的数据元素)
e.g:
list = [ 1 , 2 ]
list . append ( 3 , 4 )
------------------------------------------------------
TypeError: append() takes exactly one argument (2 given)
- append( )函数只能接受一个参数,但是()里 却有两个参数:4,5
<2> : 列表支持内部嵌套 ( 只要满足数量单一,单个列表也可以视作为一个元素 )
list = [ 1 , 2 , 3 ]
list . append ( [ 3 , 4 ] ) --------------------> [1, 2, 3, [4, 5] ]
<3> : append 后的元素会添加在数据的末尾
NUM7.字典
(0) 概念描述:由键值对(唯一的一个键和对应的值形成的组合)组成的数据类型
e.g:
weight = { '章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
- ‘章鱼’ : 75 就是一个键值对,其中’章鱼’是 键(key),75 是值(value)
注意 :
0. 字典里的键具有唯一性,而值可以重复
(1) 操作 :
0.从字典中提取元素
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
print ( weight [ ' 老大 ' ] ) ----------------------------> 65
- 字典通过键来索引值,区别于列表通过偏移量索引值
1.从字典中增加元素
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
weight [ ' 黑米烧麦 ' ] = 45
print (weight) ---> {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 ,' 黑米烧麦 ' : 45 }
- 新增字典元素要用到赋值语句
- 代码结构公式:字典名[键]=值
2.从字典中删除元素
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
del weight ['章鱼']
print ( weight ) -------> {'包子' :54 ,'老大' :65 , '芦荟' :47 }
- 删除字典元素要删除该字典元素的主键
- 代码结构公式:字典名[键]=值
NUM8.列表与字典的异同:
(0) 不同点 :
0.列表是有顺序排列的,而字典里的数据是随机的
e.g:
surprise1= [ '小猪' ,'芦荟' ,'包子' ,'章鱼' ]
surprise2= [ '芦荟' ,'小猪' ,'章鱼' ,'包子' ]
print (surprise1 == surprise2) --------------------------------> False
- 列表中的元素有自己明确的位置,即使元素一样,元素所处的位置不一样,则也不是同一个列表
e.g:
weight1 = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
weight2 = {'包子' :54 ,'章鱼' :75 , '芦荟' :47 ,'老大' :65 }
print (weight1 == weight2) --------------------------------------> True
- 调动字典中的数据顺序不影响字典本身
1.列表取值依靠的是偏移量,而字典取值依靠的是键
(1) 共同点 :
0. 字典和列表都可以通过赋值语句来修改其中的元素
注意:修改元素就是用新的元素来代替要更替的元素(不同于增加元素)
e.g:
surprise = [ '小猪' ,'芦荟' ,'包子' ,'章鱼' ]
surprise = [ '黑米烧麦' ]
print ( surprise ) -------------> '黑米烧麦'
e.g:
weight = {'章鱼' :75 ,'包子' :54 ,'老大' :65 , '芦荟' :47 }
weight ['章鱼'] = 70
print ( weight ) ------------------>'章鱼' :70 ,'包子' :54 ,'老大' :65 , '芦荟' :47
注意:
- 需要修改的元素的主键不能写错(如:少空格、少标点都会导致程序识别成增加命令)
- 修改字典中的元素直接修改元素的主键
1.字典和列表都支持任意嵌套(即:字典可以嵌套字典和列表,列表也可以嵌套字典和列表)
<.0.>:列表嵌套列表
e.g: 从嵌套列表中取出元素
surprise = [ [ '小猪' ,'芦荟' ],['包子' ,'章鱼' ]]
print (surprise[0][0]) ------------------------> '小猪'
注意:大嵌套内的列表之间不要忘记加逗号
<.1.>: 字典嵌套字典
e.g:从嵌套字典中取出元素
weight = {
'第一队': {'章鱼' :75 ,'包子' :54 }
'第二队': {'老大' :65 ,'芦荟' :47 }
}
print (['第一队']['老大']) ---------------------------------------> 65
<.2.>: 列表嵌套字典
e.g:从“列字”嵌套中取出元素
weight = [ {'章鱼' :75 ,'包子' :54 } ,
{'老大' :65 ,'芦荟' :47 }
]
print (weight[1]['老大']) ------------------------------------->65
- 最外面是中括号,里面是大括号,所以是列表嵌套字典
- {‘章鱼’ :75 ,‘包子’ :54 } 、{‘老大’ :65 ,‘芦荟’ :47 } 既是列表的元素,也是列表嵌套的两个字典
- 利用列表的偏移量来区别两个字典(本质)
<.3.>: 字典中嵌套列表
e.g:从“字列”嵌套中取出元素
surprise = {
'第一队':['包子' ,'章鱼' ] ,
'第二队':['小猪' ,'芦荟']
}
print(students['第一队'][0]) ---------------------> '包子'
- 最外面是大括号里面是中括号,所以是字典嵌套列表
- “键”分别是:‘第一队’ 、‘第二队’
- [‘包子’ ,‘章鱼’ ]、[‘小猪’ ,‘芦荟’] 既是字典的键所对应的值,也是字典所嵌套的两个列表
- 利用字典的键来区别两个列表(本质)
NUM9.循环
(0) 概念描述:把一件事情执行很多遍
- 原理:代码中的【循环语句】,能够让计算机重复地、自动地执行指令
(1)循环语句:
0. for…in…循环语句(简称for循环)
<.0.> 结构:

-
形象化的翻译(代码结构):i 依次代表了列表中的每个元素
-
列表中的元素是需要被执行的数据
-
执行语句的结果就是依次打印出 i 元素的运算结果
类比---------->办理业务:

注意:空房间、一群等待办业务的人、业务流程 是for循环的3个要点
<.1.> 变量元素【item】(空房间):
-
每一个变量都需要一个名字,即 “变量名”
-
“变量名” 没有固定的指定 ,因为英文是item ,所以常用 i 来作为
-
当房子里的所有变量打印出来之后,继续打印的i为最后一个元素
e.g :for i in ['小猪' ,'芦荟','包子' ,'章鱼']: print ( i ) print (i) --------------->小猪 芦荟 包子 章鱼 章鱼
注意:
0. for循环后面要跟冒号 “ :”
1. 列表后的 in 也可以接字典
e.g :
baozi = { '包子': '章鱼' , '老大':'芦荟' }
for i in baozi :
print (i) ---------------------------> 包子 老大
- 字典循环打印出字典中的每一个键
<.2.> 循环对象(一群排队等业务的人)
- 单独的字符串也属于"一群排队等业务的人"
e.g :
baozi = '老大'
for i in baozi :
print (i) --------------------> 老大
-
单独的整数、浮点数不属于,不可以参加循环
-
for循环的实质 是一种 遍历数据结构 的行为
遍历:从第一个元素开始,依次循环完成所有的元素的过程,在python中就叫遍历。 -
除了遍历 字符串、字典、列表,还可以遍历其他数据集合
range()函数经常与 for循环搭配使用
e.g :for i in range (3) : print (i) ----------------------> 0 1 2 -
range (x) 即是生成 一个从0到 x-1的整数序列 (适用于:将某一指令重复x遍)
for i in range (3): print('卿本奈何最可爱(*╹▽╹*)') ------------> 本奈何最可爱(*╹▽╹*) 卿本奈何最可爱(*╹▽╹*) 卿本奈何最可爱(*╹▽╹*) -
range (a,b) 即是生成一个从a到b-1【取头不取尾】的整数序列(适用于:指令中含有变化的整数)
e.g :for i in range (0,5): print (i) ------------------------> 0 1 2 3 4e.g :
for i in range(1,4): print('卿本奈何不在的第'+'str(i)'+'天,想她~') ---------------> 卿本奈何不在的第一天,想她~ 卿本奈何不在的第二天,想她~ 卿本奈何不在的第三天,想她~ -
range(a,b,c) 即是生成一个取从a到b-1间隔为c个的整数序列
e.g :for i in range (0,5,2): print (i) ------------------------> 0 2 4
<.3.> for 循环子句 (办事流程)
- 办事流程即是 for循环的子句 ,冒号后转行写的命令
- 因为和for循环的主句构成从属关系,不要忘记缩进
1. while 循环语句
<.0.> 结构 :

- 形象化的翻译(代码结构):先定义一个变量a ,并赋上初值 0
- 当变量满足 while 语句的“通关条件”时,变量a执行赋值语句
- 打印出赋值后变量的值,直到变量不满足 while 语句的条件,则该循环结束
类比按流程办事

注意: 放行条件和办事流程是 while 循环的两个要点
<.1.> while 语句条件(放行条件)
-
和 for 循环一样,while后面要跟冒号;while 的子句要有缩进

-
while 在英语中是 “当…时侯” , 即是:当满足判别条件时,执行下面的子句命令
-
类比哨卡:当条件符合(a<5)的时候,放行并执行下面的语句(a=a+1 print(a) ),一直符合条件一直执行;一旦条件不符合,就终止循环
<.2.> while 语句子句(办事流程) -
当while语句满足判别条件的时候,执行语句子句
-
注意:缩进后的while子句才属于办事流程
e.g :b = 8 while b > 5 : b = b -1 print (b) ---------------------> 7 6 5此时print()算是办事流程的一部分
e.g :c = 0 while c < 5: c= c+1 print (c) ------------------------->5
(2) for 循环与 while 循环对比
0. 适用场合:for循环 在工作量确定(大概知道要循环多少遍)的情况下适用;while 循环在工作量不确定(循环的次数是随机的、不固定的)的情况下适用
e.g :
把 ‘醉里拈花’ 依次打印出来:
for i in ['醉','里','拈','花'] :
print (i)
------------------------------------------->醉 里 拈 花
e.g :
进入房间的密码是 ‘醉里拈花’ ,只有输入正确才能进入房间
password = ''
while password !='醉里拈花' :
password = input ('请输入进入房间的密码(只有正确的密码才能进入房间):\n')
print ('您输入的密码正确,欢迎小主人回来!!!')
---------------------------------------------------------------->
请输入进入房间的密码(只有正确的密码才能进入房间):
zuili
请输入进入房间的密码(只有正确的密码才能进入房间):
醉里拈花
您输入的密码正确,欢迎小主人回来!!!
对于把一件重复 n遍,原则上:既可以用 for循环,也可以用 while 循环 ,相对来说:for循环更加简洁一点
1. 总结:

(3) 布尔值:用数据做判断
0. 概念:计算机逻辑判断的结果(只有两种:“真”、“假”)就是布尔值,而这个逻辑判断的过程就是“布尔运算”
e.g :
print (3>5) -------------> False
print (8>2) -------------> True
print ('金陵'=='金陵') -----------> True
print ('金陵' !='长安') -----------> True
1.条件判断中的应用:if、while 的判断条件为真的时候,才会执行循环语句
e.g :
while False:
print('while False') ------------------> 什么都不会出现
当条件判断为假时,就永远不会执行循环,因此永远不会打印出语句;相反地,当条件判断永远为真的时候,就永远的打印出语句,需要手动强制退出
2. 总结

(4) 布尔运算的三种方式
0. 两个数值作比较:
类似于前面while(3>5)中,3>5的判断

注意:= 和 = = 要区分开来, = = 表示相等,= 表示赋值语句
1. 直接用数值做运算:
e.g:
if 5 :
print ('醉里拈花') -----------> 醉里拈花
这里直接将单纯一个整数当作一个判断条件
类似的,python中将一些数据的值固定的设置为TRUE,FALSE:

注意:None 是指NoneType 类型,是空值;并不等于整数 0,整数0 也并非什么都没有
2. 布尔值之间的各种运算
<.0.> : ’ and ’ 运算 :当两个条件都为真的时候,才能判断为真
<.1.> : ’ or ’ 运算 :当满足一个条件为真的时候,就能判断为真
<.2.> : ’ not ’ 运算:表示翻转,当条件为真时,判断结果就是假
<.3.> : ‘ not in ’ 运算:与 in 运算相反
<.4.> : ’ in ’ 运算:判断元素存不存在列表、字典之中
e.g : 在列表中判断
list1 =['醉','里','拈','花']
print (bool('醉' in list1)) ---------->True
list1 =['醉''里''拈''花']
print (bool('醉' in list1)) -------------->False
注意:不加逗号隔开时,这四个字其实代表一个字符串,是一个整体;“醉”不等于一个整体,因此报错
e.g : 在字典中判断
dict1={'醉':'醉卧沙场君莫笑','花':'云想衣裳花想容'}
c='花'
print(bool(c in dict1)) ---------> True
3. 三种方式对比总结



(5) 四种可以与while、for循环搭配的语句
0. break 语句:用来结束循环
e.g : if … : break ( 当满足if 条件时,就提前停止循环)

注意:if … : break ,属于内部循环,只能用于循环内部
e.g:
while 1:
print('一生一世一双人')
q=input("'醉里拈花'和'assassin'还可以牵手吗?\n")
if q=='不可以':
break
print('一别两宽,各自江湖')
------------------------------------ 运行过程--------------------------
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
可以
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
好
一生一世一双人
'醉里拈花'和'assassin'还可以牵手吗?
不可以
一别两宽,各自江湖
- break 结束内部循环,然后开始外部的命令
- break 属于 if 的子命令,break单独成行,也是要有缩进的
1. continue 语句 : 用来跳过循环
e.g: if… : continue (当某个条件满足时,执行continue,则跳过后面的循环,直接回到循环的开始)

注意:if … : continue 是内循环,只能用在循环内部
e.g :
while 1:
q1=input('醉里拈花想考哪所大学?')
if q1!='上海交通大学':
continue
q2=input('醉里拈花的老大外号叫啥?')
if q2!='豆沙包':
continue
q3=input('醉里拈花的前男友姓啥?')
if q3=='徐':
break
print('恭喜你,通过测试,你是醉里拈花的铁杆哥们儿*o*')
---------
------------------------------------------------------------
------------------------------运行过程--------------------------------
---------------------------------------------------------------------
醉里拈花想考哪所大学?南京理工大学
醉里拈花想考哪所大学?上海交通大学
醉里拈花的老大外号叫啥?小猪
醉里拈花想考哪所大学?上海交通大学
醉里拈花的老大外号叫啥?豆沙包
醉里拈花的前男友姓啥?徐
恭喜你,通过测试,你是醉里拈花的铁杆哥们儿*o*
- 当某个条件为真时,continue回到循环的开始,并不运行下面的代码
2. pass语句:跳过
e.g : if … pass
name = input('请输入博主的名字:')
if name ='醉里拈花'
pass
else:
print('请重新输入!!!')
- 如果不写 pass ,该语句会报错
3. else 语句:
e.g: 在for 循环中
for i in range(3):
a=int(input('请输入0来结束循环,你有三次机会'))
if a == 0:
print('您输入的是0,循环已经被终止了')
break
else :
print('三次机会已经用完')
--------------------------------运行过程--------------------------------
请输入0来结束循环,你有三次机会3
请输入0来结束循环,你有三次机会0
您输入的是0,循环已经被终止了
- 当循环中没有碰到break,就执行与循环并列的 else语句
eg :在while循环中也一样

- 注意: 此时,else跟while对齐,并不跟if对齐
4. 总结四种常用于循环的语句

本文是Python入门系列的第一篇,主要介绍了列表和字典的概念及操作,包括创建、提取、删除和增加元素。此外,还讨论了列表与字典的区别与共同点,并探讨了循环的基本概念,包括for和while循环的用法以及循环控制语句如break和continue。
犹抱琵琶半遮面&spm=1001.2101.3001.5002&articleId=92099718&d=1&t=3&u=ba21bf35039c4a278fc57a86959e76e1)
1159

被折叠的 条评论
为什么被折叠?



