日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python3常用基礎(chǔ)一

 Four兄 2019-08-31

python語言介紹

Python是一種計(jì)算機(jī)程序設(shè)計(jì)語言,是一種面向?qū)ο蟮膭?dòng)態(tài)類型語言,一種解釋型腳本語言,也被稱為是“膠水語言”,python代碼簡潔、易讀性、可擴(kuò)展性、可維護(hù)性和可移植性強(qiáng),是一種用途廣泛的語言,涉及眾多領(lǐng)域,圖像處理、web編程、數(shù)據(jù)分析、爬蟲、多媒體應(yīng)用、大數(shù)據(jù)、人工智能……等等眾多領(lǐng)域,非常適合初級(jí)編程學(xué)習(xí)。

下面就以常用的python基礎(chǔ)做一簡單總結(jié),如有寫的不對(duì)的地方,希望大家能夠指出來,我們共同進(jìn)步!

一、運(yùn)算符

  • 算術(shù)運(yùn)算符: ‘+’ 加、 ‘-’ 減、 ‘*’ 乘 、 ‘/’ 除以 、 ‘%’ 取余 、 ‘**’ 指數(shù)冪 、 ‘//’ 整除
  • 賦值運(yùn)算符:
a = 2 # = 將2賦值給aa += 2 # += 加法賦值運(yùn)算符-> a = a + 2a -= 2 # -= 減法賦值運(yùn)算符-> a = a - 2a *= 2 # *= 乘法賦值運(yùn)算符-> a = a * 2a /= 2 # /= 除法賦值運(yùn)算符-> a = a / 2a %= 2 # %= 取模賦值運(yùn)算符-> a = a % 2a **= 2 # **= 冪賦值運(yùn)算符-> a = a ** 2a //= 2 # //= 整除賦值運(yùn)算符-> a = a // 2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 邏輯運(yùn)算符
#  and  邏輯與   a and b    兩者同真才為真  True    否則都為假  False#  or   邏輯或   a or b     兩者同假才為假 False    否則都為真  True#  not  非運(yùn)算   not a      若a為假,則為True  否則為False
  • 1
  • 2
  • 3
  • 成員運(yùn)算符
# in 是否在指定的序列中 x in y 若x在y中,則為True,否則為False# not in 是否不在指定的序列中
  • 1
  • 2
  • 身份運(yùn)算符
# is  判斷對(duì)象內(nèi)存地址  print(id(a) is id(b))  如果內(nèi)存地址相同則為True,否則為False# is not 判斷不是   print(a is not b) 正確為True,否則為False
  • 1
  • 2

二、 基本數(shù)據(jù)類型

  • 數(shù)字型(Number):包括整型和浮點(diǎn)型
    1.整型 (int): 即整數(shù)10
    2.浮點(diǎn)型(float):即小數(shù) 2.5
  • 空值 (None):即0、[]、{}、’’
  • 布爾型(bool):(True,F(xiàn)alse)對(duì)應(yīng)->(1,0)
  • 字符串 (str): “abcde”,‘defs’, “”“gfakgfka”'',單引號(hào),雙引號(hào),三引號(hào)都可以表示字符串,三引號(hào)也可作注釋
  • 列表(list):[1,2,3],用[]表示
  • 元組(tuple):(1,2,3)用()表示
  • 字典(dict):{‘name’:‘Tom’} 用{}表示,以鍵值對(duì)的形式name為鍵名key,Tom為值value
  • 集合(set):{1,2,3} 用{}表示,以逗號(hào)隔開
  • 復(fù)數(shù)(complex):即虛數(shù),1 + 2j,表示方法和數(shù)學(xué)上差不多,較少用到
  • 二進(jìn)制數(shù)據(jù)類型(bytes) :b’dfGFkggkasfg’,字符串前加b,表示bytes類型數(shù)據(jù)。

三、序列類型常用方法

1.列表(list)

