Python基础-字符串

字符串

字符串常用方法

capitalize方法(将字母串中的首字母大写)

  • 用法:字符串首字母大写

newstr = string.capitalize()

  • 参数

不需要参数

  • 注意:
    • 只有字符串可以使用此方法
    • 只对第一个字母有效
    • 只对字母有效
    • 已经是首字母大写,则无效

casefold与lower(将字符串中的字母全小写)

  • 用法:字符串大写变成小写

newstr = string.casefold()
newstr = string.lower()

  • 参数

不需要参数

  • 注意:

    • 只对字符串中的字母有效
    • 已经是小写了,则无效
  • 区别:

    • casefold可以将更多小语种的单词进行小写

upper方法(将字符串中的字母全大写)

  • 用法:字符串变中的小写字母变大写

newstr = string.upper()

  • 参数

不需要参数

  • 注意:
    • 只对字符串中的字母有效
    • 已经是大写了,则无效

swapcase方法(将字符串中的字母进行大小写转换)

  • 用法:字符串变中的大小写字母进行转换

newstr = string.swapcase()

  • 参数

不需要参数

  • 注意:
    • 只对字符串中的字母有效

zfill方法(定义字符串长度,不足会用0补全)

  • 用法:定义新字符串长度,不足部分会用0补全

newstr = string.zfill(width)

  • 参数

width:希望的新字符串的长度

  • 注意:
    • 与字符串的字符无关
    • 定义的字符串的长度小于当前字符串的长度,不会发生任何变化
    • 定义的字符串的长度大于当前字符串的长度,会在字符串左边用0补全

count方法(返回当前字符串中某个元素的个数)

  • 用法:定义新字符串长度,不足部分会用0补全

newstr = string.count(item)

  • 参数

item:需要查询个数的元素

  • 注意:
    • 查询的成员(元素)不存在时,返回0

startswith和endswith方法(判断字符的开始和结尾是否是某个元素)

  • 用法:判断字符的开始和结束是否是你想要查询的元素,返回一个布尔值

string.startswith(item) -> 返回一个布尔值
string.endswith(item) -> 返回一个布尔值

  • 参数

item:需要查询匹配的元素

  • 注意:
    • 大小写要一致

find和index方法(返回你需要查找的元素的位置)

  • 用法:返回查找元素的位置,find找不到元素返回-1,index找不到元素报错

string.find(item) -> 返回一个整型
string.index(item) -> 返回一个整型或者报错

  • 参数

item:需要查询位置的元素

  • 注意:
    • 字符串的位置是从左向右,从0开始的
    • 会返回找到的第一个元素的位置
    • 如果find找不到元素,会返回-1
    • 如果index找不到元素,会报错

strip方法(去掉左右两边的元素,默认是空格)

  • 用法:去掉字符串左右两边的元素,不传参数默认是去掉空格

newstr = string.strip(item)

  • 参数

item:可选参数,不填默认去掉空格

  • 注意:
    • 传入的元素不在开头或者结尾则无效
    • lstrip 仅去除字符串开头指定的元素或者空格
    • rstrip 仅去除字符串结尾指定的元素或者空格

replace方法(将字符串中的指定元素替换成新元素,并指定替换的数量)

  • 用法:去掉字符串左右两边的元素,不传参数默认是去掉空格

newstr = string.replace(old,new,max)

  • 参数

old:被替换的元素
new:替换old的新元素
max:可选,代表替换几个old元素,默认全部替换

  • 注意:
    • 如果不传max参数,默认会替换字符串中所有

isspace/istitle/isupper/islower方法

  • 用法:
    • isspace: 判断字符串是否仅为空格/返回bool类型
    • istitle: 判断一个字符串是否是标题类型(指由多个单词组成,每个单词的首字母都是大写)/返回bool类型
    • isupper: 判断字符串中的字母是否都是大写
    • islower: 判断字符串中的字母是否都是小写

newstr = string.isspace()
newstr = string.istitle()
newstr = string.isupper()
newstr = string.islower()

  • 参数

不需要参数

  • 注意:
    • 空字符串和只有空格的字符串不一样
    • istitle函数只能用于英文,如果多个单词无空格分隔,当仅有第一个单词的首字母大写,才能返回True
    • isupper和islower只检测字符串中的字母,其他的不做检测

字符串编码格式

编码格式的定义

  • 有一定的规则
  • 通过规则了解到信息的内容

常见的编码格式

  • GBK:中文编码
  • ASCII:英文编码

通用的编码格式

  • utf-8是一种国际通用的编码格式

字符串格式化

什么是字符串格式化

  • 一个固定的字符串中有部分元素是根据变量的值而改变的字符串

根据类型定义的格式化

  • 字符串格式化使用操作符 % 来实现
"my name is %s,my age is %s"%("dewei",33)
  • 左侧有两个字符串格式符%,因此在右侧%()中需要有两个变量

字符串格式化函数-format

  • string.format函数用来格式化字符串
  • 使用format的字符串主体使用{}大括号来替代格式符
  • string.format(data0,data1,data2)

Python-3.6版本新加入的格式化方案-f-strings方法

  • 定义一个变量
  • 字符串之前加f符号
  • 需要格式化的位置使用{变量名}
  • 例子
    • name = "小慕"
    • f'hello {name}'
    • hello 小慕
  • 注意,使用该种方法之后,需要在大括号中传变量名,直接传参会报错

字符串格式化符号

  • 用于对应各种数据类型的格式化符号—格式化符号
符号说明备注
%s格式化字符串,通用类型一般都支持
%d格式化整型格式化浮点类型会自动转换为整型
%f格式化浮点型默认六位小数
%u格式化无符号整型(正整型)其实仍然支持负整型
%c格式化字符支持整型转换成字符,或者单个字符的字符串转换为字符
%o格式化无符号八进制
%x格式化无符号16进制数可以使用int函数,通过int(XXX,16)的方式传入16进制数
%e格式化科学计数
  • 使用format字符串格式化函数的时候,也可以通过字符串格式化符号进行格式化
    • '{:d}'.format(1)
    • 此处使用:替代字符串格式化符号的%
    • 不支持%u

字符串的特殊字符

  • 字符要转换成其他含义的功能,我们叫他转义字符
  • Python中通过使用\+字符的方式定义转义字符
符号说明
\n换行,一般用于末尾,strip对其有效
\t横向制表符(认为是一个间隔符)
\v纵向制表符(会有一个男性符号:)
\a响铃
\b退格符,将光标前移,覆盖(删除前一个)
\r回车
\f翻页(几乎不会用到,会出现一个女性符号)
\'转义字符串中的单引号
\"转义字符串中的双引号
\\转义斜杠
  • 转义无效符
    • 在python中,在字符串前面加r来将当前字符串的转义字符无效化

字符串的常用运算符及方法

  • a = "Hello" b ="Python"
操作符描述实例结果
+字符串连接print(a + b)HelloPython
*重复输出字符串print(a * 2)HelloHello
[]通过索引获取字符串中字符print(a[1])e
in成员运算符:如果字符串中包含给定的字符返回 Trueprint("H" in a)True
not in成员运算符:如果字符串中不包含给定的字符返回 Trueprint("M" not in a)True
方法描述实例结果
strip('x')去掉某个字符串print(a.strip("o"))Hell
isdigit()是否全是数字,至少有一个字符print(a.isdigit())False
isalnum()是否全是字母和数字,并至少有一个字符print(a.isalnum())True
isalpha()是否全是字母,并至少有一个字符print(a.isalpha())True
center(n,'-')把字符串放中间,两边用-补齐,最终长度为nprint(a.center(9,"*"))**Hello**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值