开始第二周的学习,白天上班,晚上码字,感受本身萌萌哒,接近年末,事务繁忙,明天又有检查,今天坐了一天的ppt,这感受真的是听酸爽的,mmp的。python
上周,武老师讲的内容还有一点没记录的,先写到这里占个楼。学习
说实话,不知道这个有什么用,先占个楼,后续遇到了,在回来进行修正。优化
记住如下内容,适用于全部的语言,包括C语言:spa
(一)字符串在内存中一旦建立,不可修改;对象
(二)一旦在程序中对建立的字符串进行修改,都会从新建立一个字符串,并写入内存。blog
我大概明白怎么回事,至于有diao用,后续在实践吧。索引
1.索引,用str[n],表示字符串中的第几个字符是啥,在列表,元祖和字典中也适用;事务
2.切片,用str[n:n+j],表示的是字符串中的一段字符是啥,在列表,元祖中使用,字典由于是无序的,不适用于切片(此内容须要完善,后续若是有错,在回来纠正)。内存
其中,n,j都是整数。字符串
用法:对字符串使用索引、切片,[ ]方法,从0开始,指出指定位置的字符是啥。
#索引,下标,获取字符串中的某一个字符 str="我是小果果" v1=str[3] v2=str[0:-1]#-1是从右边开始数第一个数,左闭右开原则 print(v1,v2)#输出 果 我是小果
用法:对字符串使用len()方法,能够获取当前字符串的长度,从0开始.
Python 2中,若是str为中文字符,一个中文字符则占用3个长度。
join和len在列表,元祖中也能够使用。
str="小果果是只小狗" v=len(str) print(v)#输出结果为7
str="小果果是只小狗" for s1 in str: print(s1)#顺序输出str中的字符,自带\n换行。
用法:指定范围,生成指定的数字
在Python3中,由于内存优化机制,在不使用时候,range是不会输出的,好比print(range(1,10))#输出为range(1,10)。
for s1 in range(1,10,2):#括号内的3个参数分别是 最小值、最大值、步长 print(s1)
用法:enumerate在字典上是枚举、列举的意思,
#对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它能够同时得到索引和值。
#enumerate多用于在for循环中获得计数。
str='我是小果果' for index, item in enumerate(str): print(index,item) ''' 输出 0 我 1 是 2 小 3 果 4 果 '''
# 练习:把用户每一个输入的字符,按顺序输出,并在字符前面标注序号。 str=input('请输入任意东西>>>') l=len(str) s=range(l) for i in s: print(i,str[i]) print('============')
代码基本上实现了功能,下面写一写本身的心得:
(1)必定要对for循环有个清醒的认识,for循环若是没有可变的‘东西’(由于涉及的可动的太多,统称东西吧),他是不会运行的,或者说是会报错。因此,for循环+range()组合基本上是最经常使用的组合之一了吧。就是顺序输出的典型。
(2)while语句通常都是须要条件的,和for循环对比,用while语句的思路不太同样,代码以下:
#while循环实现逐个输出: str='小果果一身的狗毛' i=0 while i<len(str): print(str[i]) i+=1
#for循环实现逐个输出: str='小果果一身的狗毛' for i in str: print(i)
区别仍是很明显的,while语句中定义的i,是为了找到一个变化的int来知足其循环条件;而for语句中定义的i,是为了能够乘载它拿出来的数据的一个载体;
因此说,之后对于遇到循环的问题,若是涉及到判断,用while语句,而若是涉及到逐个输出的问题,必定是用for语句。二者生而不一样。