python开发基础——day3 序列类型与转义字符

一、序列类型

int float bool-->数值类型,表示一个数值,数值类型比较适合存储一个数据,不适合存储多个数据
ages=1819192020

如果要存储多个数据的话就可以用序列类型来存储

序列类型:字符串 列表 元组
    1.可以存储多个数据的一种类型
    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

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

在序列类型中,通过下标提取对应的一个数据,这种行为称为索引

语法:
    序列名[下标]
    
实例:
name='伊尔老师'
print(name[0]) #伊
print(name[-4]) #伊
print(name[2]) #老
print(name[-2]) #老
#print(name[5]) #报错,下标越界

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

索引可以取出数据,但是只能取一个数据,如果需要取多个数据就很麻烦,这时就可以使用切片
在序列类型中,通过下标一次性取多个数据的行为,这种行为称为切片

语法:
    序列名[起点下标:终点下标]
    
实例:
talk='今天我们也要好好学习呀'
print(talk[0:3]) #终点取头不取尾,左闭右开,终点值实际到本身的前一位 今天我
print(talk[2:-3]) #我们也要好好
print(talk[-9:-3]) #我们也要好好
#print(talk[3:0]) #起点和终点设置的如果是往回拿值 就是拿不到值的
print(talk[2:20]) #切片超出索引不会报错,默认取完 我们也要好好学习呀
print(talk[:3]) #起点不设,从0开始取数据
print(talk[5:]) #终点不设 默认取完
    
细节:
    1.取值都是从左往右取值,程序不会往回走,起点和终点值如果设置的往回走是取不到值的
    2.切片时,终点值和起点值可以空着不写,不写起点默认从0开始取数据,不写终点默认取完
    3.切片超出索引不会报错,那就是默认取完,和索引不一样,索引超出下标会报错
    4.切片时,终点值实际都是取到他的前一位,比如写2:6,实际拿的是2:5的数据

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

生活中有的人腿很长,走楼梯一次走2格
程序中,正常取数据都是一位位取,步长为1,可以通过设置步长的方式,取数据跨多位取,但是这个跨位是有规律的
把步长设为-1,就是反向输出数据

语法:
    序列名[起点下标:终点下标:步长]
    
实例:
num='123456789'
#正常的话这样取值
print(num[2:6]) #3456
#步长取值
print(num[::2]) #取全部数据 一次跨两位取数据13579
print(num[::3]) #147
print(num[::-1])#取全部数据 数据反向输出 987654321

六、列表与元组

1、列表-list

列表-list:表现形式为用一对中括号包裹起来的数据,里面的数据用逗号隔开
    列表可以存储几乎所有的数据,并且里面的数据可以修改
    
语法:
    列表声明
        列表名=[数据1,数据2,数据3]
    列表修改:
        列表名[下标]=数据 #修改数据
        
实例:
question=['在吗',10,False,1.5]
print(question)
print(type(question)) #<class 'list'>
print(question[0])
question[0]='正确提问'
print(question)


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

2、元组-tuple

元组-tuple:表现形式为用一对小括号包裹起来的数据,里面的数据用逗号隔开
    元组可以存储几乎所有的数据,但是里面的数据不可以修改
    
语法:
    元组声明
        元组名=(数据1,数据2,数据3)
        
实例:
teacher=('伊尔老师','七七老师','久久老师','五万老师','萨满老师')
print(teacher)
print(type(teacher)) #<class 'tuple'>
print(teacher[1]) #七七老师
#teacher[1]='靓仔' #元组不支持修改 报错

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

如果你要存的数据,会被修改 -->用列表
food=['辣椒炒肉',18,'土豆炒肉',15]

如果你要存的数据,不会被修改 -->用元组
size=('s','m','l','xl')

七、转义字符

在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)

八、数据类型转换

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

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

例:
a=18
b=str(a)
print(type(b)) #<class 'str'>

a1='20'
b1=int(a1)
print(type(b1)) #<class 'int'>

#bool类型转换,非零和有值的情况是转为True,零和空值转为False
#空值有('',[],(),None,{},set())
name=''
name1=bool(name)
print(name1)

input输入后的内容默认是字符串类型
#height=input('请输入你得身高')
#print(type(height)) #<class 'str'>
#print(height+10) #报错,字符串和整型不支持操作

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

#类型转换,如果需要用到转换之后的这个数据,那就要重新赋值或者用新的变量接收
age='20'
print(type(age)) #<class 'str'>
#print(age+100) #报错,字符串和整型不支持操作

#做法一:重新赋值给原变量,强制转换
age=int(age)
print(type(age)) #<class 'int'>
print(age+100)

#做法二:用新的变量接受,会保留原来得变量
money='8.8'
res=float(money)
print(type(money)) #<class 'str'>
print(type(res)) #<class 'float'>
print(res+10)

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

九、练习

1.定义一个列表,列表中有3种"数值类型",用尽量多的方法获取里面的第二个值
2.现有一变量 num = 10086,把num转换为字符串,并输出008与106
3.现有一变量 teacher = '我们要勇往直前' 输出 '要' '往' '前' 三字
4.现有一变量 names = "谢霆锋陈奕迅刘德华周杰伦" 输出"谢霆锋","奕迅","德华周杰伦"
5.现有一变量 talk="天天向上",输出"上向天天"
6.结合生活例子,声明一个列表和元组变量,里面至少有3个数据(考虑好元组和列表的区别)
7.填空题:序列类型的下标是从__开始,负向下标从__开始
8.取消转义字符是在字符串前加个__
9.用一个print,按以下格式输出以下内容
爱你所爱        行你所行
听从你心        无问西东

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值