026 字符串類型內置方法

字符串類型內置方法(str)

1.做用:是用來描述性質的東西,如人的名字,人的某一個愛好,地址,國家等

2.定義:把一個個字符放到單引號,或雙引號和三引號裏面定義的

1.最基礎的定義:
s = 'sdfklsdjfk'

2.定義成二進制的形式,就是在最基礎的定義變量值引號前面加b
 s = b'sdkfljl' # 打印出來的bytes類型

3.\n \t \r

\n 換行
s  = 'a\na'  # 碰到斜槓了,計算機就清楚下一個字符和\拼接在一塊兒會有特殊的意義

\t 縮進4個空格
s = 'a\t\ta'

\r 回退上一個打印結果,覆蓋上一個打印結果
# print('\\ra',end='')  # 加一個\讓後面的\變得無心義

4.經常使用操做+內置方法(只有字符串能夠使用)

1.優先掌握python

  1. 按索引取值
  2. 切片
  3. 循環
  4. 移除空白strip
  5. 切分split
  6. 成員運算in|not in
  7. 長度

1.按索引取值(只可取不可改變)git

# str索引取值
msg = 'hello nick'
#      0123456789  # 索引序號

print(f'索引爲6: {msg[6]}')
print(f'索引爲-3: {msg[-3]}')

索引爲6: n
索引爲-3: i

2.切片(顧頭不顧尾,步長)api

# 索引切片
msg = 'hello nick'
#      0123456789  # 索引序號

print(f'切片3-最後: {msg[3:]}')
print(f'切片3-8: {msg[3:8]}')
print(f'切片3-8,步長爲2: {msg[3:8:2]}')
print(f'切片3-最後,步長爲2: {msg[3::2]}')

# 瞭解,步長爲正從左到右;步長爲負從右到左
print('\n**瞭解知識點**')
print(f'切片全部: {msg[:]}')
print(f'反轉全部: {msg[::-1]}')
print(f'切片-5--2: {msg[-5:-2:1]}')
print(f'切片-2--5: {msg[-2:-5:-1]}')


切片3-最後: lo nick
切片3-8: lo ni
切片3-8,步長爲2: l i
切片3-最後,步長爲2: l ik
    
切片全部: hello nick
反轉全部: kcin olleh
切片-5--2:  ni
切片-2--5: cin

3.循環code

msg = 'hello nick'
for i in msg:
    print(i)
    
h
e
l
l
o
 
n
i
c
k

4.移除空白strip()索引

# str移除空白strip()

s1 = '      nick handsome         '
print(s1.strip())  # 去兩端的空白
# nick handsome

s2 = '***!!!!!nick handsome----***'
print(s2.strip('-*!'))  # 指定多個字符一塊兒去掉,只要strip裏面有的字符就所有幹掉
# nick handsome

print(s2.strip('nick'))  # 指定多個字符一塊兒去掉,只要strip裏面有的字符就所有幹掉

# s2.strip('*-!')  # 首先判斷字符串s的兩端字符,爲*,再去strip裏找有沒有*,有就去掉,再去判斷字符串s的兩端字符,!-,再從strip裏面找,有去掉,沒有中止去掉
# print(s2)

5.切分splitip

# str切割split
s2 = '***!!!!!nick handsome----***'
print(s2.split())  # 默認以空格切割字符串
# ['***!!!!!nick', 'handsome----***']

print(s2.split('!'))  # 以!切割
['***', '', '', '', '', 'nick handsome----***']

print(s2.split('!', 2))
['***', '', '!!!nick handsome----***']

6.成員運算in和not inci

# str成員運算
s2 = '***!!!!!nick handsome----***'

print('*' in s2)  # True
print('$' not in s2)  # True

7.長度len字符串

# str長度
s2 = 'nick handsome'
print(len(s2))  # 求字符串的長度