列表是一種有序的集合【有序:數(shù)據(jù)的存放順序和內(nèi)存中的存儲(chǔ)順序是相同的,列表中的數(shù)據(jù)在內(nèi)存中的地址是連續(xù)的,列表是一種可變的序列】

  • append():在列表的末尾添加新元素,添加單個(gè)元素,寫多個(gè)直接報(bào)錯(cuò)

    list1 = ['Tom','Harry','Lili']list1.append('Jery')print(list1) # ['Tom','Harry','Lili','Jery']# 添加列表,會(huì)當(dāng)成一個(gè)元素添加到列表尾部list1.append([1,2,3])print(list1) # ['Tom', 'Harry', 'Lili', 'Jery', [1, 2, 3]]
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    insert(): 插入,指定位置( 索引下標(biāo))插入元素

    #如果下標(biāo)超過索引的范圍,如果是正數(shù),則默認(rèn)插入到列表末尾;如果是負(fù)數(shù),則默認(rèn)插入到列表開頭list1 = ['Tom','Harry','Lili']list1.insert(1,'xiaomi')print(list1)   #   ['Tom','xiaomi','Harry','Lili']list1.insert(-10,'haha')print(list1)  #   ['haha','Tom','xiaomi',Harry','Lili']
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    拼接列表

    list1 = [1,2,3]list2 = [4,5,6]# 拼接列表的方法還有很多,下面簡單介紹幾種'''extend():拼接擴(kuò)展列表,在前一個(gè)列表的末尾拼接另一個(gè)列表,前一個(gè)列表增加元素,后一個(gè)列表不變,還可以拼接其他可迭代對(duì)象,打碎添加進(jìn)去'''list1.extend(list2)print(list1) # [1,2,3,4,5,6]list1.extend('fgajfg')print(list1) # [1, 2, 3, 4, 5, 6, 'f', 'g', 'a', 'j', 'f', 'g']# '+' 拼接,生成新的列表li = list1 + list2print(li) # [1,2,3,4,5,6]# 選擇位置拼接:a = [1,2,3]a[:0] = [0] # 在首部拼接 [0, 1, 2, 3]a[-1:] = [4,5,6] # 在尾部拼接 [0, 1, 2, 3, 4, 5, 6]a[3:3] = ['a','b'] # 在中部拼接 [0, 1, 2, 'a', 'b', 4, 5, 6]# 列表替換方法:li = [1,2,3,4]li[:1] = 'a' # 替換一個(gè) ['a', 2, 3, 4]li[:3] = [7,8,9] # 替換三個(gè) [7, 8, 9, 4]li[1:3] = ['b','c','d','e'] # 非等長替換 [7, 'b', 'c', 'd', 'e', 4]# 帶步長的替換一定要長度對(duì)等,即要替換的長度和替換的序列的長度要想等,否則報(bào)錯(cuò)li[::2] = [1,2,3] # 帶步長替換 [1, 'b', 2, 'd', 3, 4]li[::2] = [1,2,3,4] print(li) # ValueError: attempt to assign sequence of size 4 to extended slice of size 3
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • pop():刪除,指定位置刪除,索引下表

    list1 = [1,2,3,4]list1.pop(2)print(list1)  # [1,2,4]# 不寫默認(rèn)刪除最后一個(gè)list1.pop()print(list1)  # [1,2]
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    del刪除

    # 刪除元素:list1 = [1,2,3,4,5]del list1[1:3] # 指定長度刪除元素print(list1) # [1, 4, 5]list2 = [1, 4, 5, 6, 7, 8, 9]del list1[::2] # 帶步長刪除print(list2) # [4, 6, 8]
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    remove:指定元素刪除

    list1 = [1,2,3,4]list1.remove('2')print(list1)  #   [1,3,4]# 若有相同元素,則刪除第一個(gè)
    • 1
    • 2
    • 3
    • 4

    clear:清空整個(gè)列表

    list1 = [1,2,3]list1.clear()print(list1) # []
    • 1
    • 2
    • 3
  • 指定位置修改

    list1 = ['Tom','Harry','Lili']list1[1] = 'xiaomi'print(list1) #   ['Tom','xiaomi','Lili']
    • 1
    • 2
    • 3
  • index索引查,查詢下標(biāo)

    list1 = ['Tom','Harry','Lili']print(list1.index('Lili')) # 2# 若有多個(gè)相同的元素,則返回第一個(gè)元素的下標(biāo),若該元素不在列表中,則報(bào)錯(cuò)
    • 1
    • 2
    • 3

    通過索引獲取值

    list1 = [1,2,3,4]print(list1[1])  #  2
    • 1
    • 2

    count 查找某元素在序列中的個(gè)數(shù)

    list1 = [1,2,3,4,1,2,1]print(list1.count(1)) # 3
    • 1
    • 2
  • 其他方法

    copy 列表里的拷貝

    #一維列表list1 = [11,22,33]list2 = list1.copy()print(list1)                 # [11, 22, 33]print(list2)                 # [11, 22, 33]print(id(list1) == id(list2))# Falseprint(id(list1),id(list2))   # 2025481596616 2025481596872list1[2] = 100print(list1)                 # [11, 22, 100]print(list2)                 # [11, 22, 33]print(id(list1) == id(list2))# False print(id(list1),id(list2))   # 2025481596616 2025481596872#二維列表list1 = [[11,22,33],[44,55]]list2 = list1.copy()print(list1)                 # [[11, 22, 33], [44, 55]]print(list2)                 # [[11, 22, 33], [44, 55]]print(id(list1) == id(list2))# Falseprint(id(list1),id(list2))   # 2025481609288 2025481596616list1[1][1] = 100print(list1)                 # [[11, 22, 33], [44, 100]]print(list2)                 # [[11, 22, 33], [44, 100]]print(id(list1) == id(list2))# Falseprint(id(list1),id(list2))   # 2025481609288 2025481596616'''列表中的copy一維列表:一個(gè)列表發(fā)生改變,另外一個(gè)列表不會(huì)隨著發(fā)生改變二維列表:當(dāng)修改二維列表中的元素,當(dāng)一個(gè)列表發(fā)生改變,另外一個(gè)列表也會(huì)隨著發(fā)生改變''' # 深淺拷貝# 淺拷貝import copylist1 = [11,22,33]list2 = copy.copy(list1)print(list1)                  # [11, 22, 33]print(list2)                  # [11, 22, 33]print(id(list1) == id(list2)) # Falselist1[2] = 100print(list1)                  # [11, 22, 100]print(list2)                  # [11, 22, 100]print(id(list1) == id(list2)) # False# 二維列表a = [1,2,3]b = [4,5,6]c = [a,b]d = copy.copy(c)print(c)                 # [[1, 2, 3], [4, 5, 6]]print(d)                 # [[1, 2, 3], [4, 5, 6]]print(id(c) == id(d)     # Falsea.append(100)print(c)				# [[1, 2, 3, 100], [4, 5, 6]]print(d)				# [[1, 2, 3, 100], [4, 5, 6]]# 深拷貝:copy.deepcopy()# 一維列表list1 = [11,22,33]list2 = copy.deepcopy(list1)print(list1)                  # [11, 22, 33]print(list2)                  # [11, 22, 33]print(id(list1) == id(list2)) # Falselist1[2] = 100print(list1)                # [11, 22, 100]print(list2)				# [11, 22, 33]print(id(list1) == id(list2))# False# 二維列表a = [1,2,3]b = [4,5,6]c = [a,b]d = copy.deepcopy(c)print(c)		# [[1, 2, 3], [4, 5, 6]]print(d)		# [[1, 2, 3], [4, 5, 6]]a.append(100)print(c)		# [[1, 2, 3, 100], [4, 5, 6]]print(d)		# [[1, 2, 3], [4, 5, 6]]'''1.對(duì)于一維列表,copy和deepcopy之后的結(jié)果,一個(gè)列表發(fā)生改變,另外一個(gè)列表不受影響2.對(duì)于二維列表   a.copy:只拷貝最外層,當(dāng)一個(gè)列表的二維列表中的元素發(fā)生改變,則另外一個(gè)列表也會(huì)隨著發(fā)生改變   b.deepcopy:拷貝里外層,當(dāng)一個(gè)列表的二維列表中的元素發(fā)生改變,另外一個(gè)列表不受影響'''
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89

    reverse 反轉(zhuǎn)列表

    list1 = [1,5,3,4]list1.reverse()print(list1) # out [4,3,5,1]
    • 1
    • 2
    • 3

    max/min求最值

    list1 = [1,23,45,613,46,13,45]print(max(list1))  # 613print(min(list1))  # 1
    • 1
    • 2
    • 3

    len求長度/sum求和

    list1 = [1,2,3,4,5,6,7,8]print(len(list1)) # 8print(sum(list1)) # 36
    • 1
    • 2
    • 3

    交換兩個(gè)變量的值

    # python中特有的語法a = 10b = 20a,b = b,aprint(a,b)  # 20 10
    • 1
    • 2
    • 3
    • 4
    • 5

    sort 排序

    list1 = [51,12,55,21]list1.sort()print(list1) # out [12,21,51,55]# 倒序,reverse=True為倒序,F(xiàn)alse為正序list1.sort(resverse=True)print(list1) # out [55,51,21,12]# sort 函數(shù)中,有個(gè)關(guān)鍵字key,可以自定義排序的規(guī)則list2 = ['ssfafa','sad','asfafaf','asffa']list2.sort(key=len,reverse = True)print(list1) # out ['asfafaf', 'ssfafa', 'asffa', 'sad']
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    切片 :訪問序列的方式

    # [a:b:c]  a,b,c為元素下標(biāo),[start,end,step]  start:起始位置,end:結(jié)束位置(取不到),step 步長list1 = [0,1,2,3,4,5,6,7,8,9]print(list1[:])  # 獲取全部  [0,1,2,3,4,5,6,7,8,9]print(list1[0:])  # 獲取全部  [0,1,2,3,4,5,6,7,8,9]print(list1[:5])  # [0,1,2,3,4]print(list1[1:7:2]) # [1, 3, 5]print(list1[-1])  # 9print(list1[-1:-5])# [] print(list1[5:1:-1])# [5, 4, 3, 2]'''因?yàn)椴介L為正,則正著取,即取【-1+步長】的這一位,即0位的元素,不在索引范圍內(nèi),故取不到值,即(start,end都為負(fù)數(shù),start>end,step為正時(shí),返回[],也就是說,start,end都是負(fù)數(shù)時(shí),正著取,start一定要小于end,否則為空,同樣,start,end都是整數(shù), 倒著取,start一定要大于end)'''print(list1[-5:-1]) # [5, 6, 7, 8]  end取不到print(list1[-1:-7:-2])  # 倒著取   [9, 7, 5]print(list1[-5:-1:-1]) # []  同理,[start + step] 不在范圍內(nèi),故為[] # 不管順著取,還是倒著取,[start + step]不在區(qū)間內(nèi)就返回[],記住這一點(diǎn)就差不多了。# 特殊情況print(list1[0:-1]) # [0,1,2,3,4,5,6,7,8]  -1位為列表最后一位元素,故start >0 ,end < 0 ,為順著開頭,倒著結(jié)尾的這個(gè)區(qū)間,一旦交叉,返回[]# 但加了步長又會(huì)不一樣print(list1[0:-1:-1]) # [],加了步長就要用上面的那種辦法考慮了# 切片還有很多有意思的地方,這里就簡單說這么多了。
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

