Python第二周Round1记录—其他入门知识

开始第二周的学习,白天上班,晚上码字,感觉自己萌萌哒,接近年底,事务繁忙,明天又有检查,今天坐了一天的ppt,这感觉真的是听酸爽的,mmp的。

上周,武老师讲的内容还有一点没记录的,先写到这里占个楼。

一、字符串的内存使用机制

说实话,不知道这个有什么用,先占个楼,后续遇到了,在回来进行修正。

记住以下内容,适用于所有的语言,包括C语言:

(一)字符串在内存中一旦创建,不可修改;

(二)一旦在程序中对创建的字符串进行修改,都会重新创建一个字符串,并写入内存。

我大概明白怎么回事,至于有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()方法

用法:对字符串使用len()方法,可以获取当前字符串的长度,从0开始.

Python 2中,如果str为中文字符,一个中文字符则占用3个长度。

join和len在列表,元祖中也可以使用。

str="小果果是只小狗"
v=len(str)
print(v)#输出结果为7

  

(三)for循环语句

用法:按照顺序循环可迭代对象中的内容,break、continue、pass等语句也可以在for循环中使用。
Python中的两种循环,while和for,区别是:while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环。
str="小果果是只小狗"
for s1 in str:
    print(s1)#顺序输出str中的字符,自带
换行。

  

(四)range()语句

用法:指定范围,生成指定的数字

在Python3中,因为内存优化机制,在不使用时候,range是不会输出的,比如print(range(1,10))#输出为range(1,10)。

for s1 in range(1,10,2):#括号内的3个参数分别是 最小值、最大值、步长
    print(s1)

  

(五)enumerate()

用法: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语句。两者生而不同。


字符串是 %s
整数 %d
浮点数%f 
 
原文地址:https://www.cnblogs.com/cnafzyx/p/10134243.html