国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python 的數據類型(三):字符串

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 15:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

各位童鞋很抱歉,由于這段時間比較忙,好久沒更新了。今天終于有空來繼續跟各位童鞋一起學習python

之前講到,字符串的定義就是把一些字符序列用引號引起來。例如:

s = 'abc'

上面這行代碼的執行過程:先創建一個字符串對象,并初始化里面字符串的值為'a', 'b', 'c'的序列,再把指針s指向這個對象。如下圖所示:

字符串的序列操作

我們知道字符串內部是一個字符序列。作為序列,我們可以用下標來索引。例如:

c = s[0] # c = 'a'

c = s[1] # c = 'b'

還可以從字符序列的末尾開始索引,-1代表最后一個字符,-2代表倒數第二個字符,... 例如:

c = s[-1] # c = 'c'

c = s[-2] # c = 'b'

另外字符串還支持切片(slice)操作,取出給定兩個下標之間的字符序列(包括開始下標的字符,但不包括結束下標的字符。用數學區間的[a:b)來描述是不是更清楚點呢)。例如:

c = s[0:2] # c = 'ab'

c = s[1:2] # c = 'b'

c = s[1:-1] # c = 'b'

這一點很像verilog的位寬操作,例如:reg s[7:0] = 8'h5a,那我們可以c = s[3:0]來取出3到0位的4'ha。只是verilog是閉區間的。

在切片時,當開始下標是0,冒號前的下標可以省略;結束下標指向最后一個元素,冒號后的下標也可省略。所以上面的切片可以簡化成:

c = s[:2] # c = 'ab'

c = s[1:] # c = 'bc'

當開始下標和結束下標都省略時,s[:]表示整個字符序列'abc'。

注意理解 s[1:-1]和s[1:]的區別,前者不包括最后一個字符,而后者包括。

作為字符序列,還支持拼接和重復操作。例如:

s1 = 'abc'

s2 = s1 + 'def' # s2 = 'abcdef'

s3 = s1 * 3 # s3 = 'abcabcabc'

另外我們要注意字符序列的只讀性。我們不可以對字符賦值,s[0] = 'd'是非法的。但我們可以迂回:

s = 'abc'

s = 'd' + s[1:]

但要注意,第二句并不是簡單的修改s對象的元素值,而是用拼接產生了一個全新對象,并讓s指向新的對象。

字符串類型的操作

除了序列操作外,字符串本身作為一種類,自帶了很多操作函數(類的方法)。下表列出了一些常用的操作:

index, find

position = index(substr, begin=0, end=len(string))

position = find(substr, begin=0, end=len(string))

描述:index和find函數的作用相同,都是查找子字符串。可以指定開始和結束索引,在一個范圍內查找。

返回值:子字符串的起始索引值。index和find的區別是,當沒有找到子字符串時,index報錯,而find返回-1。

例如:

s = 'abcdefdef'

p1 = s.find('de') # p1 = 3

p2 = s.index('de', 5) # p2 = 6

replace

str_new = replace(substr_old, substr_new[, max])

描述:替換函數,如其名,查找子字符串substr_old,替換成substr_new。第三個參數是可選的,指定替換的最大次數,默認是全部替換。

返回值:返回替換后的新字符串。

例如:

s = 'abcdefdef'

s1 = s.place('de', 'gh') # s1 = 'abchgfhgf'

s2 = s.place('de', 'gh',1) # s1 = 'abchgfedf'

split

list = split(str=' ', num)

描述:split函數用分隔字符str把字符串拆分成若干個子字符串。num指定拆分多少次,若沒有指定次數,則為全部拆分。

返回值:拆分后的子字符串列表(下一次我們將要學習列表)。

例如:

s = 'I am learning python'

list1 = s.split(' ') # list1 = ['I', 'am', 'learning', 'python']

list1 = s.split(' ', 2) # list1 = ['I', 'am', 'learning python']

upper, lower

str_new = upper()

str_new = lower()

描述:把字符串轉成大寫或小寫。

返回值:大小寫轉換后的新字符串。

例如:

s = 'abc'

s1 = s.uppper() # s1 = 'ABC'

s2 = s1.lower() # s2 = 'abc'

strip, lstrip, rstrip

str_new = strip(char=' ')

str_new = rstrip(char=' ')

str_new = lstrip(char=' ')

描述:strip函數用來去除頭或尾部的指定字符,默認是去掉空格。

返回值:返回處理后的新字符串。

例如:

s = ' abc'

s1 = s.lstrip() # s1 = 'abc'

s2 = s1.rstrip('') # s2 = 'abc'

startswith, endswith

boolean = startswith(str, begin=0, end=len(string))

boolean = endswith(str, begin=0, end=len(string))

描述:檢查字符串是否以str開頭或結尾,可以在指定范圍內檢查。

返回值:如果檢查到,返回True,否則返回False。

例如:

s = 'clk_a'

b1 = s.startswith('clk') # b1 = True

s = 'rst_n'

b2 = s.endswith('_n') # s2 = True

format

str_new = '{}{}...'.format(arg1, arg2, ...)

描述:format用來把其它數字、字符串、甚至對象等格式化成字符串。大括號{}用來指定名稱、位置、數字的格式等。

返回值:格式化后的新字符串。

例如:

s = 'I am learning {lang}'.format(lang='python') # s = 'I am learning python'