2.須要掌握it

  1. lstrip&rstripclass

  2. rsplit

  3. lower&upper

  4. startswith&endswith

  5. join

  6. replace

  7. isdigit(純數字)/isalpha(純字母)

1.lstrip()和rstrip()

# str之lstrip()和rstrip()
lstrip是去掉字符串左邊的指定字符
rstrip是去掉字符串右邊的指定字符
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*'))
# !!!!!nick handsome----***

print(s2.rstrip('*'))
# ***!!!!!nick handsome----

2.rsplit()

s2 = '***!!!!!nick handsome----***'
print(s2.split('*', 1))# 切分,以字符串左邊(默認)第一個*切分,
#['', '**!!!!!nick handsome----***']
print(s2.rsplit('*', 1))# 切分,以字符串右邊第一個*切分,
#['***!!!!!nick handsome----**', '']

3.lower()和upper()

s3 = 'aaabbJ'
print(s3.lower())# 把字符串大寫字母,轉換成小寫字母
# aaabbj

print(s3.upper())# 把字符串小寫字母,轉換成大寫字母
# AAABBJ

4.startswith()和endswith()

s3 = 'aaabbJ'
print(s3.startswith('b'))# 判斷字符串是否是以‘b’開頭的
# False

print(s3.endswith('J'))# 判斷字符串是否是以‘j’結尾的
True

5.join()

#  join(用的比較多)通常和split聯用

s3 = ' '
print(s3.join(['234', '234', '234']))  # 以s3爲間隔符,拼接列表裏的每個元素
# 234 234 234

s = '辣條/薯片/汽水/泡麪/火腿腸/枸杞/當歸/鹿茸'

s1 = s.split('/')
print('*'.join(s1))
# 辣條*薯片*汽水*泡麪*火腿腸*枸杞*當歸*鹿茸

6.replace()

# str值replace()# 把字符串原有的值,替換成新的字符

s2 = 'yongjiu handsome'
print(s2.replace('yongjiu', 'gebilaowang'))
# gebilaowang handsome

7.isdigit(純數字)/isalpha(純字母)

s2 = '12312'
print(s2.isdigit())# 判斷字符串是否全是數字

s3 = 'aaac1c'
print(s3.isalpha())# 判斷字符串是否全是字母

3.瞭解

  1. find|rfind|index|rindex|count
  2. center|ljust|rjust|zfill
  3. expandtabs
  4. captalize|swapcase|title
  5. is系列

1.find()、rfind()、index()、rindex()、count()

s2 = '**23423***ni234234ck $$ hand223423some******'
#     01234567891011
print(s2.find('$'))  # 從左找,找到第一個中止,找不到返回-1
# 21

print(s2.rfind('$'))  # 從右找,找到就中止,找不到返回-1
# 22
print(s2.index('$'))  # 找不到報錯
# 21

print(s2.rindex('$'))  # 找不到報錯
# 22

2.center()、ljust()、rjust()、zfill()

s2 = 'nick handsome'
print(s2.center(50, '*'))  # 居中
print(s2.ljust(50, '*'))  # 居左
print(s2.rjust(50, '*'))  # 居右
print(s2.zfill(50))  # 填充0居右


******************nick handsome*******************
nick handsome*************************************
*************************************nick handsome
0000000000000000000000000000000000000nick handsome

3.expandtabs()

s2 = 'a\ta'
print(s2)
#a   a
print(s2.expandtabs(8))  # 針對\t而言        
#a       a

4.captalize()、swapcase()、title()

s2 = 'harry Potter'

print(s2.capitalize())  # 首字母(一句話的開頭)大寫,其餘全小寫,用在段落開始
# Harry potter

print(s2.swapcase())  # 大小寫互換
# HARRY pOTTER

print(s2.title())  # 全部單詞首字母大寫
# Harry Potter

5.字符串他也是隻有一個值的

6.他也是不可變的數據類型

相關文章
相關標籤/搜索