字符串
字符串就是引号双引号引起来的内容。
python中的单引号和双引号没有区别,仅仅需要注意一下单双引号嵌套的问题即可。
1.重复输出字符串:(默认是中间没有间隔的多个字符串)
print('hello'*2)
2.通过索引获取字符串中的字符,这里和列表的切片操作是相同的,具体内容见列表
print('hellworld'[2:])
3. in 成员运算符,如果字符串中包含给定的字符则返回‘TRUE’
print('el' in 'hello')
print(123 in [123,12,12345])
这里在列表中,有一个元素与123完全一致,才会返回TRUE,如果仅是包含123,则会返回FALSE
True
4. % 格式字符串
print('%s is a good teacher'%'yuyang')
结果:
yuyang is a good teacher
5.字符串拼接
#定义a、b变量
a='123'
b='abc'
#将ab拼接在一起
c=a+b
print(c)
结果:
123abc
但是这种方式的效率非常低
建议使用:join方法,这个方法是字符串的内置方法
#定义a、b变量 a='123' b='abc' #将ab拼接在一起 c=''.join([a,b]) print(c)
示例二:
#定义a、b变量
a='123'
b='abc'
d='456'
#将ab拼接在一起
#c=a+b
#print(c)
c=''.join([a,b])
print(c)
c='----'.join([a,b,d])
print(c)
结果:
123abc 123----abc----456
String字符串的内置方法:
str='hello kitty'
#统计字符串中元素个数
print(str.count('t'))
#整个字符串的首字母转换为大写
print(str.capitalize())
#打印50个字符,其中str变量的字符串放中间(居中),剩余字符用'-'代替
print(str.center(50,'-'))
#编码
print(str.encode())
#以某个内容结尾
print(str.endswith('tty3'))
#以某个内容开头
print(str.startswith('he'))
str='lady\tgaga'
#扩展字符串中\t TAB键的长度(tabsize后面表示\t替换成空格的个数)
print(str.expandtabs(tabsize=10))
str='ladygaga'
#查找到字符串中第一个出现该元素的索引值
print(str.find('g'))
print(str.find('t'))
print(str.find('ag'))
str='ladygaga {name} is {age}'
#格式化输出-方法一
print(str.format(name='yuyang',age=18))
#格式化输出-方法二
print(str.format_map({'name':'yuyang','age':18}))
#查找某个内容在字符串中的索引值,同find
print(str.index('g'))
#判断字符串是否是一个包含字母或者数字的字符串,但是字符串中包含特殊字符就返回FALSE了
print('isalnum'.center(20,'-'))
print('abc456'.isalnum())
print('abc'.isalnum())
print('456'.isalnum())
print('abc--456'.isalnum())
#判断字符串是否是一个十进制的数
print('isdecimal'.center(20,'-'))
print('0010'.isdecimal())
print('AF0'.isdecimal())
print('asd'.isdecimal())
#判断字符串是否是数字
print('isdigit'.center(20,'-'))
print('1234656'.isdigit())
print('asd'.isdigit())
print('1234656'.isnumeric())
#检验字符串是否是非法字符(非法标志字符,比如变量不能以数字开头)
print('isidentifier'.center(20,'-'))
print('asd'.isidentifier())
print('123asd'.isidentifier())
#检验字符重中是否包含大写
print('islower'.center(20,'-'))
print('asd'.islower())
print('Asd'.islower())
#检验字符重中是否包含大写
print('isupper'.center(20,'-'))
print('ASD'.isupper())
print('aSD'.isupper())
#判断字符串是否是一个空格(空格开头后面有字符串的不可以)
print('isspace'.center(20,'-'))
print(' '.isspace())
print(' ASD'.isspace())
#判断字符串是否是每一个单词的首字母是否是大写
print('istitle'.center(20,'-'))
print('My Name'.istitle())
#将字符串中的所有大写转换为小写
print('lower'.center(20,'-'))
print('My Name'.lower())
print('My Name'.upper())
print('My Name'.swapcase()) #大小写翻转
#将字符串中的所有大写转换为小写
print('lower'.ljust(20,'-'))
print('lower'.rjust(20,'-'))
#将字符串开头的空格、换行符和TAB键去掉
print('strip'.center(20,'-'))
print(' \n My Name \n OK'.strip())
#这里(strip)主要用于对字符串内容进行判断,字符串的最后实际上有隐藏的\n符号,如果是不加这个字符串方法的话,可能判断永远是错的
print(' \n My Name \n OK'.lstrip())
print(' \n My Name \n OK'.rstrip())
#字符串替换
print('strip'.center(20,'-'))
print('My Name is yuyang'.replace('a','A'))
print('My Name is yuyang'.replace('a','A',1)) #该句后面的1表示替换的次数
#在字符串中从右往左找某个内容,找到的第一个,打印出来他的下标
print('rfind'.center(20,'-'))
print('My Name is yuyang'.rfind('a'))
#将字符串转换为列表(分割符可指定)(方向从左往右)
print('split'.center(20,'-'))
print('My Name is yuyang'.split(' ')) #转换的分割符就是空格
print('My Name is yuyang'.split('a')) #以a为分隔符
#将列表转换为字符串
print('join'.center(20,'-'))
print(''.join(['a','b','c']))
#将字符串转换为列表(分割符可指定)(方向从右往左)
print('rsplit'.center(20,'-'))
print('My Name is yuyang'.rsplit(' ',1)) #1表示的是分割次数
对应结果:
2
Hello kitty
-------------------hello kitty--------------------
b'hello kitty'
False
True
lady gaga
4
-1
5
ladygaga yuyang is 18
ladygaga yuyang is 18
4
------isalnum-------
True
True
True
False
-----isdecimal------
True
False
False
------isdigit-------
True
False
True
----isidentifier----
True
False
------islower-------
True
False
------isupper-------
True
False
------isspace-------
True
False
------istitle-------
True
-------lower--------
my name
MY NAME
mY nAME
lower---------------
---------------lower
-------strip--------
My Name
OK
My Name
OK
My Name
OK
-------strip--------
My NAme is yuyAng
My NAme is yuyang
-------rfind--------
14
-------split--------
['My', 'Name', 'is', 'yuyang']
['My N', 'me is yuy', 'ng']
--------join--------
abc
-------rsplit-------
['My Name is', 'yuyang']