Python基础知识学习(三)

1. 循环

     昨天我们写过简单的for循环,它是循环的典型之一,今天我们要学习循环中的另一个典型,它就是while循环。以下是个while循环的示例:

index = 1
while index < 10:
    index += 1
    if index == 4:
        # continue
        # break
        pass
    print(index)

      难看出,while循环就是while + 条件语句 + 循环体构成的。它与for循环有着明显的区别:

      1. for循环重点在于控制循环次数,而while循环重点在于循环条件,只要条件为真就可以一直循环。

      2. for循环能做的事情,while循环都能做,反之则不一定。

      3. 绝大部分情况下,我们使用for循环,因为while循环使用时一个疏忽就容易出现死循环的情况。

     在使用while循环时,break 可以跳出循环,后面的循环都不再执行,continue 则表示当次循环不执行,后面的继续执行,pass则表示当前位置没有东西可写,用pass进行占位可以防止代码报错,它本身没有任何意义。

2. 占位符操作

      %s在其他语言代表字符串的占位符,但是在Python中代表所有类型的占位符,可以用来装各种类型的数据,但是Python中各数据类型也有自己专属的占位符。比如:

      1. %d 整数 ,%.nd 保留n位整数,如果位数不够,用0补齐。

      2. %f 默认保留小数点后六位小数 ,%.nf 保留小数点后n为小数(注意:当保留小数位数太多时会造成精度丢失,因为计算机无法表示这么多位)。

      下面用一个小程序来体现以下这些常见的占位符的作用:

name = '张三'
age = 17
height = 1.78
print('我的名字是:%s\n我的年龄是:%s\n我的身高是:%s' % (name, age, height))
info = '我的年龄是%d岁' % age
print(info)
info = '我的年龄是%.3d岁' % age
print(info)
info = '我的年龄是%.6d岁' % age
print(info)
info = '我的身高是%f米' % height
print(info)
info = '我的身高是%.2f米' % height
print(info)

       运行结果为:

我的名字是:张三
我的年龄是:17
我的身高是:1.78
我的年龄是17岁
我的年龄是017岁
我的年龄是000017岁
我的身高是1.780000米
我的身高是1.78米
Process finished with exit code 0

3. 字符串操作

       1. 切片操作:可以获取指定内容 ,形式为print(info[a :b]) ,值a:开始位置(包括该位置),值b:结束位置(不包括该位置),注意:当范围超出边界的时候,直接获取从指定位置到字符串结束的部分;若值b为空时,默认获取从指定位置到结束位置的内容;若值a为空,值b为-n时,则表示获取从倒数第n个字符开始倒序截取字符串;若值a和b都为空时,则表示获取字符串全部内容。举个例子:

info = '今天是星期四 我想去游泳'
print(info[3:5])

        2.查找操作:find('') 从字符串中查找需要的内容,若存在,则返回0,若不存在,则返回-1。举个例子:

content = '张三李四王二麻子'
result = content.find('张三')
print(result)

content = '张三李四王二麻子'
result = content.find('小王')
print(result)

        也可以通过index查找想要的内容,若存在,得到的是内容对赢得索引值:如下

info = '好好学习,天天向上'
# 在整个 info 字符串范围内找
result = info.index('学习')
# 在索引值 1-7 内找
result = info.index('学习', 1, 7)
print(result)

        3. 统计操作: count('') 得到的是目标子元素在字符串中的的个数

info = '张三李四王五赵六'
result = info.count('张三')
print(result)

        4. 替换操作:replace('a','b') 将a值替换为b

info = '程序员,设计师,工程师'
info = info.replace(',','/')
print(info)

        5. 分割操作:split('X')  以"X"为分界线 将字符串进行分隔

url = 'http://www.baidu.com/image.jpg'
print(url[21:])
result = url.split('/')
print(result)

      6.还有一些简单常用的操作,如:capitalize()首字母大写,title()全部单词首字母大写,startswith() 以.......开头,endswith() 以.......结尾,lower()全部字母变小写,upper()全部字母变大写。通过一个小程序训练一下:

要求:将code = "selectLine.style.transform = 'rotate(' +  (selectLine.angel + 360 / allNames.length ) + 'deg)"中以s开头的单词筛选出来
code = "selectLine.style.transform = 'rotate(' +  (selectLine.angel + 360 / allNames.length ) + 'deg)"
result = code.replace('(', '.')
result = result.split('.')
for x in range(len(result)):
    if result[x].startswith('s'):
        print(result[x])

4. 列表

       列表是什么?简单来说,我们可以把列表看成装数据的容器,它里面可以装各种类型的数据,也能装比它小的容器,列表有两种声明方式,它们是 list1 = [ ] 和 list2 = list()。可以写成这样list3 = ['hello', 'True', 17, 3.14],也能这么写list4 = [['hello'], [17], [True]]。列表的使用,通常离不开一下常用的基本操作:

       1. 追加操作:append('a')  将a追加,添加进列表中, 默认添加在最后一位。

       2. 插入操作:insert('a', 'b') 插入   值a: 插入的位置     值b: 插入的内容,如果超出了列表的长度,那么就插入到最后一位。

       3. 按内容删除操作:remove('a') 默认将列表里的元素从左往右删除a元素,一次只能删除一个,优先删除左边的。

       4. 按索引值删除操作:pop(n) 删除索引值为n的元素,不写n的值也就是索引值则默认删除最后一个。

当我们需要获取列表操作是,就需要用到一下几点:

       1. list[a:b]   值a:开始位置(包括该位置)   值b:结束位置(不包括该位置)。

       2. list[a:b:c]   值a:开始位置(包括该位置)   值b:结束位置(不包括该位置) 值c:增量。

       3. list[::-1] 倒序  list[::n]   增量为n  list[a::b]  从索引为a的位置开始,增量为b

当我们需要获取列表的每个元素时,可以借鉴以下代码:

for x in list:
    print(x)

for x, y in list:
    print(x)

猜你喜欢

转载自blog.csdn.net/qq_35866413/article/details/80849119
今日推荐