欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python核心對象類型字符串

 更新時(shí)間:2018年02月11日 11:35:54   投稿:laozhang  
本篇文章通過理論知識點(diǎn)給大家講述了Python核心對象類型字符串的相關(guān)知識內(nèi)容,對此有興趣的一起學(xué)習(xí)下。

Python的字符串的特點(diǎn)

  • Python與C語言,Java語言都不一樣,沒有單個(gè)字符,只有一個(gè)有一個(gè)字符的字符串。
  • 字符串對象不可修改,屬于不可變類型
  • 字符串和列表,元組都從屬于序列這個(gè)對象類別。所以序列支持的操作,字符串也支持。
  • 用單引號和雙引號表示都行,并列的字符串串常量會自動合并,不需要顯式的用加號表示。
  • 單雙引號里面的特殊字符必須用轉(zhuǎn)義序列表示,比如”,',\都需要在前面加個(gè)、,但是在三引號里面不需要轉(zhuǎn)義。

Python的字符串的支持的基本操作

  • 支持序列的操作,比如len(‘a(chǎn)bc')取長度
  • Python不允許混合數(shù)字和字符串的加法,比如9+'3'不會轉(zhuǎn)成字符串,這點(diǎn)和Java不一樣。
  • 分片通過偏移來指定分片的大小,[偏移A:偏移B:偏移C]從左到右偏移為正,從右到左偏移為負(fù)。偏移A省略表示最左端,偏移B省略表示最右端,如[1:]表示從索引為1到最右端。分片創(chuàng)建一個(gè)新的對象返回,所以用[:]可以實(shí)現(xiàn)拷貝。分片偏移C表示步進(jìn),從左端和右端的區(qū)間復(fù)制索引相差為步進(jìn)的元素,組成新對象返回。
  • 修改字符串會產(chǎn)生一個(gè)新的字符串對象,這時(shí)候可能會有疑問,這樣不是效率很低嗎?在JAVA中確實(shí)是這樣,如果用+號來合并字符串就會產(chǎn)生一個(gè)新對象,所以在JAVA中一般用StringBuilder避免產(chǎn)生過多的對象,但是在Python中沒被變量引用的對象會立即回收掉空間,新對象會重用回收的空間。所以效率并不會很低。

Python的字符串轉(zhuǎn)換

  • 數(shù)字與字符串之間的轉(zhuǎn)換:通過內(nèi)置函數(shù)int(‘42'),str(42),float(‘42')之類的來轉(zhuǎn)換
  • 字符串與ASCII碼之間的轉(zhuǎn)換:ord(‘323')將字符串轉(zhuǎn)為ASCII碼,chr(23)將ASCII碼轉(zhuǎn)換為字符串

字符串方法

  • 修改字符串:通過合并+和分片[:]來修改,另一種是通過字符串的方法來修改。replace(‘goal','str')把字符串中的'goal'替換成'str'。find(‘index')返回字符串'index'開始的索引。list(‘sds')將字符串'sds'轉(zhuǎn)換成列表['s','d','s'],這就變成了可變對象類型,可以直接對其進(jìn)行多次修改,再調(diào)用”.join(列表)轉(zhuǎn)換成字符串方法這比上面多次合并或切片效率要高。
  • 文本解析:split(”)方法可以將文本切割成列表。
  • 其他方法:rstrip()方法清除每行末尾空白,endswith(‘w')判斷是否以'w'結(jié)尾和startswith(‘t')是否以't'開頭。
  • 字符串不支持模式,需要使用Python的re標(biāo)準(zhǔn)庫模塊。

字符串格式化

Python支持在字符串放入%d,%s來實(shí)現(xiàn)類型替換,類似于C的printf。在字符串后面添加% 字符串 實(shí)現(xiàn)指定字符串替換,多個(gè)字符串要用()括起來。

基于字典的字符格式化

插入字符串的不再是固定的%d,%s而是%(字典的鍵)。替換的就是字典的值,這樣有一個(gè)好處就是能把整個(gè)字符串中的對應(yīng)字典鍵的字符串都替換成字典鍵對應(yīng)的值。

字符串格式化調(diào)用方法

前面的都是通過表達(dá)式來進(jìn)行字符串格式化。這里是通過字符串的方法進(jìn)行格式化。這就和Java的占位符差不多了,template='{0},{1},{2}',template.format('s','d','s')來進(jìn)行格式化。

相關(guān)文章

  • 利用OpenCV實(shí)現(xiàn)質(zhì)心跟蹤算法

    利用OpenCV實(shí)現(xiàn)質(zhì)心跟蹤算法

    質(zhì)心跟蹤算法不是正統(tǒng)的目標(biāo)跟蹤,而是在多目標(biāo)跟蹤中結(jié)合目標(biāo)檢測算法不同幀之間的相同目標(biāo)做一個(gè)link。本文將利用OpenCV實(shí)現(xiàn)質(zhì)心跟蹤算法,感興趣的可以試一試
    2022-01-01
  • Python頁面加載的等待方式總結(jié)

    Python頁面加載的等待方式總結(jié)

    在本篇內(nèi)容里小編給大家整理的是關(guān)于Python頁面加載的等待方式總結(jié)內(nèi)容,有需要的朋友們可以參考下。
    2021-02-02
  • Matplotlib學(xué)習(xí)筆記之plt.xticks()用法

    Matplotlib學(xué)習(xí)筆記之plt.xticks()用法

    在matplotlib中ticks表示的是刻度,而刻度有兩層意思,一個(gè)是刻標(biāo)(locs),一個(gè)是刻度標(biāo)簽(tick?labels),下面這篇文章主要給大家介紹了關(guān)于Matplotlib學(xué)習(xí)筆記之plt.xticks()用法的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • django queryset 去重 .distinct()說明

    django queryset 去重 .distinct()說明

    這篇文章主要介紹了django queryset 去重 .distinct()說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解

    pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解

    這篇文章主要介紹了pytorch::Dataloader中的迭代器和生成器應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python下劃線5種含義代碼實(shí)例解析

    Python下劃線5種含義代碼實(shí)例解析

    這篇文章主要介紹了Python下劃線5種含義實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python中的引用和拷貝淺析

    Python中的引用和拷貝淺析

    這篇文章主要介紹了Python中的引用和拷貝淺析,本文同時(shí)講解了深拷貝和淺拷貝、引用計(jì)數(shù)和垃圾回收等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Django路由Path方法的實(shí)現(xiàn)

    Django路由Path方法的實(shí)現(xiàn)

    本文主要介紹了Django路由Path方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python wxpython 實(shí)現(xiàn)界面跳轉(zhuǎn)功能

    python wxpython 實(shí)現(xiàn)界面跳轉(zhuǎn)功能

    wxpython沒提供界面跳轉(zhuǎn)的方式,所以就需要借助threading模塊,本文給大家分享python wxpython 實(shí)現(xiàn)界面跳轉(zhuǎn)功能,感興趣的朋友跟隨小編一起看看吧
    2019-12-12
  • python 多線程實(shí)現(xiàn)檢測服務(wù)器在線情況

    python 多線程實(shí)現(xiàn)檢測服務(wù)器在線情況

    本文給大家分享的是Python使用多線程通過ping命令檢測服務(wù)器的在線狀況,給大家了內(nèi)網(wǎng)和外網(wǎng)的2個(gè)例子,有需要的小伙伴可以參考下。
    2015-11-11

最新評論