day-3 序列类型与基本运算符

day-3 序列类型与基本运算符

一,序列类型的特性

序列其实是一块可以存储多个数据的内存空间 这些数据按一定的顺序排列 可以通过每个值所在一个位置的编号去访问他们 (序列类型就是可以存储多个数据的一种类型)

网吧 1/2
小北 首先前台 小北同学几号机子
序列类型 又有序类型:每个序列中每个数据都有对应的下标

下标:

网吧对应的机子号 方便查找和网吧管理 可以理解ip 坐标

军训时候报数 123456 第一个值1
计算机报数 0123456 第一值为0

索引:

知道下标后想要获取这个数据 这个操作就叫索引
语法格式: 变量名[下标]
name='宋权峻同学非常帅'
#      0 1 2 3 4 5 6 7
#   -8 -7 -6 -5 -4 -3 -2 -1 
#print(name[7])
#print(name[3])
#print(name[-5])
#print(name[-3])
print(name[1])
print(name[-7])

切片

切片就是当我们需要序列中某一段或者某一个值的时候 就可以使用切片 进行操作

说人话: 我只要我需要的一部分 西瓜我只要一半另一半不要

语法格式:变量名[起始值:终点值] #冒号为英文
#切片
#切片取值包头不包尾 取头不取尾 简单来讲就是切片的终点实际上是到他的前一位
#终点在实际数据上加1
#print(name[0:2])
#print(name[0:3])
#print(name[0:4])
#print(name[6:11])
#print(name[6:12])

#起点值为空 默认从0开始
#终点值为空 默认取完
food='螺蛳粉臭豆腐火锅麻辣烫土鸡鸡公煲'
print(food[:3])
print(food[3:])
print(food[:])
print(food)
#print(food[16]) #超出索引范围会报错
print(food[5:18]) #切片可以超出范围
print(food[:-2])

步长:

相当于跳格子 想让步长跳几个格子步长就写几个 所以步长有规律
编程里的步长: 可以选择取数据的时候一次性隔几位

起始值和终点值尽量使用正向下标
语法格式:变量名[起始值:终点值:步长] #步长不写默认为1
#步长
food='螺蛳粉臭豆腐火锅麻辣烫土鸡鸡公煲'
print(food[3:11])
print(food[3:11:2])
print(food[::2])
print(food[::1])
print(food[2:8:]) #步长不写默认1
print(food[2:8:10]) #无论写了什么起点都有
print(food[6::4])
print(food[::-1]) #倒序

总结:序列类型的特性: 下标 索引 切片 步长

二,列表与元组

列表(list)

列表的表示形式为用[]中括号包裹起来的数据 里面的数据用逗号隔开
语法格式: 列表名=[数据1,数据2]
#列表
#列表可以放任意数据
#talk=['美女',99,5.20,True]
#print(talk)
#列表里放列表
#talk1=['帅哥',100,99,talk,'刘天成']
#talk2=['帅掉渣',['婷婷',520],666]
#print(talk2)
#print(talk2[1])
#print(talk2[2])
#print(talk2[1][0])
#print(talk1[3][2])
#列表修改
#talk=['美女',99,5.20,True]
#talk[1]='婷婷很美'
#print(talk)

元组(tuple)

元组的表示形式为用()小括号包裹起来的数据 里面的数据用逗号隔开
语法格式: 元组名=(数据1,数据2)
#元组
talk=('美女',99,5.20,True)
#talk[1]='婷婷很美' 元组不能修改
#print(talk)
#print(talk[0])
元组的用法和列表相似 但是有两个区别:
    1.元组是小括号 列表是中括号
    2.元组里的数据是不能被修改的
如果你保存的数据 后续可能修改 -- 列表
如果你保存的数据 后续不可能修改 -- 元组

type查询函数类型

type是查询类型的作用

>>> age=(18)
>>> print(type(age))
<class 'int'>
>>> age=(18,)
>>> print(type(age))
<class 'tuple'>

元组里只有一个数据也是要加逗号
否则不会被认为是元组类型
>>> a=17
>>> name='婷婷'
>>> food=True
>>> print(type(a))
<class 'int'>
>>> print(type(name))
<class 'str'>
>>> print(type(food))
<class 'bool'>

三,基本运算符

算术运算符

跟数学优先级(先乘除后加减)