2.元組(tuple)

元組:和列表類似,元組也是一個(gè)有序的集合,元組和列表的不同之處: 定義,列表:[],元組:(),列表是一種可變的數(shù)據(jù)類型【可以增加或者刪除或者更改元素】,元組是一種不可變的數(shù)據(jù)類型【一旦定義好一個(gè)元組,該元組內(nèi)部的元素將不能再發(fā)生任何的改變】

  • 表示

    tuple1 = (1,2,3)# 定義的元組里面要在里面加','號(hào),否則系統(tǒng)會(huì)默認(rèn)為是其他的類型
    • 1
    • 2
  • 獲取元素

    # 元組獲取元素的方式和列表相同tuple1 = (1,2,3,4,5)print(tuple1[1])  # 2# 元組是不可變類型,但如果元組中的元素是列表的話,就可以隨意修改了tuple2 = ([1,2,3],[4,5,6])tuple2[1].append('a')print(tuple2) # ([1, 2, 3], [4, 5, 6, 'a'])
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 組合

    t1 = (1,2,3)t2 = (4,5,6)print(t1 + t2) # (1, 2, 3, 4, 5, 6) # 但可以相加,組合成一個(gè)新的元組print(t1) # (1, 2, 3) # 不可變類型
    • 1
    • 2
    • 3
    • 4
  • 重復(fù)元素

    t1 = (1,2)print(t1 * 3)  # (1,2,1,2,1,2) # 因?yàn)槭遣豢勺冾愋?,故只要是修改的方法,都是生成一個(gè)新的數(shù)據(jù)
    • 1
    • 2
  • 其他方法

    tuple1 = (1,2,3,4) = # len()求長度print(len(tuple1)) # 4# sum() 求和print(sum(tuple1)) # 10# max()/min()最大值/最小值print(max(tuple1)) # 4print(min(tuple1)) # 1# count() 查看元素個(gè)數(shù)print(tuple1.count(2)) # 1# index() 查看元素下標(biāo)print(tuple1.index(1)) # 0# del 刪除元組del tuple1print(tuple1) # 報(bào)錯(cuò),未定義# 元組可以和列表互相轉(zhuǎn)化l1 = list(tuple1)print(l1) # [1, 2, 3, 4]print(tuple(l1)) # (1,2,3,4)# 因?yàn)樵M是不可變類型,故它的方法較少
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

