【Python基础】day3——字符串及字符串内置方法

字符串

字符串就是引号双引号引起来的内容。

 

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']

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值