栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

day9 元组和字符串

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day9 元组和字符串

元组和字符串 元组

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

表达式:

tuple =(1,2,3,4)

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

特点:

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

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

    tuple1 = (1, 13, 23)
    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:studyabcbintext.txt'
    print(path)  # c:studyabcbintext.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 = 'u0061u4e00'
    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)

​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1030255.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号