字符串
一、字符串和字符
- 什么是字符串(str)
‘’’
容器型数据类型;将’ ‘或者’’’ ‘’‘或者""" “”"作为容器标志,引号中每个符号就是字符串的元素。(’’’’’‘和”“”“”“在表示字符串内容的时候换行可以不使用转义字符,而且直接按回车)
字符串不可变(不支持增删改);字符串有序(支持下标操作)
元素:引号中的单独的每个符号都是字符串的元素(又叫字符),字符可以是任何符号。
字符分为两类:普通字符(表示符号本身字符)、转义字符(符号的存在具有特殊的功能和意义)
‘’’
str1 = '90,100' # 有6个字符串元素
str2 = "jofjkn=是会计 😀 "
str3 = 'abc\n123'
str4 = '''131
adc'''
str5 = """dsd
asd
bgf
"""
str6 = 'abc\n123' # 'ABC123'
print(str6)
- 字符串的元素 – 字符
‘’’
字符分为普通字符和转义字符两种
转义字符 – 在特定符号前加\让符号具备特殊的功能,常用转义字符如下:
\n – 换行
\t – 水平制表符(相当于tab键的功能)
’ – 表示一个普通的单引号
" – 表示一个普通的双引号
\ – 表示一个普通的反斜杠
一个转义符的长度是1
‘’’
\u4位的字符编码值 – 编码字符
str7= '\tabc\n123'
print(str7)
str8 = 'it\'s me!'
print(str8) # it's me!
str9 = "it's me!"
print(str9)
str10 = "I say:\"you see see, one day day!\""
print(str10)
str11 = 'I say:"you see see, one day day!"'
print(str11)
str12 = 'abc\\name\u4eff'
print(str12) # abc\name仿
str13 = '' # "",'''''',""""""
print(type(str13), len(str13))
- 字符编码
‘’’
( 1) 编码
计算机只能直接存储数字(而且保存的数字的二进制的补码),文字符号是无法直接存储到计算机中的。
为了能够让计算机具备存储文字符号的能力,我们给所有的文字符号对应的一个固定的数字,每次要存储符号的对应的数字存起来。
符号对应的数字就是符号的编码值
(2) 编码表 - 保存符号和对应关系的表
(2.1) ASCII码表
a. 总共有128个字符(美国符号)
b. 数字在字母的前面;大写字母在小写字母的前面;大写字母和 小写字母之间有其他符号
(2.2) Unicode编码表(Python)
a. Unicode编码表是对ASCII表的扩展,包含了世界上所有的国家 所有的民族所有语言的符号(又称万国码),总共:65536个
b. 中文范围:4e00 ~ 9fa5
(2.3) 编码值在Python中的使用
a. chr函数:chr(编码值) - 获取编码值对应的字符
b. ord函数:ord(字符) - 获取字符的编码值
c. 编码字符:\u4e00 (4e00就是一个16进制的编码值)
注意:python中需要字符的地方必须使用长度为1的字符串赋值
‘’’
1) chr
print(chr(97))
print(chr(35), chr(0x23))
print(chr(0x4e00)) # 一
print(chr(0x9fa5)) # 龥
num = 0
for x in range(0x4e00, 0x9fa5+1):
print(chr(x), end=' ')
num += 1
if num % 30 == 0:
print()
print(ord('谭'), ord('偲')) # 35885 20594
练习:将大写字母转换成对应的小写字母
A -> a, M -> m
c = 'M'
new_c = chr(ord(c) + 32)
print(new_c)
str14 = 'abc\u5fdd'
print(str14)
二、字符串的相关操作
- 查 - 获取字符串的字符
字符串获取字符的语法和列表获取元素的语法一模一样
str1 = '\tabc\n123\'+-'
print(str1[1])
print(str1[1:])
print(str1[::-1])
# print(str1[100]) # IndexError: string index out of range
print(str1[5:8], str1[5:-3])
print(str1[1:])
print(str1[::-1])
for x in str1:
print(x)
for index in range(len(str1)):
print(index, str1[index])
for index, item in enumerate(str1):
print(index, item)
- 数字运算符:+、*
print('hello' + 'word!') # helloword!
print(