Python学习小记(四)Python数据类型②字符串

本文深入讲解Python中字符串的创建、切片、复制、合并、操作方法如计数、查找、格式化,以及编码和不可变性原理。涵盖了str对象的常用功能和实例演示。

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

有序

无序

可变

不可变

可变

不可变

列表[]

(list)

元组()

(tuple)

字典{}

(dict)

字符串

(str)

集合{}

(set)

Range、zip、map、enumerate等

字符串可以说是python中最受欢迎的数据类型了。字符串在表示方面也更为灵活多变。(python不支持单字符类型,单字符也是作为一个字符串使用)

1、创建:python用引号来界定字符串,可以用单引号、双引号、三引号。(只要不是三引号,就只能在一行内表示)

        当打印一些特殊字符串(包含反斜杠)时,我们不希望反斜杠被当成特殊字符,可以加两个反斜杠,或者使用原生字符串(在字符串前面加“r”)。

2、字符串的切片规则

整个字符串:str[:]

从n开始到末尾:str[n:]

从头开始到end-1(取前end个字符):str[:end]

从strat开始到end-1:str[start:end]

从start开始到end-1,以步长为step截取:str[start:end:step]

选择索引为index的字符:str[index]

 python的字符串具有不可变性,创建之后不能在原基础上改变

3、字符串的其他操作:

①.字符串复制:*

>>>name="girl"
>>>name*5
'girlgirlgirlgirlgirl'

②.字符串合并 :+

>>>'100'+'-'+'8'+'6'
'100-86'

③.成员测试:in,not in

>>>'g'in 'girl'
True
>>>'o'in'girl'
False

④.字符串格式化运算符:s%

4、字符串常见方法

①str.center(width,filler)

参数:width为字符串的宽度,filler为填充字符(filler默认时空格,且必须是单个字符)

>>>str='goodday'
>>>str.center(10)
' goodday  '
>>>str.center(10,'*')
'*goodday**'
>>>str.center(10,'*&')
Traceback (most recent call last):
  File "D:\python3102\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
TypeError: The fill character must be exactly one character long

 ②str.count(sub,start=0,end=len(str)

参数:sub为要统计的字符,start为开始查找的位置,默认为0,end为字符串结束的位置,默认到字符串的末尾)

>>>str='goodgoodstudy'
>>>str.count('g')
2
>>>str.count('oo')
2
>>>str.count('g',1,8)
1

③str.startswith(obj,start,end)

参数:obj为要判断的对象,可以为字符串,也可以为元素,start和end参数表示查询的字符串范围,如果字符串中存在指定的obj对象,则返回True,否则返回False.

>>>str='hello python'
>>>print(str.startswith('pyt'))
False
>>>print(str.startswith("hello"))
True
>>>print(str.startswith('hel',2,10))
False

 ④index(obj,start.end)

参数:obj是要查找的字符串对象,start为开始的索引,end为结束的位置,如果不指定则检索整个字符串。返回字符串对象在字符串中开始的位置索引,否则抛出异常。

find方法和index方法功能一样,区别在于find方法找不到时返回-1.

in和not in 则只能返回bool值,而不能返回索引。

>>>str='hello python'
>>>str.index('he')
0
>>>str.index('ho')
9
>>>str.index('oh')
Traceback (most recent call last):
  File "D:\python3102\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
ValueError: substring not found

 ⑤join(sequence)

参数:sequence为要连接的元素序列,返回生成的新的字符串 

>>>str1='-'
>>>str2=''
>>>seq=('p','y','t','h','o','n')
>>>str1.join(seq)
'p-y-t-h-o-n'
>>>str2.join(seq)
'python'

 ⑥str.strip(sub)

参数:sub为指定的字符,如果sub不指定,则默认去除字符串两边的空格或者换行符

>>>str1="******hello***python****"
>>>str1.strip("*")
'hello***python'

 ⑦str.replace(old,new,[max])

参数:old是要替换的字符,new是新的字符,如果指定max则替换最多不超过max次。

>>>str1="goodgoodstudy"
>>>str1.replace("o","k")
'gkkdgkkdstudy'
>>>str1.replace("o","k",2)
'gkkdgoodstudy'

 ⑧str.upper()

返回新生成小写转成大写的字符串,相反的方法为lower()

>>>str1="goodgoodstudy"
>>>str1.upper()
'GOODGOODSTUDY'

>>>str2='GOODGOODSTUDY'
>>>str2.lower()
'goodgoodstudy'

5、python的字符编码

python3的字节类型和字符串类型分别为bytes和Unicode。

用encode()方法和decode方法实现编码和解码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值