最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的字符串示例講解

 更新時間:2021年04月09日 09:34:09   作者:互聯(lián)網(wǎng)老辛  
本文重點講解字符串的創(chuàng)建,字符串的定義和字符串的常見操作,對Python的字符串不熟悉的同學隨小編一起學習吧!

之前我們學習過一個不可變的序列叫元組,今天我們探討的字符串,也是一個不可變序列。

1. 字符串的創(chuàng)建

一個概念: 字符串的駐留機制
那什么是字符串的駐留機制呢?
意思是: 僅保留一份相同且不可變字符串的方法,不同的值被存放在字符串的駐留池中,python的駐留機制對相同的字符串只保留一份拷貝,后續(xù)創(chuàng)建相同字符串時候,不會開辟新的空間,而是把該字符串的地址重新賦值給新建的變量。

1) 字符串的定義

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
a='itlaoxin'
b="itlaoxin"
c='''itlaoxiin'''
print(a,b,c,id(a),id(b),id(c))

輸出結(jié)果

在這里插入圖片描述

可以看到ID都是一樣的。

在內(nèi)存中只有一份

幾點注意事項:
在交互模式下,能實現(xiàn)駐留機制的情況:

  • 字符串的長度為0 或者1時
  • 符合標識符的字符串
  • 字符串只在編譯時候進行駐留,而非運行時
  • 【-5,256】之間的整數(shù)數(shù)字

在這里插入圖片描述 

2. 字符串的常用操作

關(guān)于字符串的操作,我們可以把字符串看成是關(guān)于字符的列表:

1) 查詢操作

  •  index() 查找字符串substr第一次出現(xiàn)的位置,如果查找的子串不存在,拋出異常
  • rindex() 查找字符串substr最后一次出現(xiàn)的問題,如果不存在,則報異常
  • find() 查找子串substr第一次出現(xiàn)的位置,不存在返回-1
  • rfind 查找子串substr最后一次出現(xiàn)的位置,若不存在返回 -1
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s='hello,world'
print(s.index('l')) #2
print(s.find('l')) #2
print(s.rfind('l')) #9
print(s.rindex('l')) #9

這里建議大家使用find,或者rfind,因為不會報異常

2) 字符串的常用操作

 a) 大小寫轉(zhuǎn)換

  • upper() 把字符串中所有的字符都轉(zhuǎn)化成大寫字母(會產(chǎn)生新的字符串對象)
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.upper()
print(s)
print(a)
  • lower() 把字符串中所有的字符都轉(zhuǎn)換成小寫字母
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.lower()
print(s)
print(a)

輸出結(jié)果:

hello,ITlaoxin
hello,itlaoxin

swapcase() 把字符串中所有的大寫字母轉(zhuǎn)換成小寫字母,把所有的小寫字母轉(zhuǎn)換成大寫字母

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.swapcase()
print(a,id(a))
print(s,id(s))
  • capitalize() 把第一個字符轉(zhuǎn)換成大寫,把其余的字符轉(zhuǎn)換成小寫
  • tilele( )把每個單詞的第一個字符轉(zhuǎn)換成大寫,把每個讀單詞的剩余字符轉(zhuǎn)換成小寫
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
a=s.title()
print(a)

b) 字符串內(nèi)容對齊操作

  • center() 居中對齊
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.center(20,'*'))

在這里插入圖片描述

一共14個字符,定義20個字符,左右各三個

  • ljust() 左對齊

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.ljust(20,"*"))

在這里插入圖片描述

如果不寫* ,默認是空格

  • rjust 右對齊
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.rjust(20,"*"))

在這里插入圖片描述

  • zfill 右對齊

這種方式會用0填充

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
print(s.zfill(20))

在這里插入圖片描述

c) 字符串的拆分

  •  split() 分割,從左邊開始,默認的分割符是空格,分割完后是列表
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello,ITlaoxin"
lst=s.split()
print(lst)

輸出結(jié)果:

我們可以指定分割符,用sep=‘|' 的形式

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|')
print(lst)

