7.5 range
range 可以生成数字供 for 循环遍历 , 它可以传递三个参数,分别表示 起始、结束和步长。
8. 数据类型高级
8.1 字符串高级
字符串的常见操作包括:
获取长度 :len len 函数可以获取字符串的长度。
查找内容 :find 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次
出现的开始位置索引值,如果不存在,则返回 -1.
for s in "hello" :
print ( s )
for i in range ( 5 ):
print ( i )
>>> range ( 2 , 10 , 3 )
[ 2 , 5 , 8 ]
>>> for x in range ( 2 , 10 , 3 ):
... print ( x )
...
2
5
8 判断 :startswith,endswith 判断字符串是不是以谁谁谁开头 / 结尾
计算出现次数 :count 返回 str 在 start 和 end 之间 在 mystr 里面出现的次数
替换内容 :replace 替换字符串中指定的内容,如果指定次数 count ,则替换不会超过 count 次。
切割字符串 :split 通过参数的内容切割字符串
修改大小写 :upper,lower 将字符串中的大小写互换
空格处理 :strip 去空格
字符串拼接 :join 字符串拼接
8.2 列表高级
列表的增删改查
添加元素
添加元素有一下几个方法 :
append 在末尾添加元素
insert 在指定位置插入元素
extend 合并两个列表
append
append 会把新元素添加到列表末尾
查找元素
所谓的查找,就是看看指定的元素是否存在,主要包含一下几个方法:
in 和 not in
in, not in
python 中查找的常用方法为:
in (存在) , 如果存在那么结果为 true ,否则为 false
not in (不存在),如果不存在那么结果为 true ,否则 false
a = 3
b = 2# print(a + b)
#
# print(a - b)
#
# print(a * b)
#
# print(a / b)
# # 取整
# print(a // b)
# # 取余
# print(a % b)
# # 指数 幂
# print(a ** b)
#
# print((5 + 1) * 2)# 扩展
# 字符串的加法 是进行拼接的
# a = '123'
# b = '456'
# print(a + b)# 在python中 +两端都是字符串才可以进行加法运算
# a = '123'
# b = 456
# # print(a + b)
# print(a + str(b))# 字符串的乘法 是将字符串重复多少次
a = '我爱你 你爱我 蜜雪冰城甜蜜蜜'
print(a * 3)a = 10
print(a)b = c = 20
print(b)
print(c)# 多个变量赋值(使用逗号分隔)
d,e,f = 1,2,3
print(d)
print(e)
print(f)a = 1
# a加上一个2 打印结果
# a = a + 2
# print(a)a += 2 # a = a + 2
print(a)b = 1
# b 乘以一个3 打印结果
# b = b * 3
# print(b)b *= 3 # b = b * 3
print(b)c = 2
# c 减去一个1 打印结果
# c = c - 1
# print(c)c -= 1 # c = c - 1
print(c)d = 3# d 除以一个2 打印结果
# d = d / 2
# print(d)d /= 2 # d = d / 2
print(d)e = 3# e 整除一个2 打印结果
# e = e // 2
# print(e)e //= 2 # e = e // 2
print(e)# % 取余 取模 模余
f = 3
# f 对5来取余数 打印结果
# f = f % 5
# print(f)f %= 5 # f = f % 5
print(f)g = 5# 求一下5的3次幂
# g = g ** 3
# print(g)g **= 3 # g = g ** 3
print(g)# += -+ *= /= //= %= **=# 比较运算符返回的都是boolean类型的数据# == 恒等 判断==两边的变量是否是一致
# a = 10
# b = 10
# print(a == b)# != 不等 判断!=两边的变量是否不一致
# a = 10
# b = 10
# print(a != b)
# 扩展:<> python2版本使用 python3 遗弃
# print(10 <> 20)# > 大于
print(10 > 20)
print(10 > 5)# >= 大于等于
print(10 >= 10)
print(10 >= 5)
print(10 >= 20)# < 小于
print(10 < 20)
print(10 < 5)# <= 小于等于
print(10 <= 10)
print(10 <= 20)# 比较运算符 == != > >= < <=# 逻辑运算符 and 与 or 或 not 非# and 与
# and两边的数据 必须全部都是true的时候 才会返回true 只要有一端返回的是false 那么就返回false
# and两端都是false的时候 返回的是false
print(10 > 20 and 10 > 11)
# and一端是true 一端是false 返回的是false
print(10 > 5 and 10 >11)
# and一端返回的是false 一端返回的是true 返回的是false
print(10 > 11 and 10 > 5)
# and 两端返回的都是true则返回的是的true
print(10 > 5 and 10 > 6)# or 或者
# or的两端只要有一端是true 那么结果就是true
# or的两端都是false 则返回的是false
print(10 > 20 or 10 > 21)
# or的两端前面的是true 后面的是false 那么返回的是true
print(10 > 5 or 10 > 20)
# or的两端 前面的是false 后面的是true 那么返回的是true
print(10 > 20 or 10 > 5)
# or的两端都是true 那么返回的是true
print(10 > 5 or 10 > 6)# not 非 取反
print(not True)
print(not False)
print(not (10 > 20))# and的性能优化
# a = 36
# a > 10 and print('hello world')
# and的性能优化 当and前面的结果是false的情况下 那么后面的代码就不再执行了
# a < 10 and print('hello world')# or的性能优化
# or 只要有一方为true 那么结果就是true
a = 38# a > 39 or print('你好世界')
a > 37 or print('你好 世界')# and 短路与
# or 短路或# 普通输出
print('故事里的小黄花,从出生那年就飘着')# 格式化输出
# scrapy框架的时候 excel文件 mysql redis
age = 18
name = '红浪漫晶哥'# %s 代表的是字符串 %d 代表的是数值
print('我的名字是%s,我的年龄是%d' % (name,age))# password = input('请输入您的银行卡密码')
# print('我的密码是:%s' % password)name = input('请输入您的名字')
print('我的名字是:%s' % name)print('你可以开车了')# if关键字的语句结构
# if 判断条件:
# 代码(如果判断条件为true的时候执行if下面的内容)age = 17# 吉多 abc语言
# 如果您的年龄大于18了 那么你就可以开车了
if age > 18:print('你可以开车了')# True代表的是男 False代表的是女
gender = Trueif gender == True:# if下面的代码 必须是一个tab键 或者四个空格print('你是一个男性')# 在控制台上输入一个年龄 如果您的年龄大于18了 那么打印可以去网吧了# input返回的是字符串类型
age = input('请输入您的年龄')# 字符串和整数int是不可以比较的
if int(age) > 18:print('您成年了,可以去网吧了')# 案例中考察了三个知识点
# (1) 控制台输入
# (2) 强制类型转换
# (3) int和str是不能比较的# ifelse的语法
# if 判断条件:
# 判断条件为true的时候执行的代码
# else:
# 判断条件为false的时候执行的代码age = 17if age > 18:print('你可以去网吧了')
else:print('回家写作业去吧')# 在控制台上输入一个年龄 如果您的年龄大于18了 那么输出 欢迎光临红浪漫 男宾一位
# 否则那么输出 回家洗洗睡age = int(input('请输入您的年龄'))if age > 18:print('欢迎光临红浪漫,男宾一位')
else:print('洗洗睡吧')# 在控制台上输入您的成绩分数
# 如果你考了90以上 成绩为优秀
# 如果你考了80以上 成绩为良好
# 如果你考了70以上 成绩为中等
# 如果你考了60以上 成绩为合格
# 否则 成绩为不合格# score = int(input('请输入您的分数'))# if score >= 90:
# print('优秀')
# if score >= 80:
# print('良好')
# if score >= 70:
# print('中等')
# if score >= 60:
# print('及格')
# if score < 60:
# print('不及格')# elif
score = int(input('请输入您的成绩'))if score >= 90:print('优秀')
elif score >= 80:print('良好')
elif score >= 70:print('中等')
elif score >= 60:print('及格')
else:print('不及格')# 循环字符串
# range(5)
# range(1,6)
# range(1,10,3)
# 循环一个列表# 一个一个的输出 叫做循环 也叫做遍历
# for
# 格式: for 变量 in 要遍历的数据:
# 方法体# 循环字符串
# s = 'china'
# i是字符串中一个又一个的字符的变量
# s是代表的是要遍历的数据
# for i in s:
# print(i)# range(5)
# range方法的结果 一个可以遍历的对象
# range(5) 0~4 左闭右开区间(0,5)
# for i in range(5):
# print(i)# range(1,6)
# range(起始值,结束值)
# 左闭右开区间
# for i in range(1,6):
# print(i)# range(1,10,3)
# range(起始值,结束值,步长)
# 1 4 7 10
# 左闭右开区间
# for i in range(1,11,3):
# print(i)# 应用场景 会爬取一个列表返回给我们
# 循环一个列表
a_list = ['周杰伦','林俊杰','陶喆','庞龙']# 遍历列表中的元素
# for i in a_list:
# print(i)# 遍历列表中的下标# 判断列表中的元素的个数
# print(len(a_list))
# 0 1 2
for i in range(len(a_list)):print(i)# - 获取长度:len len函数可以获取字符串的长度。
# - 查找内容:find 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.
# - 判断:startswith,endswith 判断字符串是不是以谁谁谁开头/结尾
# - 计算出现次数:count 返回 str在start和end之间 在 mystr里面出现的次数
# - 替换内容:replace 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
# - 切割字符串:split 通过参数的内容切割字符串
# - 修改大小写:upper,lower 将字符串中的大小写互换
# - 空格处理:strip 去空格
# - 字符串拼接:join 字符串拼接# len length的缩写 长度
s = 'china'
print(len(s))s1 = 'china'
print(s1.find('a'))s2 = 'china'
print(s2.startswith('h'))
print(s2.endswith('n'))s3 = 'aaabb'
print(s3.count('b'))s4 = 'cccdd'
print(s4.replace('c','d'))s5 = '1#2#3#4'
print(s5.split('#'))s6 = 'china'
print(s6.upper())s7 = 'CHINA'
print(s7.lower())s8 = ' a '
print(len(s8))print(len(s8.strip()))s9 = 'a'
print(s9.join('hello'))# append 追加 在列表的最后来添加一个对象/数据
food_list = ['铁锅炖大鹅','酸菜五花肉']
print(food_list)food_list.append('小鸡炖蘑菇')
print(food_list)# insert 插入
char_list = ['a','c','d']
print(char_list)
# index的值就是你想插入数据的那个下标
char_list.insert(1,'b')
print(char_list)# extend
num_list = [1,2,3]
num1_list = [4,5,6]num_list.extend(num1_list)
print(num_list)city_list = ['北京','上海','深圳','武汉','西安']print(city_list)# 将列表中的元素的值修改
# 可以通过下标来修改,注意列表中的下标是从0开始的
city_list[4] = '大连'
print(city_list)# in 是判断某一个元素是否在某一个列表中
# food_list = ['锅包肉','汆白肉','东北乱炖']# 判断一下在控制台输入的那个数据 是否在列表中
# food = input('请输入您想吃的食物')
#
# if food in food_list:
# print('在')
# else:
# print('不在,一边拉去')# not inball_list = ['篮球','台球']# 在控制台上输入你喜欢的球类 然后判断是否不在这个列表中
ball = input('请输入您喜欢的球类')if ball not in ball_list:print('不在')
else:print('在')