s = '{0} {1} {0}'.format('face', 'to') # s = 'face to face'

s = '{} {} {}'.format('I', 'love', 'python') # s = 'I love python'

第一種,按名稱替換。

第二種,按位置替換。

第三種,默認按位置替換,也是最常見的替換方式。

是不是有點像verilog的模塊例化?可以按名稱,也可以按位置。

format數字格式化

數字格式化成字符串的規則如下表:

例如:

s = "8'h{:0>2x}".format(15) # s = "8'h0f"

s = '{:.2%}'.format(3 / 9) # s = "33.33%"

可能有童鞋要問了“字符串內置這么多函數,一下也記不住啊?” 所以下面內容非常重要(敲黑板)。

1. 怎么看string還內置其它什么函數?

s = 'abc'

print(dir(s))

dir()是一個內置函數,能夠查看類的所有屬性和方法。結果如下:

2. 那怎么查看具體函數的使用方法呢?

python已經考慮到這個問題了,不需要百度、不需要查看源代碼,只需要調用help()函數。例如:

print(help(s.find))

將打印出下面的內容:

有沒有被python的貼心功能感動呢?

下一次我們將學習python的列表。

審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    596

    瀏覽量

    23165
  • 數據類型
    +關注

    關注

    0

    文章

    237

    瀏覽量

    14185
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    求助 LabVIEW 字符串比較

    1.輸入一個字符串,儲存起來。 2.再次輸入一個字符串,先和儲存起來的字符串比較,如果不同則存儲起來,如果相同則不儲存。 3.再次輸入一個字符串,和所有儲存起來的
    發表于 03-02 17:24

    基于凌羽派的OpenHarmony北向應用開發:ArkTS語法-數據類型和變量聲明

    ; type NullableObject = Object | null; 、代碼講解 下面是一個綜合案例,演示了上述大部分知識點的實際應用。 3.1 任務一:變量聲明與基本數據類型 這個任務將展示
    發表于 02-26 14:24

    字符串控件與靜態字符串控件中預覽字符顯示亂碼,如何修改顯示正常?

    字符串控件與靜態字符串控件中預覽字符顯示亂碼,如何修改顯示正常?
    發表于 01-20 17:17

    字符串,數字控件如何控制背景顏色和前景字體顏色?

    字符串,數字控件如何控制背景顏色和前景字體顏色?
    發表于 01-20 15:12

    睿遠研究院丨IO-Link規范解讀(十五):數據類型詳解

    前言 本篇對IO-Link規范的附錄F的數據類型做個詳細解釋,附錄定義了 ?基本數據類型 (Basic Data Types) 和? 組合數據類型 (Composite Data Types),并
    的頭像 發表于 01-14 18:25 ?5282次閱讀
    睿遠研究院丨IO-Link規范解讀(十五):<b class='flag-5'>數據類型</b>詳解

    不用編程不用聯網,快速實現PLC與數據庫雙向數據通訊的案例

    ;#039;數據處理/初始值' 列,常用的功能如下:1. 限定字符串的長度:當數據類型設置為字符串即CHAR[n]時,限定字符串
    發表于 01-14 10:51

    Linux下怎么讓中文字符串按照拼音排序?

    求教 Linux 下怎么讓中文字符串按照拼音排序?
    發表于 01-06 07:40

    LabVIEW 變體:萬能數據容器的藝術

    轉換”,可實現變體與平化字符串的相互轉換。平化字符串是LabVIEW中適于文件讀寫的標準化數據格式,該功能可用于變體數據的持久化存儲或網絡傳輸(注意:ActiveX變體
    發表于 01-05 11:06

    字符串關聯數字變量如何使用?我們的地址都是16位數據,可以使用16位數字變量顯示字符串嗎?

    字符串關聯數字變量如何使用?我們的地址都是16位數據,可以使用16位數字變量顯示字符串嗎?
    發表于 12-15 08:24

    labview如何生成一個帶字符串返回的dll

    labview如何生成一個dll,如下圖,要求一個輸入,類型字符串,返回類型也是字符串
    發表于 08-28 23:20

    Python字符串逆序有幾種方式,代碼是什么

    對于一個給定的字符串,逆序輸出,這個任務對于python來說是一種很簡單的操作,畢竟強大的列表和字符串處理的一些列函數足以應付這些問題 了,今天總結了一下python中對于
    的頭像 發表于 08-28 14:44 ?1082次閱讀

    SQL 通用數據類型

    如何與存儲的數據進行交互。 下面的表格列出了 SQL 中通用的數據類型數據類型 描述 CHARACTER(n) 字符/字符串。固定長度
    的頭像 發表于 08-18 09:46 ?710次閱讀

    harmony-utils之StrUtil,字符串工具類

    harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類
    的頭像 發表于 07-03 11:32 ?632次閱讀

    PLC通過智能網關實現HTTP協議通訊,先取得token后再提交獲取JSON格式的數據文件

    如下: 限定字符串的長度:當數據類型設置為字符串即CHAR[n]時,限定字符串的最大字符數,如‘[n=24]’,范圍1~128; 限定小數的
    發表于 06-17 16:07

    #### KEPServerEX 數據存儲插件\\-2

    ,同類型的/同設備的參數可以設置成一樣的,這樣存儲到數據庫之后,能夠更方便的在數據庫中進行檢索。 默認“數據項ID”是整形數據,如需填寫
    發表于 04-09 16:09