定义
由一系列字符组成的不可变序列容器,存储的是字符的编码值。
编码
- 字节byte:计算机最小存储单位,等于8 位bit.
- 字符:单个的数字,文字与符号。
- 字符集(码表):存储字符与二进制序列的对应关系。
- 编码:将字符转换为对应的二进制序列的过程。
- 解码:将二进制序列转换为对应的字符的过程。
- 编码方式:
–ASCII编码:包含英文、数字等字符,每个字符1个字节。
–GBK编码:兼容ASCII编码,包含21003个中文;英文1个字节,汉字2个字节。
–Unicode字符集:国际统一编码,旧字符集每个字符2字节,新字符集4字节。
–UTF-8编码:Unicode的存储与传输方式,英文1字节,中文3字节。
相关函数
- ord(字符串):返回该字符串的Unicode码。
- chr(整数):返回该整数对应的字符串。
"""
输入字符串,输出编码;更具输入的编码,输出字符串
"""
str1 = input('请输入:')
for i in str1:
print(ord(i))
str2 = ''
while True:
num = input('请输入:')
if num == '':
break
num = int(num)
str2 += chr(num)
print(str2)
字面值
单引和双引号的区别
- 单引号内的双引号不算结束符
- 双引号内的单引号不算结束符
三引号作用
- 换行会自动转换为换行符\n
- 三引号内可以包含单引号和双引号
- 作为文档字符串
转义字符
- 改变字符的原始含义。
\’ \” \””” \n \\ \t(tab) \0 空字符
- 原始字符串:取消转义。
a = r”C:\newfile\test.py”
字符串格式化
- 定义:
生成一定格式的字符串。
2. 语法:
字符串%(变量)
“我的名字是%s,年龄是%s” % (name, age)
name = input('名字:')
blod = int(input('血量:'))
atck = int(input('攻击:'))
print('name:%s,血量:%d,攻击力:%d' % (name, blod, atck))
- 类型码:
%s 字符串 %d整数 %f 浮点数 (四舍 六入,五平分)
num1 = float(input())
num2 = float(input())
print('%.1f+%.1f=%.1f' % (num1, num2, num2 + num1))
对于保留小数的问题
>>> "%f" % 168.888
'168.888000' # 小数点后默认保留 6 位小数
>>> "%3.1f" % 168.888
'168.9' # 总宽度为3, 保留 1 位小数
>>> "%.2f" % 168.888
'168.89' # 保留 2 位小数
列表VS字符串
- 列表和字符串都是序列,元素之间有先后顺序关系。
- 字符串是不可变的序列,列表是可变的序列。
- 字符串中每个元素只能存储字符,而列表可以存储任意类型。
- 列表和字符串都是可迭代对象。
- 函数:
将多个字符串拼接为一个。
result = “连接符”.join(列表)
将一个字符串拆分为多个。
列表 = “a-b-c-d”.split(“分隔符”)
# 将句子翻转
str_result = 'how are you'
print(' '.join(str_result.split(' ')[::-1]))
-->you are how