python-字符串笔记

Python—字符串

一、什么是字符串
字符串是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。
我们可以使用单引号、双引号或三引号来创建字符串。
字符串中的字符都是有序的、拥有自己的索引(index,也叫下标)从0开始。

>>> a = 'this is a string\n'
>>> b = "this is a string\n"
>>> c = '''this is a long long
long string \n'''
>>> print(a, b, c)
this is a string
this is a string
this is a long long
long string 

字符串的基本特点
字符串的本质是:字符序列。Python 的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。(新建一个对象,不修改原对象)
Python 不支持单字符类型,单字符也是作为一个字符串使用的。
一般常用操作:
字符串的替换、删除、截取、复制、连接、比较、查找、分割等。
字符串内置操作方法:
使用type获取对象类 type(name)
使用dir获取类的成员dir(name)
使用vars获取类的成员和各个成员的值
二、1.切片

python访问字符串,可以使用方括号来截取字符串(切片),放括号里的数字是字符串的索引(index),从0开始。
String[开始索引:结束索引:步长](左闭右开区间,包括左侧索引值对应的元素,但不包括右侧索引值对应的索引值对应的元素。)
索引必须是整数,最大值是数据长度-1
切片不会改变原对象,而且重新生成了一个新的对象。

hw = "hello world"
hw[0:5]
#输出'hello'
hw[:5]
#输出'hello'
  1. 转义字符
    在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。常见转义字符如下:
    \(在行尾时)续行符
    \ 反斜杠符号
    '单引号
    " 双引号
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车

  2. 字符串的拼接

s='hello'*2        #用乘法重叠
print(s)
#输出hellohello

s='hello'+'world'       #用加号拼接
print(s)
#输出helloworld
a='world'
s=''.join(a)        #用join拼接
print(s)
#输出world

4.字符串的统计

s='asjbsbjjdj'
len(s)   #len() 统计字符串个数(也可以统计元组、列表、集合等)

print(s[0])   #s[n] 提取字符串中单个字母或元素,n是第几个,从头开始左到右,以0开始排列,0、1、2、3...

print(s[-1])    #倒序表示,从结尾提取,右到左,以-1开始,-1、-2、-3...

5 字符串格式化
字符串%占位符转义使用%

msg = 'name : %s , age : %d, job:%%' % ('allen', 18)print(msg) 
name : allen , age : 18, job:%
  1. 字符串切割
    split() 切割功能,切割后形成的是列表。
    (1)按照特定内容切割
    (2)可以指定切割次数
    (3)按行切割,换行符切割
>>> s = "this is a string"
>>> print(s)
this is a string
>>> print(s[6])
s
>>> print(s[-1])
g
>>> print(s[3:9])
s is a
  1. 字符串的删除
    字符串本身是不可变的,一个字符串定义以后,对他本身是不能做任何操作的,所以增删改都是对原字符串拷贝的副本的操作,原来的字符串还是原来的字符串,它本身并没有变。
    列表删除
    pop(index)
    remove(元素)
    del 切片
    clear() 清空列表
    字典删除
    pop(ke) #有返回值
    del dic[key]
    popitem() #随机删除
    clear() #清空字典

(1)strip() 默认删除行首或者行尾的空白符(包括 \n、\r、\t )
(2)切片提取进行删除

  1. 扫描字符串:
#strpbrk(sStr1,sStr2)
sStr1 = ' cekjgdklab'
sStr2 = 'gka'
nPos = -1
for c in sStr1:
    if c in sStr2:
        nPos = sStr1.index(c)
        break
print nPos
  1. 查找字符串
#strstr(sStr1,sStr2)
sStr1 = 'abcdefg'
sStr2 = 'cde'
print sStr1.find(sStr2)
  1. 复制字符串
#strcpy(sStr1,sStr2)
sStr1 = 'strcpy'
sStr2 = sStr1
sStr1 = 'strcpy2'
print sStr2

11.比较字符串

#strcmp(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'strch'
print cmp(sStr1,sStr2)

12.将字符串中的大小写转换
str.lower() -> 转换字符串中所有大写字符为小写
str.upper() -> 转换字符串中所有小写字符为大写
str.swapcase() -> 将字符串中大写转换为小写,小写转换为大写
str.title() -> 返回"标题化"的字符串,即首字母转化为大写

三.字符串的常用方法汇总

常用查找方法

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值