当前位置:网站首页>学习总结week2_4
学习总结week2_4
2022-08-05 05:13:00 【非鱼丶丶】
python容器型数据–元组、字符串
一、元组(tuple)
容器型数据:()为标准,多个元素用,隔开
元组是不可变的(不支持增删改);有序的(支持下标操作)
元素没有要求
空元组() – 基本无意义,因为不可变
有一个元素的元组,在表示的时候,唯一元素的后面必须加逗号,
t1 = (10,)
print(type(t1), t1)
在没有歧义的情况下,元组的()可以省略(直接将多个数据用逗号隔开也是元组)
t2 = 10, 20, 30
解包 - 使用多个变量直接获取元组、列表中的多个元素
x, y, z = t2
print(x, y, z)
元组就是不可变的列表
二、字符串(str)
字符串是容器型数据类型(字符串对应的容器只能保存多个文字符号–字符)
‘’ “” 作为容器标准,里面的每个符号就是字符串中的每个元素
字符串不可变,所有可变操作都是在创建一个新的字符串;字符串有序(支持下标)
元素要求:引号中每个符号都是字符串的元素(任何文字符号都可以是字符串的元素),字符串的元素也叫字符
转义字符(符号在字符串中有特殊的功能或特殊意义,没有表示这个符号本身,比如\t), 普通字符(符号在字符串中表示它本身)
多行注释只有在特定的位置上才是注释
str1 = 'aM1,=-%函\t数笑'
print(str1)
1.转义字符
所有转义字符都是由\和另外一个或多个符号一起组合而成
有哪些是固定的转义字符:
\n - 换行
\t - 一个缩进(水平制表符)
\ - 表示一个普通的反斜线字符
’ - 表示一个普通的单引号
" - 表示一个普通的双引号
2.r字符串 - 在字符串引号前加r或者R
如果表示字符串的时候在字符串最前面加r/R,可以让字符串所有的转义字符功能消失
str1 = r'ab\n\\tc'
str2 = R'abd'
print(str1)
3.编码字符(所有的字符都可以表示乘编码字符)
\u四的十六进制数
str1 = '\u4e00'
print(str1)
补充: 16进制数
10进制数(life):由0~9组成的数字 - 直接表示
2进制数:由0,1组成:1011011
0b101101
8进制:由0~7组成:245,777
0o777
16进制数:由09和af(A~F)组成的数字:4e00, 9fa5
0xabc
4.字符编码
计算机存储数据只能存数字(只具备存储数字的能力)
为了能够让计算机保存文字信息,就给每一个文本符号对应一个固定的数字,每次在需要存储文本符号的,就存储这个符号对应的数字
这个数字就叫这个符号的编码值
a -> 97
5.编码表 - 保存每个符号对应的编码值的表
1)ASCII编码表
2)Unicode编码表(python)
Unicode编码表包含ASCII编码表,也叫统一码,万国码,包含世界上所有国家,所有民族的所有语言的符号
中文编码:4e00~9fa5(16进制)
6.编码值的应用
1)chr(编码值)- 获取指定的编码值对应的字符
print(chr(97))
for x in range(0x4e00, 0x9fa5+1):
print(chr(x), end=’ ')
7…ord(字符)
获取指定字符对应的编码值(编码值以10进制的方式返回值)
注意: 字符 - 长度为1的字符串
print(ord('文'))
print(hex(25991)) # hex(数字) - 将数字表示为16进制
c1 = 'm'
print(chr(ord('m') - 32))
编码字符
在字符串中表示字符的方式有两种:直接提供字符,也可以提供一个编码字符
\u4位的16进制编码值
str1 = 'a一'
str2 = '\u0061\u4e00'
print(str1, str2)
比较两个字符串大小,比较的是第一对不相等字符的编码值的大小
print('abc' > 'Zadfwadaw')
8.字符串基本操作
1.查
字符串获取元素和列表获取元素的语法一模一样
message = 'hello'
print(message[0], message[4])
print(message[1:-1])
for x in message:
print(x)
for index in range(len(message)):
print(index, message[index])
for index, item in enumerate(message):
print(index, item)
2.+、*
字符串1 + 字符串2 - 将两个字符串合并,产生一个新的字符串
字符串 * N - 字符串重复N次产生一个新的字符串
str1 = 'abc'
str2 = 'hello'
result = str1 + str2
print(result) # 'abchello'
result = str1 * 3
print(result) # 'abcabcabc'
3.in 和 not in 判断字符串1中是否包含字符串2
# 案例:统计str1中中文的个数
str1 = '换手机hss8223Kks是sjd==222'
count = 0
for x in str1:
if '\u4e00' <= x <= '\u9fa5':
count += 1
print(count)
# 案例:提取字符串中所有的大写字母
str2 = '涉及到MJk230023sjkU293shT=='
# 'MJUT'
for x in str2:
if 'A' <= x <= 'Z':
print(x, end=' ')
边栏推荐
猜你喜欢
随机推荐
【过一下7】全连接神经网络视频第一节的笔记
1068找到更多的硬币
软件设计 实验四 桥接模式实验
server disk array
UVA10827
NodeJs接收上传文件并自定义保存路径
小白一枚各位大牛轻虐虐
coppercam primer [6]
The difference between span tag and p
第二讲 Linear Model 线性模型
UVA10827
数字_获取指定位数的小数
分布式和集群
Flutter learning 5-integration-packaging-publish
Requests库部署与常用函数讲解
Using QR codes to solve fixed asset management challenges
有用番茄来监督自己的同道中人吗?加一下我的自习室,一起加油
Judgment statement _switch and case
[Software Exam System Architect] Software Architecture Design ③ Domain-Specific Software Architecture (DSSA)
HQL语句执行过程


![LeetCode: 1403. Minimum subsequence in non-increasing order [greedy]](/img/99/41629dcd84e95eb3672d0555d6ef2c.png)




![coppercam入门手册[6]](/img/d3/a7d44aa19acfb18c5a8cacdc8176e9.png)

