day9 元组和字符串

元组和字符串

元组

定义:作为容器型数据类型;将()作为容器标志,内含多个元素用逗号隔开。

表达式

tuple =(1,2,3,4)

容器名 = (元素1,元素2,元素3,元素4)

特点:

  1. 所容纳的元素无类型要求。

  2. 不可变(不支持增删改),可以当作不可变的列表。

    tuple1 = (11323)
    print(tuple1[-1])  # 23
    print(tuple1[:-1])  # (1,13)
    print(tuple1 * 2, tuple1 + (1, 100))  # (1, 13, 23, 1, 13, 23)(1, 100)
    
  3. 有序(支持下标操作)。

  4. 可以为空元组。

    tuple1 = ()
    
  5. 只有一个元素的元组在表示的时候唯一的元素后面必须加逗号。

    tuple1 = (a,)
    
  6. 元组的()可以省略。(代码使用无歧义时)

    tuple1 = a, b, c
    
  7. 可使用多个变量直接获取元组内多个元素。

    tuple1 = a, b, c
    print(tuple1[0], tuple1[1], tuple1[2])
    

字符串

定义:作为容器型数据类型;将’'或者""作为容器的标志,里面的每个符号就是字符串中每个元素。

表达式

str1 = ‘12,23,sad’

容器名 = (元素1,元素2,元素3,元素4)

特点:

  1. 字符串对应的容器只能保存多个文字符号-字符。

  2. 引号中每个符号都是字符串的元素,任何文字符号都可以是字符串的元素(普通字符,转义字符)。字符串的元素就是字符

    str2 = 'amKN12,.。;=-+&^%函数😁♠♣'
    str1 = '\u9fa5'
    print(str2,str1)
    
  3. 不可变(不支持增删改),所有可变操作都是在创建对应的新的字符串。

  4. 有序(支持下标操作)。

    print('abc' == 'bca')       # False
    
  5. 可以是多行字符串。(多行注释在特殊位置才是注释)

    str3 = '''abc'''
    str4 = """abc"""
    
    def func1():  # 多行注释在特殊位置才是注释
        """多行注释"""
        """abc"""
        
    

字符

转义字符

定义:转义字符是由\和另外一个或者多个符号一起组合而成(转义符一定是\开头)。

特点:

  1. 在特定的符号前加上\,让这个符号在字符串中具有特殊的功能或者特殊意义。
'''
常见的转义字符:
\n     -     换行
\t     -     水平制表符(相当于按tab键)
\'     -     表示一个普通的单引号
\"     -     表示一个普通的双引号
\\     -     表示一个普通的反斜杠
'''

r字符串

定义:在字符串引号前加r或者R。

特点

  1. 如果表示字符串的时候在字符串最前面加r/R,可以让字符串中所有的转义字符功能消失。(r字符串中所有的字符都是普通字符)。

    path = r'c:\study\abc\bin\text.txt'
    print(path)  # c:\study\abc\bin\text.txt
    

编码字符

定义:所有的字符都可以表示成编码字符,

# \u四位的十六进制数
str1 = '\u4e00abc一\u0023'
print(str1)  # 一abc一#

1)10进制数(生活): int()
  由0~9组成的数字; 18, 16500, 22,100, 25。


2)2进制数:
  由0和1组成的数字:10000, 1100,1011 ,101 。
 0b1001

3) 8进制数:由0~7组成的数字:245, 002, 777, 771, 071。
0o77

16进制数:
由0~9和a~f(A~F)组成的数字:1f、abc、4e00、0ff。
0x89

字符编码

定义:为让计算机保存文字信息,就给每一个文本符号对应的一个固定的数字,每次在需要存储这个文本符号,就存储这个符号对应的数字。这个数字就是这个符号的编码值。计算机存储数据只能存数字(计算机只具备存储数字的能力)。

编码表

ASCII表

特点:

一共128个字符对应的编码值,主要包含:常用英文符号、数字、字符、字母。

(大写字母编码 = 小写字母编码 - 32)

A - 65
a - 97

Unicode编码表(Python)

特点:

Unicode又叫万国码(统一码);Unicode编码表中包含ASCII表。

(中文编码:4e00 ~ 9fa5 # 20901个符号)

编码值的应用

  1. chr(编码值) :获取指定编码值对应的字符。

  2. ord(字符) : 获取指定字符对应的编码值。

  3. 在字符串中表示字符的方式有两种:直接提供字符,也可以提供一个编码字符。

    print(chr(0x4e00))  # 一
    
    print(ord('刘'),ord('向'),ord('磊'))  # 21016 21521 30922
    
    str1 = 'a-'
    str2 = '\u0061\u4e00'
    print(str1,str2)  # a- a一
    
    # 案例:判断保存字符是否是中文
    x = 'n'
    if '一' <= x <= '\u9fa5':
        print('中文')
    else:
        print('no')
    
    # 两个字符串比较大小比较的是第一对不相等字符的编码值的大小
    print('abc'>'一zzzafs')
    

字符串基本操作

x = 'what is up'

print(x[0],x[-1],x[5])  # 'w p i'
print(x[1:-1:2])  # 'hti'
print(x[1:1:2])  # ''

+、*

# 字符串1 + 字符串2 - 将两个字符串合并,产生一个新的字符串
# 字符串 * N - 字符串重复N次产生一个新的字符串
str1 = 'acb'
str2 = 'sad'
result = str2 +str1
print(result)  # sadacb
result = str1 * 3
print(result)  # acbacbacb

in 和 not in

str1 = 'acb'
print('a' in str1)  # True
print('z' in str1)  # False
# 案例: 统计str1中中文的个数
str1 = '我是你爹哈哈哈asdsadas222'
count = 0
for i in str1:
    if '一' <= i <= '\u9fa0':
        count += 1
print(count)

# 提取字符串中所有的大写字母
str2 = '撒大苏打撒旦MDAFG==323'
# for i in str2:
#     if 'A' <= i <= 'Z':
#         print(i)
a = [i for i in str2 if'A' <= i <= 'Z']
print(a)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值