Python入门知识点 3--序列类型与转义字符

1、序列类型

上一篇文章讲到的int  float  bool-->数值类型 表示一个数值,数值类型比较适合存储一个数据,不适合存储多个数据
ages=1819192020 #不加注释不清楚这个值什么

存储多个数据可以用到序列类型来存储

序列类型:(字符串,列表,元组)
    1.可以存储多个数据的一种类型
    2.里面的数据是有顺序,坐标概念的

2、序列类型核心概念--下标

在序列类型中数据是有下标的概念

下标类似于坐标,比如酒店的房间号/宿舍的门牌号

在程序中,和生活习惯不一样,程序下标是从0开始计算的

    人类报数:1 2 3 4 5;第一个数是1,第二个数是2
    机器报数:0 1 2 3 4;第一个数是0,第二个数是1
    
    下标也支持负数取值,最后一个数为-1,倒数第二个数为-2

name='小赵同学'

小  赵  同  学
0    1    2    3
-4   -3  -2  -1

求字符串的正向下标:
one="2022700602"
print(one.find("7")
字符串的逆向下标=正向下标-数据长度
one="2022700602"
print(one.find("7")-len(one))  #len()是一个求字符串长度的函数

3、序列类型核心概念--索引

现在知道了一个数据的位置,是不是也可以找到这个数据,并且给他提取出来呢?
在序列类型中,通过下标提取对应的'一个'数据,这种行为称为索引

语法:
    序列名[下标]

name='小赵同学'
print(name[0]) #小
print(name[-4]) #小
print(name[2]) #同
print(name[-2]) #同
#print(name[5]) #报错,下标越界

4、序列类型核心概念--切片

索引可以取出数据,但是只能取一个数据,如果需要取多个数据就很麻烦,这时就可以使用切片

在序列类型中,通过下标一次性取'多个'数据的行为,这种行为称为切片

语法:
    序列名[起点下标:终点下标]

talk='今天我们也要好好学习呀'
print(talk[0:3]) #今天我 取头不取尾的概念
print(talk[2:10]) #我们也要好好学习
print(talk[2:15]) #超出索引范围,切片不会报错,默认是取完
print(talk[:6]) #今天我们也要  不写起点默认从头开始取数据
print(talk[2:]) #我们也要好好学习呀 不写终点默认取到最后
print(talk[-5:-1]) #好好学习
print(talk[2:-5]) #我们也要
#取值都是从左往右进行取值,程序不会往回走,
#起点和终点值如果设置的往回取数据就是取不到值的
print(talk[2:0]) #取不到数据
print(talk[-2:-4]) #取不到数据
print(talk[:]) #起点值和终点值不设,没必要,多此一举,print(talk) 就可以了

切片的细节:
    1.切片时,终点值实际都是取到它的前一位,取头不取尾 比如写2:6 实际上取到的2:5的范围
    2.切片超出取值范围不会报错,那默认就是取完,跟单独索引不一样,单独索引超出下标就会报错
    3.切片时,起点值或者终点值可以空着不写,不写起点默认从头开始取数据,不写终点默认取到最后
    4.取值都是从左往右取值,程序不会往回走,起点和终点值如果设置的往回取数据就是取不到值的

5、序列类型核心概念--步长

生活中有的人腿很长,走楼梯一次走2,3节
程序中,正常取数据都是一位位的取,步长为1,可以通过设置步长的方式,取数据时跨多位取值 但是这个跨位是有规律的

把步长设为-1,就是反向输出数据

语法:
    序列名[起点下标:终点下标:步长]

num='123456789'
#正常的话取值是这样
print(num[2:6]) #3456
#步长取值:
print(num[::2]) #取全部数据,一次跨两位取数据,输出13579
print(num[::3]) #取全部数据,一次跨三位取数据,输出147
print(num[::-1]) #取全部数据,反向输出数据987654321

6、列表与元组

6.1 列表list

列表list:表现形式为用一对中括号[]包裹起来的数据,里面的数据用逗号隔开
列表可以存储几乎所有的数据类型,并且里面的数据可以修改

语法:
    列表声明:
        列表名=[数据1,数据2,数据3,...]
    列表修改:
        列表名[下标]=数据 #修改这个数据

question=['在吗',10,False,1.5]
print(question)
print(type(question)) #<class 'list'>
question[0]='描述清楚问题加截图'#修改列表数据
print(question)

列表是可以嵌套的,也就是列表里面的还可以放列表
a=[1,2,3]
b=[4,5,6]
c=[a,b] #嵌套列表
print(c)
#嵌套取值的做法
print(c[0][1]) # 取出a列表,再接着拿a里的第二个元素2

6.2 元组-tuple

元组-tuple :表现形式为用一对小括号包裹起来的数据,里面的数据用逗号隔开
元组可以存储几乎所有的数据类型,并且里面的数据不可以修改

语法:
    元组声明:
       元组名=(数据1,数据2,数据3,...)

teacher=('小赵老师','木马老师','朵拉老师','圆圈老师')
print(teacher)
print(type(teacher)) #<class 'tuple'>
print(teacher[0])
#teacher[0]='美女' 元组不支持修改,会报错

#注意:
#元组里只有一个数据也要加逗号
#否则不会被认为是元组类型
num=(18)
print(type(num)) #<class 'int'>

num1=(18,)
print(type(num1)) #<class 'tuple'>

如果你要存的数据,会被修改-->用列表
    food=['辣椒炒肉',20,'香干炒肉',25]
    
如果你要存的数据,不会被修改-->用元组
    size=('s','m','l','xl')

7、转义字符

在python中有特别功能的一些'字符' 表示形式为\后面加了指定的字符
    \n--换行
    \t--制表符 4个空格 tab
    \\--正常输出一个\
    \'--正常输出引号

print('好好学习天天向上')
print('好好学习\n天天向上')
print('好好学习\t天天向上')
print('好好学习\\天天向上')
print('小赵同学说:\'好好学习,天天向上\'')

如果有个字符串里面有很多 但是并不是想用的转义字符 可以在字符串前面加上r 取消转义

print(r'好好学习\n天天向上')

主要取消转义是用于文件路径/网址
test1='D:\tproject\__pycache__\node'
test2=r'D:\tproject\__pycache__\node'
print(test1)
print(test2)

转义字符用的最多的就是\n和\t 以及取消转义

8、数据类型转换

在程序开发时,有时候有需求涉及到数据之间相互转换的场景
    字符串'77' 转为数值77
    数值77 转为'77'
所以针对这种情况 就可以通过类型转换来实现
但是有个前提 操作数据必须得合法规范

int(数据) -->把数据转为整型
float(数据) --> 把数据转为浮点型
bool(数据) --> 把数据转为布尔型
str(数据) --> 把数据转为字符串型
list(数据) --> 把数据转为列表型
tuple(数据) --> 把数据转为元组型

a=1
b=str(a)
print(type(b))
c='1'
d=int(c)
print(type(c))
print(type(d))
#e='哈哈' 
#f=int(e) #报错 不符合规范
print(float('1.2'))
num=float('1.2')
print(type(num))
#num1=float('一点二') #报错 不符合规范

关于bool类型的转换问题 非零以及有值的话是转为True 空值(包括0,0.0)是转为False
目前学习的空值有(' ',[ ],( ))

name='小赵'
name1=bool(name)
print(name1)
name2=[]
name3=bool(name2)
print(name3)

input输入后的内容默认是字符串类型
#height=input('请输入你的身高')
#print(type(height)) #<class 'str'>
#print(height+10) #字符串和整型不能拼接


#转换类型

height1=int(input('请输入你的身高')) #转换为整型
print(type(height1)) #<class 'int'>
print(height1+10)

类型转换,如果需要用到转换之后的这个数据,可以采取重新赋值或者用新的变量来接收

#做法一:重新赋值给原变量,强制转换

age=int(age)
print(type(age)) #<class 'int'>
print(age+15)

#做法二:用新的变量接收,会保留原来的变量

money='8.8'
money1=float(money)
print(type(money))  #<class 'str'>
print(type(money1)) #<class 'float'>
print(money1+20)

注意:
    在python中,给变量命名时,不要取名为print input float int str tuple list type

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@网工小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值