3.字符串(str)

字符串:用單引號(hào),雙引號(hào),三引號(hào)包裹起來一些元素,這種數(shù)據(jù)就叫做字符串,其中若有一些特殊字符,則需要用“\”來轉(zhuǎn)義

  • 表示

    a = '這是字符串!'  #  單引號(hào)b = '這也是字符串!'  # 雙引號(hào)# 單引號(hào)和雙引號(hào)不借助換行符不能直接換行表示,三引號(hào)可以直接換行表示c = '''這還是字符串!'''  # 三引號(hào),也做注釋
    • 1
    • 2
    • 3
    • 4
  • 索引 切片方法都一致

    str1 = '今天天氣不錯(cuò)!'print(str1[3]) # 氣 print(str1[0:3]) # 今天天
    • 1
    • 2
    • 3
  • 查/判斷
    count 查詢某元素在該序列中出現(xiàn)的次數(shù)

    str1 = 'hello,world!'print(str1.count('o'))  #  2
    • 1
    • 2

    index /find 查詢某元素在該序列中的位置(下標(biāo))區(qū)別:index查找不存在的值會(huì)報(bào)錯(cuò),而find會(huì)返回-1

    str1 = 'hello world!'print(str1.index('world')) # 6# 從右邊開始查找print(str1.rindex('o')) # 7print(str1.find('llo')) # 2print(str1.find('safa')) # -1# rfind()從右邊開始查找,返回下標(biāo)print(str1.rfind('w')) # 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    isdigit()/isdecimal() 判斷字符串是否是純數(shù)字

    str1 = 'hashlaf456h'print(str1.isdigit())   # Falseprint(str1.isdecimal()) #  Falsestr2 = '4564644'       print(str2.isdigit())   # True  print(str1.isdecimal()) # Trueprint(str1)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    isalpha 判斷是否是純英文

    str1 = 'hello,world!'print(str1.isalpha()) # Falsestr2 = 'gkgfkakfhahfl'print(str2.isalpha()) # True
    • 1
    • 2
    • 3
    • 4

    startswith 判斷是否是以某元素開頭

    str1 = 'hello world!'print(str1.startswith('hello')) # True
    • 1
    • 2

    endswith 判斷是否是以某元素結(jié)尾

    str1 = 'hello,world!'print(str1.endswith('ld!')) # True
    • 1
    • 2

    islower 判斷英文字母是否全為小寫

    str1 = 'hsafhl434hsalfh'print(str1.islower())  # True 
    • 1
    • 2

    isupper 判斷英文字母是否全為大寫

    str1 = 'KSFGKFGS,.,.'print(str1.isupper()) # Truestr2 = '41343'print(str2.isupper()) # False
    • 1
    • 2
    • 3
    • 4

    istitle() 判斷字符串是否只有是字母是大寫

    str1 = 'Gjpdsjfs464'print(str1.istitle())    # Truestr2 = 'GKG4674dsafa'print(str2.istitle())  # False# 如果其中有特殊字符則為Falsestr3 = 'Gjf;aj88**fsaf'print(str3.istitle())  # False
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 改: 字符串是不可變類型,下面的修改方法是生成新的序列
    upper: 將英文全部修改為大寫

    str1 = 'hello,world!'print(str1.upper()) # HELLO,WORLD!
    • 1
    • 2

    lower: 將英文全部修改為小寫

    str1 = 'GHSAGKaskhfa'print(str1.lower())   # ghsagkaskhfa
    • 1
    • 2

    strip (lstrip/rstrip) 消除字符串兩端無用的空格,lstrip,只消除左端的,rstrip,只消除右端的

    str1 = ' hhflahfn hlhaf ahflh hah 'print(str1.strip()) # hhflahfn hlhaf ahflh hahprint(str1.lstrip()) # hhflahfn hlhaf ahflh hah print(str1.rstrip()) # hhflahfn hlhaf ahflh hah
    • 1
    • 2
    • 3
    • 4

    split :分割字符串,以列表的形式輸出,不寫默認(rèn)以空格分隔

    str1 = 'hello world, today is nice day!'print(str1.split(' '))  # ['hello', 'world,', 'today', 'is', 'nice', 'day!']print(str1.split())  # ['hello', 'world,', 'today', 'is', 'nice', 'day!']print(str1.split(','))  #  ['hello world', ' today is nice day!']
    • 1
    • 2
    • 3
    • 4

    title:將字符串的每個(gè)單詞首字母大寫

    str1 = 'hello world!'print(str1.title()) # Hello World!
    • 1
    • 2

    eveal() 將可以是表達(dá)式的字符串轉(zhuǎn)換成有效的表達(dá)式

    	str1 = '1 + 1'	print(eveal(str1))  # 2
    • 1
    • 2

    “+” 拼接

    str1 = 'hello'str2 = ' world'print(str1 + str2) # hello world
    • 1
    • 2
    • 3

    str1.join(str2)拼接字符串,join()的實(shí)際意義是將str1分隔插入到str2中

    str1 = ''str2 = ['h','e','l','l','o']print(str1.join(str2))   # hellostr3 = '+'str4 = 'world'print(''.join(str4))   #  worldprint(str3.join(str4))  # w+o+r+l+d
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    swapcase(),將字符串中的字母大寫變小寫,小寫變大寫

    s = 'HHEldf46546fGILGfa'print(s.swapcase()) # hheLDF46546FgilgFA
    • 1
    • 2

    capitalize(),將字符串的首單詞大寫,其他全部小寫

    str1 = 'dsHFSJHLdshlf'print(str1.capitalize())  # Dshfsjhldshlf
    • 1
    • 2

    ord()將單個(gè)字母根據(jù)assic碼轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字,chr():將單個(gè)數(shù)字根據(jù)assic碼轉(zhuǎn)換成相應(yīng)的字母

    str1 = 65print(chr(str1)) # A 這里數(shù)字和字母對(duì)應(yīng)的assic碼為: a-z : 97-122 A-Z:65-90str2 = 'B'print(ord(str2)) # 66
    • 1
    • 2
    • 3
    • 4

    str1.center(length,str2) 將字符串str1居中放置到str2中,整個(gè)字符串長度為length,不夠的用str2填充

    str1 = 'hello'print(str1.center(20,'*')) # *******hello********
    • 1
    • 2

    replace(old,new)替換

    str1 = 'h e l l o'print(str1.replace(' ','')) #helloprint(str1.replace('o','o ,world')) # h e l l o ,world
    • 1
    • 2
    • 3

    str.maketrans() translate()映射替換

    #1、使用 str.maketrans()函數(shù)生成一個(gè)數(shù)據(jù)關(guān)系映射表t = str.maketrans('abcdef','123456')  #  兩個(gè)字符串的字符長度要對(duì)應(yīng),否則報(bào)錯(cuò)str1 = 'bdce'#將映射表放入函數(shù)中print(str1.translate(t))  #   2435  
    • 1
    • 2
    • 3
    • 4
    • 5

    字符串的編碼encode解碼decode(主要針對(duì)中文)

    str1 = 'hello'# 默認(rèn)編碼方式為 utf8# 編碼print(str1.encode()) # b'hello'str2 = '你好'print(str2.encode()) # b'\xe4\xbd\xa0\xe5\xa5\xbd'str3 = b'\xe4\xbd\xa0\xe5\xa5\xbd'# 解碼print(str3.decode()) # 你好print(str2.encode().decode()) # 你好str4 = '今天天氣不錯(cuò)!'s = str4.encode('GBK')print(s) # b'\xbd\xf1\xcc\xec\xcc\xec\xc6\xf8\xb2\xbb\xb4\xed\xa3\xa1'print(s.decode()) #報(bào)錯(cuò) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbd in position 0: invalid start byte # 以gbk編碼,不寫解碼方式,默認(rèn)以u(píng)tf8解碼,故會(huì)報(bào)錯(cuò)print(s.decode('gbk')) # 今天天氣不錯(cuò)!
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    待更新?。?!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多