Python_day_02_字符串

本文介绍了Python中字符串类型的定义方法、转义符号、三重引号的使用场景,并详细讲解了字符串的各种操作,如索引、切片、子串判断、重复、连接及长度计算等。此外还介绍了字符串类型转换的方法及常用的字符串操作函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.字符串类型

字符串的定义:
•第一种方式:
str1 = ‘our company is westos’
•第二种方式:
str2 = “our company is westos”
•第三种方式:
str3 = “”“our company is westos”“”

2.转义符号

一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的字符
\n: 代表换行符 \”: 代表双引号本身
\t: 代表tab符 \’: 代表单引号本身

3.三重引号

• 块注释:多行代码注释
• 函数的doc文档:讲函数时会说到
• 字符串格式化

4.字符串操作预览

字符串属于序列,序列支持的操作如下:
• 索引 切片
• 判断子串(成员操作符) 重复
• 连接 计算长度

1) 索引

• 索引(s[i] ):获取特定偏移的元素
• 给出一个字符串,可输出任意一个字符,如果索引为负数,
就是相当于从后向前数。
索引理解
字符串 h e l l o \n
索引 0 1 2 3 4 5
索引 -6 -5 -4 -3 -2 -1

s = "hello"
s
Out[3]: 'hello'
s[1]    ##索引从0开始
Out[4]: 'e'
s[0]
Out[5]: 'h'
s[-1]   ##-1及为最后一个
Out[6]: 'o'
s[-2]
Out[7]: 'l'
s[-5]
Out[9]: 'h'

2) 切片

切片S[i:j]提取对应的部分作为一个序列:
•上边界并不包含在内;
•如果没有给出切片的边界,切片的下边界默认为
0,上边界为字符串的长度;
•扩展的切片S[i:j:k],其中i,j含义同上,k为递增步
长;
s[:]获取从偏移量为0到末尾之间的元素,是实现有效
拷贝的一种方法

s[0:5]  ##相当于0-4
Out[10]: 'hello'
s[0:5:2]
Out[11]: 'hlo'
s[:]    ##相当于所有
Out[12]: 'hello'
s[::-1] ##反向输出
Out[13]: 'olleh'

3) 判断子串

判断一个sub字符串是不是属于s字符串:
•sub in s
•sub not in s

'hello' in s
Out[14]: True   ##判断是否存在
'hello' not in s
Out[15]: False  ##判断是否不存在

4) 重复、连接及计算长度

'*'*10  ##重复
Out[17]: '**********'
'*'*10+'ATM'+'*'*10 ##连接符
Out[19]: '**********ATM**********'
len(s)  ##计算长度
Out[20]: 5

5.字符串的类型转换

str(obj) 将其他类型内容转换为字符串
int(obj) 将字符串转换为为整数
float(obj) 将字符串转换为浮点型
long(obj) 将字符串转换为长整型

a=1
long(a)
Out[35]: 1L
complex(a)
Out[36]: (1+0j)
float(a)
Out[37]: 1.0

6.字符串常用操作:

1) str.capitalize()

  • 将字符串首字母大写,并返回新的首字母大写
    后的字符串;
s = "xiaomi hello"
print s.capitalize()

2) str.center(width[,fillchar])

  • 返回一个长为width的新字符串,在新字符串
    中原字符居中,其他部分用fillchar指定的符号填充,
    未指定时通过空格填充。
s = ATM
s.center(50)        ##用空格填充,共50个字符(左右)
s.center(50,'*')    ##用*填充,共50个字符(左右)
s.ljust(40)     ##用空格填充,共40个(左边)
s.rjust(40)     ##用空格填充,共40个(右边)

3) str.count(sub[, start[, end]]) -> int

  • 返回sub在str中出现的次数,如果start与end指定,
    则返回指定范围内的sub出现次数。
s = "xiaomi hello"
print s.count("x")  ##全文查询x个数
print s.count("x",0,5)  ##0到5查询x个数

4) str.endswith(suffix[, start[, end]])

  • 判断字符串是否以suffix结束,如果start和end指
    定,则返回str中指定范围内str子串是否以suffix结尾,如果
    是,返回True;否则返回False
    str.startswith(prefix[, start[, end]])

5) str.find(sub[,start[,end]])

  • 判断sub是否在str中,存在返回索引值,不存在返
    回-1.

6) str.index(sub[,start[,end]])

  • 与find方法函数功能相同,如果sub不存在时抛出
    ValueError异常;

str.isalnum() //判断是否都是字母或数字
str.isalpha() //判断是否都是字母
str.isdigit() //判断是否都是数字
str.islower() //判断是否都是小写
str.isspace() //判断是否都是英文空格
str.istitle() //判断是不是都是标题(纯英文,首字母大写,其他小写)
str.isupper() //判断是不是都为大写字母

7) str.join(seq)

  • 以str作为分隔符,将序列seq中的所有元素合并为
    一个新的字符串。
print " ".join("hello")     ##用空格连接每一个字符

8) str.replace(old,new[,count])

  • 将str中的old字符串替换为new字符串,并将替换
    后的新字符串返回,如果count指定,则只替换前count个
    字符串
s = "h e l l o"
s.replace(" ","")   ##将空格替换位空

9) str.split([sep[,maxsplit]])

  • 以sep字符串作为分割符对str进行切割,默认为空
    格;
  • maxsplit代表切割的此处
s = "hello xiaomi"
s.split()   ##默认按空格进行分割
s.split("a")    ##按a为分隔符进行分割

10) str.strip(“chars”)

  • 返回一字符串,将str中首尾包含指定的chars字符
    删除的字符串,未指定时,删除首尾的空格、\n、\t。
a = " hello   "
print a.strip()     ##删除两边的
b = " hello 123"
print b.strip("123")
s = "  hello  \n\t"
print s.strip()

s = "        hello world  123"
print s.lstrip()    ##删除左边的
print s.rstrip("123")   ##删除右边的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值