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 = True
if 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 = 17
if 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 in
ball_list = ['篮球','台球']
# 在控制台上输入你喜欢的球类 然后判断是否不在这个列表中
ball = input('请输入您喜欢的球类')
if ball not in ball_list:
print('不在')
else:
print('在')