Python中的字符串基础

一、字符编码

1、什么是字符串

字符串是Python中一种常用的有序但是不可变得容器类的数据类型,可以同时存储多个字符,属于序列。
用单引号或者双引号括起来的任意字符集

2、字符串中的字符

  • a.普通的字符:包含数字字符、字母、普通符号(如:+ - * / ( ) % # @等等、中文、韩文、日语等。
  • b.转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符。
  • 阻止转义:r/R

3、字符编码

Python中的字符采用的是Unicode编码

a. 什么是编码

概念:编码指的就是数字和字符的对应关系,其中字符对应的数字就是字符的编码,比如:

a - 97

b - 98

余 - 20313

b.编码方式:

  • ASCII码表:
    • 只针对数字字符 字母字符 一些英文中常用的符号进行编码
    • 采用一个字节对字符进行编码(只能对128个字符进行编码)
  • Unicode码:
    • 包含了ASCII码表,同时能够对世界上所有语言对应的符号进行编码;
    • Unicode编码采用两个字节对字符进行编码,能编码65536个字符;其中,中文编码范围:4E00 - 9FA5。

c.两个函数

  • chr(编码值) - 将字符编码转换成字符
  • ord(字符) - 获取字符对应的字符编码

d.可以将字符编码放到字符串中表示一个字符:\u + 4位的16进制编码值,如:

print('da\u7f57132')

二、获取字符串中的字符

一旦一个字符串确定了,那么字符串中的每个字符的位置就确定了,而且每个字符会对应一个用来表示其位置和顺序的下标值。

1、下标(索引)

字符串中的每个字符都有一个下标,代表其在字符串中的位置
下标的范围是:
 0 ~ 字符串长度 - 1(0代表第一个字符)
-1 ~ 负的字符串长度(-1代表最后一个字符)

2、获取单个字符

  • 语法:字符串[下标] - 获取字符串中指定下标对应的字符
    • 说明:
      • 字符串 - 可以是任何字符串常量,也可以是字符串变量(只要结果是字符串就行)
      • [] - 这是固定写法
      • 下标 - 字符串的下标 不能越界

3、获取部分字符

注意:开始下标和结束下标都可以越界

  • 方法一:
    • a.语法:字符串[开始下标:结束下标:步长]
    • b.说明:
      • 字符串 - 可以是任何字符串常量,也可以是字符串变量(只要结果是字符串就行)
      • [] - 这是固定写法
      • : - 这是固定写法
      • 开始下标 - 下标值
      • 结束下标 - 下标值
      • 步长 - 整数
    • c.功能:从开始下标开始获取到结束下标前为止,每次下标值增加步长对应的值,结果是一个字符串
    • d.注意:
      • 当步长是正数(从前往后取),必须是开始下标对应的字符要在结束下标对应的字符前面
      • 当步长是负数(从后往前取),必须是开始下标对应的字符要在结束下标对应的字符后面
      • 结束下标对应的值取不到
  • 方法二:
    * 语法:字符串[开始下标:结束下标](相当于步长是1)

4、 获取部分字符,省略下标

  • 获取部分字符的时候,开始下标和结束下标都可以省略
    • a.开始下标省略
      • 字符串[:结束下标:步长] 或者 字符串[:结束下标]
      • 步长是正数:从字符串开头开始往后获取
      • 步长是负数:从字符串结尾开始往前获取
    • b.结束下标省略
      • 字符串[开始下标::步长] 或者 字符串[开始下标:]
      • 步长是正数:从开始下标从前往后获取到字符串结束
      • 步长是负数:从开始下标从后往前获取到字符串开头
    • c.开始下标与结束下标都省略
      • 字符串[::步长] 或者 字符串[:]
      • 步长是正数:获取整个字符串
      • 步长是负数:获取整个倒序的字符串

三、字符串相关运算

1、加法运算(+)

字符串1 + 字符串2 :将两个字符串拼接在一起,产生一个新的字符串(不会修改原字符串)。
注意:字符串相加,加号两边必须都是字符串!

2、乘法运算(*)

字符串 * n(正整数) :字符串的内容重复n次,产生一个新的字符串。

3、比较运算符:> < == != >= <==

a. == 与 !=
字符串1 == 字符串2   - 判断两个字符串是否相等
b. >  <  >=  <==
两个字符串比较大小:从第一位开始,找到第一对不同的字符,然后比较他们的编码值的大小。

4、in 和 not in

字符串1 in 字符串2:判断字符串2中是否包含字符串1,结果是布尔。
字符串1 not in 字符串2:判断字符串2中是否不包含字符串2,结果是布尔。

5、len函数

语法:len(序列)
讲解:len(字符串)  - 获取字符串中字符的个数

6、str

str(数据):将数据转换成字符串
a.其他数据转换成字符串:
    所有类型的数据都可以转换成字符串,转换的时候就是在数据的值的最外面加引号。
b.字符换转其他类型
    字符串转整数:  int(字符串)  - 只有去掉引号后,剩下的部分本身就是一个整数的字符串才能转化成整型。
    字符串转浮点型:float(字符串) - 只有去掉引号后,剩下的部分本身就是整数或者小数的字符串才能转换成浮点型。
    字符串转布尔型:bool(字符型)  - 除了空串会转换成False,其他的所有的字符串都会转换成True。

补充!系统数据类型名不能用来给变量命名

四、格式字符串

1、格式字符串

  • 概念:
    • 指的是字符串中通过格式占位符来表示字符串中变化的部分,然后后面再通过其他的值来给占位符赋值。
  • 语法:
    • 含有格式占位符的字符串 % (占位符对应的值)
  • 说明:
    • 格式占位符 - 有固定的写法 可以有多个
    •    %         - 固定写法
      
    •     ()         - 里面的值的个数和值得类型要和前面的格式占位符一一对应
      

2、常见格式占位符

%d   - 整数
%s   - 字符串
%.nf - 小数(保留小数点后n位小数)
%c   - 字符(可以将数字转换成字符)

例如:

message = '%s,今年%d岁,体重:%.2fkg,血型是:%c' % ('小明', 18+2, 65, 97)
print(message)

打印效果为:

小明,今年20岁,体重:65.00kg,血型是:a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值