Python基础笔记Day02字符串与多数据类型

一、字符串

(一)字符串变量

  1. 字符串在计算机存储:实际是存储字符编码(ASII码),0127(其中031为控制字符)。Python中查看字符的ASII码值可以使用ord()函数。
  2. 求字符串长度:len()函数。
  3. 转义字符(\):主要是在定义字符串时,将一些有特殊含义的字符去除其特殊含义,表示没有特殊含义的字符。带特殊含义的字符:\n、\t(制表符,tab)、\r
  4. 字符串的拼接:”字符串1“ + “字符串2”。+ :字符串拼接运算符。
  5. 字符串的复制:复制多份以变长,“字符串” * 整数。
  6. 字符串的转换:str()。
  7. 字符串的提取:
  • 提取某个字符,字符串[字符下标编号],编号为正则从左到右数,str[字符串编号(0,1,2……)],编号为负则从右到左开始数,str[字符串编号(……,-2,-1)]。
  • 提取子字符串:str[字符起始编号:字符结束编号];字符起始编号留空表示最开始,字符结束编号留空表示最结尾。
  • 带步长提取(字符串切片):str[字符起始编号:字符结束编号:步长];步长不写表示步长为1;步长为正数,起始编号要小于结束编号,则从左到由每隔一步长提取,步长为负数,起始编号要大于结束编号,则由右到左由每隔一步长提取。
  1. 字符串的查找:
  • 字符串中是否有子串:子串 in 长串,返回值类型为bool类型。
  • 查找子串的位置:find()方法,str1.find(str2),结果为子串第一次出现的首字符下标;rfind()方法,str1.rfind(str2),结果为子串最后一次出现的首字符下标。
  • 查找子串在长串中出现的次数:count()方法,str1.count(str2)。
  1. 字符串输出格式:
  • 格式控制字符串.format(对应的变量或值)方法,将字符串按某种规定的格式排列输出。
a = 10
b = 3.5
c = 'C'
#使用数字顺序占位
print("a={0},b={1}".format(a,b))
#输出结果:
#a=10,b=3.5
#命名占位 按名字赋值
print("a={valuea},c={valuec},b={valueb}".format(valuea = a,valueb = b,valuec = c))
#输出结果:
#a=10,c=C,b=3.5
  • 格式化字符串,定义显示宽度,填充和对其方式。
定义显示宽度:
"{value1:填充字符+对其方式(<:左对齐,>:右对齐,^:居中对齐)+显示宽度(整数)+类型(d:整型,f:浮点型,s:字符串型)}".format(value1 =)
"现在时间:{valueh:02d}:{valuem:02d}:{values:02d}".format(valueh = h,valuem = m,values = s)

二、文件模式

  1. 输入:input(“输入提示”)函数:Python程序从终端获取输入的字符串,返回值为输入的内容。其中,输入提示,惠子啊用户输入前打印到终端上,提醒用户输入。
  2. 输出:print()函数。
  3. 注释:
  • 单行注释:#
  • 多行注释:三对双引号或单引号
#单行注释
"""
三对双引号进行多行注释
"""
'''
三对单引号进行多行注释
'''

练习:使用input()输入一个坐标:(x,y),然后提取其中的值:x = 15,y = 8,类型为int

代码:

#使用input()输入一个坐标:(x,y),然后提取其中的值:x = 15,y = 8,类型为int
a = input("请输入一个坐标:")
print("你输入的坐标是:{valuea}".format(valuea = a))
#查找","在字符串种的位置
b = a.find(",")
#提取x坐标和y坐标,并将其类型转换为int类型
x = int(a[1:b])
y = int(a[b+1:-1])
#输出x,y的数据类型
print("x的数据类型为:{0};y的数据类型为:{1}".format(type(x),type(y)))
#输出x,y的值
print("x={valuex},y={valuey}".format(valuex = x, valuey = y))

程序运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0LhkyKfX-1653991727570)(F:\华清嵌入式\嵌入式学习\Python\Day02_Python基础(字符串及列表)\提取坐标值程序运行结果.png)]

三、多数据类型

(一)列表

  1. 列表(list)概念:可以存放多个数据,这些数据按顺序排列,不限数据类型。
  2. 定义:列表名= [元素1……元素n]或者列表名= list([元素1……元素n])。列表在定义是可以定义为空列表。
  3. 访问列表元素:
  • 取列表中的元素:list1[元素下标]
  • 取列表中的子列表:list1[元素起始下标:元素终止下标]

