Python 语言中的String
在Python中,String代指以下特点:
- 代表Unicode字符的字节数组
- 用单引号或双引号引起来
- 无限长度
Python 中 String 字符串定义方式
$title(单行文字的定义方法)
str = 'hello world'
str = "hello world"
一个多行字符串使用三个单引号或三个双引号创建:
$title(多行文字的定义方法)
str = '''Say hello
to python
programming'''
str = """Say hello
to python
programming"""
Python没有字符数据类型,单个字符就是长度为1的字符串。
python String 字符串截取 /分割
通过使用slice语法,我们可以获得一组字符。索引从零开始。
str[m:n]
从位置2(包括)到5(不包括)返回字符串。
$title(截取字符串索引2到5部分)
str = 'hello world'
print(str[2:5]) # llo
负切片将从末尾返回子字符串:
$title(截取字符串从索引-5到-2部分)
str = 'hello world'
print(str[-5:-2]) # wor
str[-m:-n]
将字符串从位置-5(不包括)返回到-2(包括)。
python中的字符串数组
在python中,字符串表现为数组。方括号可用于访问字符串的元素
tr = 'hello world'
print(str[0]) # h
print(str[1]) # e
print(str[2]) # l
print(str[20]) # 错误的索引: string index out of range
python字符串长度计算
len()函数返回字符串的长度:
str = 'hello world'
print(len(str)) # 11
python字符串格式化
要在python中格式化s字符串,请{ }
在所需位置在字符串中使用占位符。将参数传递给format()
函数以使用值格式化字符串。
我们可以在占位符中传递参数位置(从零开始)。
age = 36
name = 'Lokesh'
txt = "My name is {} and my age is {}"
print(txt.format(name, age)) # My name is Lokesh and my age is 36
txt = "My age is {1} and the name is {0}"
print(txt.format(name, age)) # My age is 36 and the name is Lokesh
python字符串其他内置函数方法
1. 1.capitalize() 大写转换
它返回一个字符串,其中给定字符串的第一个字符被转换为大写。当第一个字符为非字母时,它将返回相同的字符串。
name = 'lokesh gupta'
print( name.capitalize() ) # Lokesh gupta
txt = '38 yrs old lokesh gupta'
print( txt.capitalize() ) # 38 yrs old lokesh gupta
1.2. casefold()小写转换
它返回一个字符串,其中所有字符均为给定字符串的小写字母。
txt = 'My Name is Lokesh Gupta'
print( txt.casefold() ) # my name is lokesh gupta
1.3. center()中间对其方法
使用指定的字符(默认为空格)作为填充字符,使字符串居中对齐。
在给定的示例中,输出总共需要20个字符,而“ hello world”位于其中。
txt = "hello world"
x = txt.center(20)
print(x) # ' hello world '
1.4. count() 计算
它返回指定值出现在字符串中的次数。它有两种形式:
count(value)
-value
to search for in the string.
count(value, start, end)
-value
to search for in the string, where search starts fromstart
position tillend
position.
txt = "hello world"
print( txt.count("o") ) # 2
print( txt.count("o", 4, 7) ) # 1
1.5. encode() 编码
它使用指定的编码对字符串进行编码。如果未指定编码,UTF-8
将使用。
txt = "My name is åmber"
x = txt.encode()
print(x) # b'My name is /xc3/xa5mber'
1.6. endswith() 判断字符串结尾
rue
如果字符串以指定值结尾,则返回,否则返回False
。
txt = "hello world"
print( txt.endswith("world") ) # True
print( txt.endswith("planet") ) # False
1.7. expandtabs()
它将制表符大小设置为指定的空格数。
txt = "hello/tworld"
print( txt.expandtabs(2) ) # 'hello world'
print( txt.expandtabs(4) ) # 'hello world'
print( txt.expandtabs(16) ) # 'hello world'
1.8. find() 字符串查找
它查找指定值的第一次出现。-1
如果字符串中没有指定的值,它将返回。find()
与index()
方法相同,唯一的区别是,index()
如果找不到该值,该方法将引发异常。
txt = "My name is Lokesh Gupta"
x = txt.find("e")
print(x) # 6
1.9. format()格式化
它格式化指定的字符串,并在字符串的占位符内插入参数值。
age = 36
name = 'Lokesh'
txt = "My name is {} and my age is {}"
print( txt.format(name, age) ) # My name is Lokesh and my age is 36
1.10. format_map()
它用于返回字典键的值,以格式化带有命名占位符的字符串。
params = {'name':'Lokesh Gupta', 'age':'38'}
txt = "My name is {name} and age is {age}"
x = txt.format_map(params)
print(x) # My name is Lokesh Gupta and age is 38
1.11. index() 索引
- 它在给定的字符串中查找指定值的第一次出现。
- 如果找不到要搜索的值,则会引发异常。
txt = "My name is Lokesh Gupta"
x = txt.index("e")
print(x) # 6
x = txt.index("z") # ValueError: substring not found
1.12. isalnum()
它检查字母数字字符串。True
如果所有字符都是字母数字,即字母(a-zA-Z)
和数字,它将返回(0-9)
print("LokeshGupta".isalnum()) # True
print("Lokesh Gupta".isalnum()) # False - Contains space
1.13. isalpha()
True
如果所有字符都是字母,则返回它,即字母(a-zA-Z)
。
print("LokeshGupta".isalpha()) # True
print("Lokesh Gupta".isalpha()) # False - Contains space
print("LokeshGupta38".isalpha()) # False - Contains number
1.14. isdecimal()
如果所有字符均为小数(0-9),则返回代码。否则返回False
。
print("LokeshGupta".isdecimal()) # False
print("12345".isdecimal()) # True
print("123.45".isdecimal()) # False - Contains 'point'
print("1234 5678".isdecimal()) # False - Contains space
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/243762.html