【Python】Java程式員學習Python(七)— 文本類詳解(字串、str)

來源:互聯網
上載者:User

標籤:app   索引   https   string   sla   map   form   opened   單詞   

  如果一個女孩子喜歡看龍貓,那麼請珍惜她,呵護她

 

  任何一門語言,字串總是最基本也是最需要掌握的一個變數,想想入門的Hello World,輸出的就是字串。

  官方文檔:https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str。

  字串也成為字元序列,

一、表現形式1.1 基本表現形式

  字串可以用單引號、雙引號、三引號引起來,特點如下:

  • 單引號和雙引號相似,內部如果還要使用則需要用斜杠進行轉義
  • 三引號是三個單引號或雙引號,可以進行換行,也就是說包含所有字面的符號
‘yiwangzhibujian‘"yiwangzhibujian"‘‘‘yiwangzhibujian‘‘‘"""yiwangzhibujian"""

  上面的形式都是一樣的,同樣可以使用字串類來建立字串,字串類為str

name=str(‘yiwangzhibujian‘)print(name)

  這種方法瞭解即可。 

1.2 其他表現形式

  待續

二、常用方法

  字串的所有方法,詳見官方文檔:https://docs.python.org/3/library/stdtypes.html#string-methods。只說使用頻率最高的幾個。

2.1 常用方法

str.center(width[, fillchar])

  主要用來格式化字串,如果width小於字串長度,返回原始字串,大於字串長度,則字串置中,兩側用fillchar填充,fillchar預設為空白格

str.count(sub[, start[, end]])

  :返回指定字串出現的次數

str.encode(encoding="utf-8", errors="strict")

  轉換成位元組數組

str.endswith(suffix[, start[, end]])

  判讀字串是否以指定字串結尾

str.find(sub[, start[, end]])

  返回指定字串所在的索引,沒有返回-1

str.join(iterable):

  使用該字串來串連可迭代對象

str.lower():

  轉換小寫

str.replace(old, new[, count]):

  字串替換,count為替換出現的前幾個,預設為所以

str.rfind(sub[, start[, end]]):

  返回字串最後一次出現的位置

str.split(sep=None, maxsplit=-1):

  使用指定字元進行分割,若指定次數則從左側開始計算

str.splitlines([keepends]):

  按照分行符號進行分割,分行符號不包含其中,分行符號包括車

str.startswith(prefix[, start[, end]]):

  判斷字元是否以指定字元開始

str.strip([chars]):

  去除前後指定字元,預設為空白格

str.upper():

  將所有字元轉換成大寫

2.2 全域方法

  也有一些全域方法可以作用在字串上:

len():

  獲得字串的長度

  這個方法還是比較常用的。

2.3 不常用方法

  不常用方法也有很多,大致瞭解即可,以後有個需求再來看,如下:

  • str.capitalize():返回字串首字母大寫形式
  • str.casefold():返回字串的casefolded形式(???)
  • str.expandtabs(tabsize=8):將定位字元用空格進行替換
  • str.format(*args, **kwargs):格式化字串
  • str.format_map(mapping):類似於str.format
  • str.index(sub[, start[, end]]):類似於find但是未找到會報錯
  • str.isalnum():是否全部為數字或者字母
  • str.isalpha():是否都是字母
  • str.isdecimal():是否都是數字
  • str.isdigit():是否都是數字
  • str.isidentifier():???
  • str.islower():是否都是小寫
  • str.isnumeric():是否都是數字
  • str.isprintable():是否都是可列印字元
  • str.isspace():是否是空格
  • str.istitle():是否是標題
  • str.isupper():是否都是大寫
  • str.ljust(width[, fillchar]):類似於str.center(width[, fillchar]),左填充
  • str.lstrip([chars]):刪除左側指定字元,預設為空白格
  • static str.maketrans(x[, y[, z]]):???
  • str.partition(sep):分割指定字串首次出現的位置
  • str.rindex(sub[, start[, end]]):類似於str.rfind(sub[, start[, end]]),但是找不到會報錯
  • str.rjust(width[, fillchar]):和str.ljust(width[, fillchar])一個性質,右側填充
  • str.rpartition(sep):和str.partition(sep)一個性質,分割字串最後一次出現的地方
  • str.rsplit(sep=None, maxsplit=-1):按指定字元進行分割,若指定數量則從最右邊開始
  • str.rstrip([chars]):同str.lstrip([chars])一個性質,刪除右側
  • str.swapcase():將大小寫進行互轉
  • str.title():將每個單詞大首字母進行大寫
  • str.translate(table):字元對應表使用???
  • str.zfill(width):???

 

三、字串格式化

  字串格式化其實用的地方也不是很多,知道用法即可,現在沒有這個需求,以後會補充。

四、字串其他知識4.1 字串的本質

  簡單來說是有序的字元的集合。因此所有可應用於集合的方法都可應用於字串:

name=‘yiwangzhibujian‘print(‘k‘ in name)print(‘w‘ in name)for i in name:    print(i)========控制台輸出========FalseTrueyiwangzhibujian
View Code

  字串和Java一樣不可變。

4.2 字串下標

   字串也可以支援下標訪問,從0開始,還有一個特性就是可以使用負數,-1代表最後一個,以此類推:

name=‘yiwangzhibujian‘print(name[0])print(name[-1])========控制台輸出========yn

  注意使用的時候防止下標越界。

4.3 字串切片

  切片不只應用於字串,也應用list、tuple等集合,功能強大,使用簡單,要掌握用法,基本文法如下:

str[i:j]
  • 包含下邊界,不包含上邊界
  • 下邊界預設為0
  • 上邊界預設為字串長度

  另外分區還引入第三個值,步進,因此預設不用的時候步進為1,若步進為負數,表示倒敘進行分區。

4.4 字串拼接

  字串使用+號拼接算是一種常見的用法,但是字串和數字拼接是會報錯的,必需將數字提前進行轉換,str()來完成轉換

【Python】Java程式員學習Python(七)— 文本類詳解(字串、str)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.