第四章-Python數(shù)據(jù)類型-第1節(jié)字符串

返回總目錄:第四章-Python數(shù)據(jù)類型

  1. Python字符串(string)

Python 中的字符串必須由 雙引號(hào)"" 或者 單引號(hào)' ' 包圍,具體格式為:

    "字符串內(nèi)容"
    '字符串內(nèi)容'  

處理字符串中包含引號(hào),我們有兩種處理方案:

  • 對(duì)引號(hào)進(jìn)行轉(zhuǎn)義
    在引號(hào)前面添加反斜杠\就可以對(duì)引號(hào)進(jìn)行轉(zhuǎn)義,讓 Python 把它作為普通文本對(duì)待,例如:

      str1 = 'I\'m a great coder!'
      str2 = "引文雙引號(hào)是\",中文雙引號(hào)是“"
      print(str1)
      print(str2)
    
  • 使用不同的引號(hào)包圍字符串

      str1 = "I'm a great coder!"  #使用雙引號(hào)包圍含有單引號(hào)的字符串
      str2 = '引文雙引號(hào)是",中文雙引號(hào)是“'  #使用單引號(hào)包圍含有雙引號(hào)的字符串
      print(str1)
      print(str2)
    

運(yùn)行結(jié)果:

    I'm a great coder!
    引文雙引號(hào)是",中文雙引號(hào)是“  

原始字符串:在普通字符串或者長(zhǎng)字符串的開頭加上r前綴,就變成了原始字符串

    str1 = r'I\'m a great coder!'
    print(str1)
    
    輸出結(jié)果:
    I\'m a great coder!

使用字符串:

    #!/usr/bin/python3

    var1 = 'Hello World!'
    var2 = "Runoob"

    print ("var1[0]: ", var1[0])
    print ("var2[1:5]: ", var2[1:5])  

運(yùn)行結(jié)果:

    var1[0]:  H
    var2[1:5]:  unoo  

Python字符串運(yùn)算符

操作符 描述 實(shí)例
+ 字符串連接 a + b 輸出結(jié)果: HelloPython
* 重復(fù)輸出字符串 a*2 輸出結(jié)果:HelloHello
[ ] 通過(guò)索引獲取字符串中字符 a[1] 輸出結(jié)果 e
[ : ] 截取字符串中的一部分,遵循左閉右開原則,str[0:2] 是不包含第 3 個(gè)字符的。 a[1:4] 輸出結(jié)果 ell
in 成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True 'H' in a 輸出結(jié)果 True
not in 成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True 'M' not in a 輸出結(jié)果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來(lái)使用,沒(méi)有轉(zhuǎn)義特殊或不能打印的字符。 原始字符串除在字符串的第一個(gè)引號(hào)前加上字母 r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語(yǔ)法。 print( r'\n' ) 或 print( R'\n' )
% 格式字符串 見(jiàn)下方詳細(xì)描述

【實(shí)例】字符串運(yùn)算符操作:

    #!/usr/bin/python3

    a = "Hello"
    b = "Python"

    print("a + b 輸出結(jié)果:", a + b)
    print("a * 2 輸出結(jié)果:", a * 2)
    print("a[1] 輸出結(jié)果:", a[1])
    print("a[1:4] 輸出結(jié)果:", a[1:4])

    if( "H" in a) :
        print("H 在變量 a 中")
    else :
        print("H 不在變量 a 中")

    if( "M" not in a) :
        print("M 不在變量 a 中")
    else :
        print("M 在變量 a 中")

    print (r'\n')
    print (R'\n')

輸出結(jié)果:

    a + b 輸出結(jié)果: HelloPython
    a * 2 輸出結(jié)果: HelloHello
    a[1] 輸出結(jié)果: e
    a[1:4] 輸出結(jié)果: ell
    H 在變量 a 中
    M 不在變量 a 中
    \n
    \n

Python字符串格式化

    #!/usr/bin/python3
    print ("我叫 %s 今年 %d 歲!" % ('小明', 10))

python字符串格式化符號(hào):

符 號(hào) 描述
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數(shù)
%u 格式化無(wú)符號(hào)整型
%o 格式化無(wú)符號(hào)八進(jìn)制數(shù)
%x 格式化無(wú)符號(hào)十六進(jìn)制數(shù)
%X 格式化無(wú)符號(hào)十六進(jìn)制數(shù)(大寫)
%f 格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度
%e 用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%E 作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%g %f和%e的簡(jiǎn)寫
%G %f 和 %E 的簡(jiǎn)寫
%p 用十六進(jìn)制數(shù)格式化變量的地址

Python format 格式化函數(shù)

Python2.6 開始,新增了一種格式化字符串的函數(shù) str.format(),它增強(qiáng)了字符串格式化的功能。
基本語(yǔ)法是通過(guò) {} 和 : 來(lái)代替以前的 % 。
format 函數(shù)可以接受不限個(gè)參數(shù),位置可以不按順序。

占位符格式化:

    >>>"{} {}".format("hello", "world")    # 不設(shè)置指定位置,按默認(rèn)順序
    'hello world'

    >>> "{0} {1}".format("hello", "world")  # 設(shè)置指定位置
    'hello world'

    >>> "{1} {0} {1}".format("hello", "world")  # 設(shè)置指定位置
    'world hello world'  

指定參數(shù)格式化:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-

    print("網(wǎng)站名:{name}, 地址 {url}".format(name="菜鳥教程", url="www.runoob.com"))

    # 通過(guò)字典設(shè)置參數(shù)
    site = {"name": "菜鳥教程", "url": "www.runoob.com"}
    print("網(wǎng)站名:{name}, 地址 {url}".format(**site))

    # 通過(guò)列表索引設(shè)置參數(shù)
    my_list = ['菜鳥教程', 'www.runoob.com']
    print("網(wǎng)站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必須的  

也可以向 str.format() 傳入對(duì)象:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-

    class AssignValue(object):
        def __init__(self, value):
            self.value = value
    my_value = AssignValue(6)
    print('value 為: {0.value}'.format(my_value))  # "0" 是可選的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容