Python 基础 二
今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆!
一、先对昨天学习的三大循环的使用情况进行总结:
1.while循环的本质就是让计算机在满足某一条件的前提下去重复做同一件事情(即while循环为条件循环,包含:1.条件计数循环,2条件无限循环)
2.for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)
3.for循环主要有以下特点:
1.for循环为迭代循环;
2.for循环可以遍历序列成员;
3.可以遍历任何可迭代的对象(字典,文件等)
4.遍历序列类型(举例):
name_list=['SB','egon','book','xxx'] #通过序列项迭代 for i in name_list: print(i) #通过序列索引迭代 for i in range(len(name_list)): print('index is %s,name is %s' %(i,name_list[i])) #基于enumerate的项和索引 for i,name in enumerate(name_list,2): print('index is %s,name is %s' %(i,name))
二、对基本数据类型的总结
1.字符串:
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l hf'
2.unicode字符串与r连用必需在r前面,如name=ur'l hf'
2.列表:
定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
特性:
1.可存放多个值
2.可修改指定索引位置对应的值,可变
1.可存放多个值
2.可修改指定索引位置对应的值,可变
3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
3.字典:
定义:{key1:value1,key2:value2},key-value结构,key必须可hash
1.可存放多个值
2.可修改指定key对应的值,可变
3.无序
2.可修改指定key对应的值,可变
3.无序
最后通过一张图来对比一下下:
三、基本数据类型的练习操作
''' #列表练习操作 li = ['牛逼','王八蛋','键盘','鼠标','book','milk'] mn = ['牛逼','book','太挫','鼠标','上山','回家'] #列表的增加 li.append('sb') print(li) li.insert(0,'我就是牛逼') print(li) #列表的修改 (修改就是通过下标index来修改;li[index]= '') li[0] = 'SB' #通过元素赋值实现 print(li) li[2:4] = list('05')#会给2、3索引位置分别赋值 print(li) li[2:5] = 'bkkko'#会将你给的分开一次赋值 print(li) li[2:5] = '中'#只有一个的时候只是替换第一个位置 print(li) li[2:2] = 'asda'#按照字符进行赋值 print(li) #删除操作 print(li) a =li.pop()#默认的情况是删除列表的最后一个元素 print(li,a)#返回值a为删除的元素 li.remove('book')#删除列表中的指定元素 print(li) del li[0] #删除指定下标的元素 print(li) #查找 a = li.index('中')#返回元素在列表中的下标值 print(a) b = li.count('a')#返回元素在列表中出现的次数 print(b) #列表的拼接 c = li.extend(mn)#返回为None print(c) print(li)#拼接后的列表 #列表转化成字符串 (格式化输出可能会用) st1 = ' '.join(li) print(st1) st1 = ';'.join(li) print(st1) st1 = '--'.join(li) print(st1) ''' ''' #字符串练习操作 a='your future will be more successfully' print(a.capitalize())#字符串首字母变大写 print(a.casefold())#将字符串大写变小写 b = a.upper()#将字符串变大写 print(a.upper()) print(b.lower())#将字符串变小写 print(a.index('your'))#找出指定字符对应的下标值 print(len(a))#计算字符串的长度 c = ' as;df;sd;s' print(c.strip())#去掉空格 print(c) print(a.count('o'))#计算所选择的字符串在源字符串出现的次数 d ='sdfds;sdfsf;re;fdgdf' print(d.split(';'))#以特定的符号进行分割字符串,以列表的形式返回。 print(a.startswith('y'))#找出以什么开头的字符元素 print(a.endswith('l')) #找出以什么结尾的字符元素 print(a.islower())#判断是否为小写 print(':'.join(d))#以分号(:)为分隔符链接字符串d #字典练习操作 message ={ 'name':'alex', 'age':58, 'book':{ 'english':55, 'chinese':23, 'janpanese':0.3, }, 'id':[12,13,14,15] } #字典的增加 message['money'] = 23#通过键值对的形式进行增加(message[k1]=value) print(message) message.update({'你就是个傻逼':38}) print(message) #字典的删除 del message['age'] print(message) #字典的修改(修改还是要通过键、值对进行操作) message['age'] = 99 print(message) #字典的查找还是通过键值对来找()一层一层进行定位) print(message['book']) print(message['book']['english']) #字典的拼接 dict2 = {123:'wojiusihniubi,yourbuiness'} message.update(dict2) print(message) ''' ''' #通过for循环来遍历序列类型(列表) name_list = ['egon','SB','sb','WBD'] #通过序列项迭代 for i in name_list:#迭代的形式取出列表中的每一个元素 print(i) #通过序列索引迭代 for i in range(len(name_list)): print('index is %s ,name is %s' %(i,name_list[i]) ) #基于enumerate的项和索引 for i ,name in enumerate(name_list,2): print('index is %s, name is %s' %(i,name)) ''' #通过for循环来遍历序列类型(字典) message ={ 'name':'alex', 'age':58, 'book':{ 'english':55, 'chinese':23, 'janpanese':0.3, }, 'id':[12,13,14,15] } ''' #通过序列项迭代 for i in message:#迭代的形式取出列表中的每一个元素 print(i,message[i]) for k,v in message.items(): print(k,v) print (message.keys()) #用于输出字典中的键 print (message.values())#用于输出字典中的值 '''