輸出結(jié)果

['hello,ITlaoxin']

如果這個地方我們用默認的空格會是什么結(jié)果:

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split()
print(lst)

結(jié)果

['hello|ITlaoxin|gaosh']

可以看到,因為這個字符串中沒有空格,所以他就是一個元素的列表。

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|',maxsplit=1)
print(lst)

結(jié)果:

['hello', 'ITlaoxin|gaosh']

這里只拆分了一次。

  • rsplit() 從字符右邊開始拆分,默認拆分字符是空格,返回值是一個列表

maxsplit可以指定最大拆分次數(shù)

這個和split的使用方法一樣,只是rsplist是從右邊開始拆分,splist從左邊拆分

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s="hello|ITlaoxin|gaosh"
lst=s.split(sep='|',maxsplit=1)
print(lst)

lst1=s.rsplit(sep='|',maxsplit=1)
print(lst1)

結(jié)果如圖所示:

在這里插入圖片描述

d) 字符串的判斷方法

  • isidentifier() 判斷指定的字符串是否是合法的標識符
  • isspace() 判斷指定的字符串是否全部由空白字符組成(回車,換行,水平指制表符)
  • issalpha() 判斷字符串是否全部由字母組成
  • isdecimal( )判斷指定字符串是否全部是十進制組成
  • isnumeric() 判斷指定的字符串全部由數(shù)字組成
  • isalnum()判斷指定字符串是否全部由字母和數(shù)字組成
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s='hello,world,python'
print('1',s.isidentifier())
print('2','hello'.isidentifier())
print('3','\t'.isidentifier())
print('4','abc'.isspace())
print('5','abc'.isalpha())
print('6','1'.isspace())
print('7','123'.isnumeric())
print('8','abc123'.isalnum())
print('9','123abc!'.isalnum())

e) 字符串的其他操作 字符串的替換replace()

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
s='hello,world,python'
print(s.replace('python','itlaoxin'))
s1='hello,python,python ,python'
print(s1.replace('python','itlaoxin',2))

結(jié)果:

hello,world,itlaoxin
hello,itlaoxin,itlaoxin ,python

字符串的合并 join()

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
lst=['hello','java','python']
print('|'.join(lst))

結(jié)果:hello|java|python

f) 字符串的比較

使用運算符 >,>= ,<,<= ,= ,!=

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
print('1','itlaoxin'>'laoxin')
print('2','itlaoxin'>'itlaox')

結(jié)果:

 False
 True

如果第一個字母就不相同,就比較原始值 ord()

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
print('1','itlaoxin'>'laoxin')
print('2','itlaoxin'>'itlaox')
print('3','python'>'java')
## 相當于
print(ord('p'),ord('j'))

在這里插入圖片描述

第三個相當于112與106比較

g) 字符串的切片

字符串是不可變類型,不具備增刪改查的操作,切片是會產(chǎn)生新的對象的

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[:5])

輸出結(jié)果:
hello

不寫起始位置,它會從index0開始切

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[6:]) #world,itlaoxin

沒有指定結(jié)束位置,會切到最后

step是指定步長

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[1:8:2]) #el,o
# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
a='hello,world,itlaoxin'
print(a[1:8:2])
print(a[::2]) #hlowrdiloi

h) 格式化字符串

為什么要格式化字符串呢?
字符串的拼接會產(chǎn)生新的Id,會造成空間浪費, 這個時候就需要使用字符串的格式化。

格式化字符串的兩種方式:
% 做占位符

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
#第一種方式%

name='互聯(lián)網(wǎng)老辛'
age=40
print('我叫%s,今年%d歲了'%(name,age))

{} 做占位符

要使用到format()方法

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
#第一種方式%

name='互聯(lián)網(wǎng)老辛'
age='40'
print('我叫{0},今年{1}歲了'.format(name,age))

除此之外還可以表示精讀和寬度:

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
print('%d'% 99)

print('%10d'% 99)

這里的10表示的就是寬度