+
-
*****
/除 (得到的结果为浮点型)
%取余
//整除
******幂(乘方)
% 取余 10%3 
# 10-3-3-3=1最后剩下的结果就是取余数
// 整除 10//3
#10-3-3-3=3直到你减不下去为止 减了几次数值就是几次
** 幂(乘方)3**3 33次方
#3*3*3

>>> a=5
>>> b=6
>>> a+b
11
>>> c=a+b
>>> c
11
>>> a-1
4
>>> a*b
30
>>> a*20
100
>>> a/b
0.8333333333333334
>>> a=8
>>> b=4
>>> a/b
2.0   (特殊情况 除以的结果为浮点型)

赋值运算符

赋值符号的左边必须是一个变量名

需要赋值给谁 就把谁放在左边

=赋值运算符c = a + b(赋值运算符的程序是从右往左执行)
+=加赋值a+=b = = > > a=a+b
-=减赋值a-=b= = > > a=a-b
*=乘赋值a =b= = > > a=a b
/=除赋值a/=b= = > > a=a/b
%=取余a%=b= => > a=a%b
//=整除a//=b= => > a=a//b
* *=*a *=b= => > a=a * * **b
>>> a=8
>>> b=8
>>> a=a+b
>>> a
16
>>> a=8
>>> b=8
>>> a+=b
>>> a
16

注意位置
>>> a=5
>>> b=10
>>> a=a/b
>>> a
0.5
>>> a=5
>>> b=10
>>> b=a/b
>>> b
0.5
>>> a=5
>>> b=10
>>> a/=b
>>> a
0.5
>>> a=3
>>> b=3
>>> a=b=2
>>> a
2
>>> b
2

# 当a=5/b=8  想给他们换一下
>>> a=5
>>> b=8
>>> c=a
>>> a=b
>>> b=c
>>> a
8
>>> b
5
>>> a,b=b,a  (变量值交换 )
a=5 b=8

比较运算符

得到结果bool类型

>大于
<小于
==等于
>=大于等于
<=小于等于
!=(英文符号)不等于
>>> 66>88
False
>>> a=66
>>> b=88
>>> a>b
False
>>> b<=a
False
>>> b>a
True
>>> a != b
True
>>> a==b
False

>>> a='66'
>>> b=66
>>> a==b
>>> a>b
False  (字符串和整数不能相对比 相当于同名同姓的人不是同血缘关系)
>>> a>b (可以比较是否相同 不能比大小)
>>> a='123' (同类型的可以一个一个做比较)
>>> b='124'
>>> a>b
False
>>> b>a
True

>>> a='-1'
>>> b='-2'
>>> a>b
False
>>> a=-1
>>> b=-2
>>> a>b
True

逻辑运算符

代码含义
and与 and左右两边的值必须都为真的时候才为真,否则为假
or或 or左右两边的值其中有一个真即为真,全假才为假
not非 就是将值为真的变成假的 假的变成真的
>>> True and False
False
>>> True and True
True
>>> not True
False
>>> not False
True
>>> not []
True
>>> not 1
False
>>> not 0
True

短路
and:当前面的值为假 , and就不往后面执行了
>>> True and True
True
>>> 1 and 2
2
>>> 1 and 0
0
>>> 0 and 1
0
>>> 0 and 0.0
0
>>> [] and 22
[]

or:当前面的值为真 , or就不往后面执行了
>>> 0 or 1
1
>>> [] or [25]
[25]
>>> 0 or []
[]
>>> 1 or []
1
>>> 22 or 66
22
>>> 22 or 0.0
22


and 前面为假时候 后面就不用执行
or 前面为真的时候 后面就不用执行

成员运算符

代码含义
in判断成员是否在序列中
not in判断成员是否不在序列中
>>> name='婷婷'
>>> print('婷婷' in name)
True
>>> print('123' in name)
False
>>> print('婷婷' not in name)
False
>>> print('123' not in name)
True>>> a='婷婷'
>>> print('婷婷' in a)
True
>>> print('婷婷' not in a)
False
in 右侧的内容里,是否包含了左侧的内容。 包含返回真,不包含返回假。

not in  右侧的内容里是否不包含左侧的内容。不包含返回真,包含返回假。 

运算符优先级

先乘除后加减在判断

小括号
******
*,/,//,%算术运算符
+,-算术运算符
<, >,<=, >=,==,!=比较运算符
in not in成员运算符
not> and> or逻辑运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值