day17

流程控制之for循环

提供了一种手段,不依赖索引取值

'''
for 变量名(会拿到容器类元素的每一个值,没有了就结束循环) in 容器类元素:
	print(变量名)
'''

for + break

for i in range(50,101,3):  # 顾头不顾尾,2表示步长    
    if i == 53:        
        break  # 中断循环    
    print(i)

for + continue

for i in range(50,101,3):  # 顾头不顾尾,2表示步长
    if i == 53:
        continue  # 跳出本次循环,不执行下面的代码
    print(i)

for + else

for i in range(50,101,3):
    if i == 1000:
        break
    print(i)
else:
    print('如果没有被break终止我就打印')

打印load....

print('Loading', end='')
import time

for i in range(4):
    print('.', end='')
    time.sleep(0.2)

数字类型内置方法

整型 int

作用

年龄/id

定义方式

x = 10

使用方法

+ - * / % // ** < <= > >= == !=

浮点型 float

作用

薪资

定义方式

x = 10.1

使用方法

+ - * / % // ** > >= < <= == !=

字符串内置方法 str

作用

姓名

定义方式

单引号/双引号/三单引号/三双引号

使用方法

索引

s = 'nick handsome'
print(s[1])  # i

索引切片

print(s[0:4]) # 顾头不顾尾
print(s[0:4:2]) # 2表示步长,隔一个取一个
print(1, s[4:0:-1]) # +从左到右,-从右到左
print(1,s[2:]) # 左边的不写取到最右,右边不写的取到最左

for循环

for i in s:
    print(4, i)

成员运算

print('nick' in s)
print('nick1' not in s) # True

strip()

默认去除两端空格,可以指定去除字符,可以同时去掉多个字符

s1 = 'a nick   ****'
print(s1.strip(' kc*')) # 可以乱序,但是不能没有

split()

切割

s2 = 'nick|123658|180|140'
print(s2.split('|'))  # 按照|切割字符串,得到的是一个列表

需要掌握

lstrip&rstrip

s3 = '**nick**'print(s3.lstrip('*'))
print(s3.rstrip('*'))

lower&upper

s3 = 'Nick'
print(s3.lower())  # 小写
print(s3.upper())  # 大写

startswith&endswith

s4 = 'nick handsome'
print(s4.startswith('nick'))  # 以。。。开始
print(s4.endswith('some'))  # 以。。。结束

rsplit

s = 'nick|handsome|180|140|'
print(s.split('|',1))
print(s.rsplit('|',1))  # 从右切割

join

s = 'nick|handsome|180|140'
lt = s.split('|')
print(lt)
print('*'.join(lt))  # 使用*拼接列表内的每一个元素

replace

s = 'nick handsome'
s = s.replace('nick','nick chen')
print(s)

isdigit/isalpha

s = 'a123123'
print(s.isdigit())  # 判断字符串内字符是否都为数字
s = 'askdlfj234'
print(s.isalpha())

了解

find|rfind|index|rindex|count

s = 'nick handsome'
print(s.find('h'))  # 找索引,-1表示没找到
print(s.rfind('h',6,10))
print(s.index('h'))
s = 'aaaaacccc'
print(s.count('a'))

center|ljust|rjust|zfill

s = 'nick'
print(s.center(50,'*')) # 居中
print(s.ljust(50,'*'))
print(s.rjust(50,'*'))s = '111'
print(s.zfill(8))

expandtabs

# \n 换行
# \t 缩进
s = 'a\t\t\t\ta'
print(s)
print(s.expandtabs(18))

captalize|swapcase|title

s = 'nickNick handsome'
print(s.capitalize())  # 首字母大写
print(s.swapcase())
print(s.title())  # 每个单词的首字母大写

列表内置方法

作用

存储多个值

定义方式

[]用逗号隔开多个元素

使用方法

索引取值/索引修改值

lt = [1, 2, 3, 4]
print(lt[1])
lt[1] = 3
print(lt)

切片

print(lt[:])
print(lt[1:2])
print(lt[1:4:2])

for循环

for i in lt:    
    print(i ** 2)

成员运算

print(1 in lt)
print(5 in lt)

len长度

print(len(lt))

append()追加

lt.append(5)
print(lt)

del删除

print(lt)
del lt[0]
print(lt)

需要掌握

insert

lt = [1, 2, 3, 4, 5]
lt.insert(0, 0)  # 往前插入
print(lt)

pop按照索引删除值

lt = [11, 22, 33, 44, 55]
lt.pop(0)
print(lt)

remove:按照值删除值

lt.remove(22)
print(lt)

count:计数

lt = [11, 11, 11, 22]
print(lt.count(11))

index:寻找值的索引

print(lt.index(11))  # 找到了就返回

clear:清空列表

lt = [1, 2, 2, 3]
lt.clear()
print(lt)

copy:拷贝列表

lt = [1, 2, 3, 4]
lt1 = lt.copy()
print(lt1)

extend: 扩展列表

lt1 = [1, 2, 34]
lt2 = [1, 1, 2, ]

lt1.extend(lt2)
print(lt1)

reverse:反转列表

lt = [1, 2, 3, 4]
lt.reverse()
print(lt)

sort

lt = [2, 3, 1, 0, 4]
lt.sort(reverse=True)
print(lt)

有序or无序

有序:有索引就是有序

无序:无索引就是无序

有序类型包括 字符串和列表

无序类型包括 字典

可变or不可变

可变:值变ID不变

不可变:值变ID也变

可变有 列表、字典

不可变有 数字类型、字符串

posted @ 2019-09-15 20:54  Isayama  阅读(126)  评论(0编辑  收藏  举报