精度:
保留3位小數(shù)

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
print('%.3f' % 3.11516)

混合使用:

# 作者:互聯(lián)網(wǎng)老辛
# 開發(fā)時間:2021/4/4/0004 6s
print('%10.3f' % 3.11516)

%10.3f
總寬度為10,小數(shù)點保留3位

總結(jié)

到現(xiàn)在所有的數(shù)據(jù)類型的基本操作就介紹完了,這些應該都算是基礎,接下來我們要進入到函數(shù)的章節(jié)。

到此這篇關(guān)于Python的字符串示例講解的文章就介紹到這了,更多相關(guān)Python的字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Python實現(xiàn)等級劃分

    用Python實現(xiàn)等級劃分

    大家好,本篇文章主要講的是用Python實現(xiàn)等級劃分,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • python [:3] 實現(xiàn)提取數(shù)組中的數(shù)

    python [:3] 實現(xiàn)提取數(shù)組中的數(shù)

    今天小編就為大家分享一篇python [:3] 實現(xiàn)提取數(shù)組中的數(shù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python檢查序列seq是否含有aset中項的方法

    python檢查序列seq是否含有aset中項的方法

    這篇文章主要介紹了python檢查序列seq是否含有aset中項的方法,涉及Python針對序列的相關(guān)判斷技巧,需要的朋友可以參考下
    2015-06-06
  • python報錯解決之python運行bat文件的各種問題處理

    python報錯解決之python運行bat文件的各種問題處理

    這篇文章主要介紹了python報錯解決之python運行bat文件的各種問題處理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Python強大郵件處理庫Imbox安裝及用法示例

    Python強大郵件處理庫Imbox安裝及用法示例

    這篇文章主要給大家介紹了關(guān)于Python強大郵件處理庫Imbox安裝及用法的相關(guān)資料,Imbox是一個Python 庫,用于從IMAP郵箱中讀取郵件,它提供了簡單易用的接口,幫助開發(fā)者處理郵件,需要的朋友可以參考下
    2024-03-03
  • DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    DJANGO-ALLAUTH社交用戶系統(tǒng)的安裝配置

    django-allauth是集成了local用戶系統(tǒng)和social用戶系統(tǒng),其social用戶系統(tǒng)可以掛載多個賬戶。也是一個流行度非常高的Django user系統(tǒng),我們這里簡單介紹下,分享下個人的使用經(jīng)驗
    2014-11-11
  • Python Selenium操作Cookie的實例方法

    Python Selenium操作Cookie的實例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于Python Selenium操作Cookie的實例方法,有需要的朋友們可以學習參考下。
    2021-02-02
  • 使用jupyter notebook運行python和R的步驟

    使用jupyter notebook運行python和R的步驟

    這篇文章主要介紹了使用jupyter notebook運行python和R的步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實例分析

    Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實例分析

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph),結(jié)合實例形式分析了圖結(jié)構(gòu)的概念、原理、使用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Python使用turtle庫繪制科赫雪花詳細代碼

    Python使用turtle庫繪制科赫雪花詳細代碼

    科赫曲線是一種分形,其形態(tài)非常像雪花,因此又被稱作科赫雪花、雪花曲線,這篇文章主要給大家介紹了關(guān)于Python使用turtle庫繪制科赫雪花的相關(guān)資料,需要的朋友可以參考下
    2024-05-05

最新評論

安徽省| 修武县| 上栗县| 海丰县| 永善县| 南澳县| 延津县| 蒙阴县| 肇东市| 镇赉县| 财经| 丰台区| 神木县| 新邵县| 林周县| 玛沁县| 嵊泗县| 靖宇县| 光泽县| 永顺县| 施秉县| 岗巴县| 绥德县| 察雅县| 昌黎县| 饶河县| 黄石市| 正定县| 弥勒县| 河南省| 论坛| 南川市| 泰顺县| 松原市| 永善县| 高阳县| 随州市| 富源县| 建平县| 咸宁市| 大渡口区|