提取子列表:list[元素起始编号:元素结束编号];元素起始编号留空表示最开始,元素结束编号留空表示最结尾。

带步长提取(列表切片):list[元素起始编号:元素结束编号:步长];步长不写表示步长为1;步长为正数,起始编号要小于结束编号,则从左到由每隔一步长提取,步长为负数,起始编号要大于结束编号,则由右到左由每隔一步长提取。

  1. 列表元素的修改、删除、追加和插入:
  • 修改元素:列表名[元素下标] = 新值。
  • 删除元素:
命令功能区别
del 列表名[元素下标]使用del进行删除元素,删除的是列表中指定的元素(del也可以删除变量,列表)
列表名.remove(列表元素)使用remove进行删除元素,删除的是列表中第一次出现的元素
列表.pop(位置)删除指定位置的数据,如果没写位置,删除最后一个数据
  • 添加元素:
命令功能区别
列表名.append(元素)在列表末尾新增元素
加法运算把两个列表连接起来,但不修改原列表
列表名1.extend(列表名2)把列表2添加到列表1
乘法运算把列表复制
列表名.insert(插入的位置下标,元素)在列表任意位置增加一个元素
  1. 判断列表中元素是否存在:元素 in 列表名,返回值为bool类型。
  2. 列表排序:列表名.sort():默认为升序排列,降序排列:列表名.sort(reverse = True)。
  3. 查找元素在列表中的位置:列表名.index(‘元素’)。
  4. 计算元素在列表中出现的次数:列表名.count(元素),返回值为整型。
  5. 求列表的长度:len(列表名)

(二)多维列表

  1. 概念:列表中的元素的数据类型为列表类型。
  2. 多维列表的存储问题:
  • 引用存储:list1 = [list2,list2,list2]
  • 拷贝存储:list2 = [list2[:],list2[:],list2[:]]

练习:学生信息列表

姓名性别年龄学号
张三23002
李四18003
Stundent1 = ["张三","男",23,"002"]
Stundent2 = ["李四","女",18,"003"]
StudentMessageList = [['姓名','性别','年龄','学号'],Stundent1,Stundent2]
print(StudentMessageList[0])
print(StudentMessageList[1])

(二)元祖

  1. 类似于列表,是只读的,不能修改。
  2. 元祖的定义:元祖名 = (元素1……元素n);可以创建空元祖,但是无意义。
  3. 关于元祖的操作和列表是类似的,但是不能对元祖的元素进行操作。

(三)字典

  1. 概念:以键值对的形式进行存储数据。字典数据没有顺序。
  2. 创建:字典名 = dict(键:值,键:值)或者字典名 = {键:值,键:值};可以创建空字典。
  • 字典键(常量属性):字符串,整型,浮点型,bool类型、元祖。字典键不能重名。
  • 字典值:任意类型,可以重复。
  1. 访问:通过字典键找到对应的值:字典名[“字典键”]。
  • 取出一个字典中的所有键:字典.keys(),返回值:dicket_keys类型。
  • 取出一个字典中所有的值:字典.values(),返回值类型:dict_values类型。
  • 取出一个字典中所有的键和值:字典.items(),返回值类型:dict_items类型。
#如何访问 zhang3 同学的化学成绩? 
zhang3 = {"成绩":{"语文":80,"数学":90,"理综":[60,70,25]}, "姓名":"zhang3"}
zhang3["成绩"]["理综"][1]
  1. 字典键值的添加、修改和删除:
  • 添加:字典变量[新的键] = 值
  • 修改:字典变量[键] = 新的值
  • 删除:del 字典变量[键]

(四)集合

  1. 集合:将一些数据放到一起,没有顺序,不重复。
  2. 集合的定义:
  • 变量名 = {} 空集
  • 变量名 = set()
  • 变量名 = {10,2.5,True,“hello”,(2,3)}

在集合中 bool类型 True == 1,False == 0

  1. 集合的相关算法:
  • 求集合的交集:集合a & 集合b 结果是 集合
  • 求集合的并集:集合a | 集合b 结果是 集合
  • 求集合的差集:集合a - 集合b 结果是 集合
  • 列表转集合 set(list)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值