python中r 4.2f%r,006 Python中的 字符串String

一、表示方法

1.1常規表示

單引號和雙引號的區別

單引號內可以包含雙引號

雙引號內可以包含單引號

三引號的作用

三引號字符串中的換行會自動轉換為換行符 ‘\n’

三引號內可以包含單引號和雙引號

三引號,可以折行,可以回車;單引號和雙引號不行

隱式字符串字面值的拼接

S = “I’m” ‘ a programmer’

空字符串的布爾值為False,只要是空的就是False

1.2轉義

\’

單引號 ’

\v

垂直制表符

\”

雙引號 ”

倒退

\\

反斜杠\

\0

空字符(字符值為0)

\n

換行

\0oo

oo為兩位八進制表示的字符

返回光標至行首

XX為兩位十六進制表示的字符

\f

換頁

Unicode16的十六進制表示的字符

unicode32的十六進制表示的字符

常用ASCII編碼:記!

字符

十進制

十六進制

‘0’

48

0x30

‘A’

65

0x41

‘a’

97

0x61

1.3 raw字符串

作用

讓轉義符\無效

語法

單引號、雙引號、三引號將字符串內容括起來

示例

s= r‘C:\newfile\test.py’

二、字符串運算

2.1算術運算:

+  +=

拼接字符串

*    *=

重復打印字符串(只能乘整數)

2.2比較運算:

  >=  ==  !=

第一位和第一位相比,再第二位相比,直到比出勝負

“A” == ‘A’                 >>> True

‘A’ >>True

‘ABC’ > ‘ABB’           >>>True

‘ADC’ < ‘ABC’          >>>False

三、索引 和 切片

3.1索引 index

字符串 [ 整數表達式 ]

一定要是整數

字符串不可以改變字符序列

Python序列都可以用索引index來訪問序列中的對象

正向索引從0開始,最后一個為len(s) – 1,

反向索引從-1開始,第一個為 -len(s)

3.2切片 slice

從字符串序列中取出一部分相應的元素重新組成一個字符串

字符串 [ (開始索引b ) : (結束索引e)(:(步長s)) ]

注:括號內,可省略

A.開始索引

切片開始切下的位置0代表第一個元素,-1為最后一個元素

B.結束索引

切片的終止索引,但不包含終止索引

C.步長

切片每次切完當前索引后移動的方向和偏移量

a.默認為1:相當於取值完成后向后移動一個索引的位置()

b.當步長為正整數時,取正向切片

步長默認值為1,開始索引默認值為0,結束索引默認值為len(s)

c.步長為負整數,反向切片

默認的起始位置為最后一個元素,默認終止位置為第一個元素的前一個位置

1.     s = ‘ABCDE’

a = s[ 1 : 4 ]

a = s[ 1 : 1 ]

a = s[ 1 : ]

a = s[ : 2 ]

a = s[ : ]

a = s[4 : 2 ]

a = s[2 : 10000]

>>> ‘BCD’

>>>‘ ’

>>>‘BCDE’

>>>‘AB’

>>>‘ABCDE’

>>>‘ ’

>>>‘CDE’ 開始索引/結束索引可以越界

2.     s [ : : 2 ]

s [3 : : -1]

s [ : : -1]

s[ 4 : 0 : -2]

>>>‘ACE’

>>>  'dcba'

>>>‘EDCBA’

>>>‘EC’

四、 字符串方法

4.1 常見方法

對象 . 方法名(方法傳參)

‘abc’. isalpha( )

123 . isalpha( )

>>>正確的做法

>>>錯誤的

s. isdigit()

是否為數字

s. isalpha()

是否為全英文字母

s. islower()

是否全小寫

s. isupper()

是否全大寫

s.count(stub,。。。)

返回sub字符串的個數

s.find(sub)

查找sub的index

s.strip()

去掉左右空白字符(\n,\r,‘ ’,\t)

s.replace(old,new)

替換

s.startswith(s)

是否以s開頭

s.endswith(s)

是否以s結尾

4.2文本解析方法

S.split(sep=None)

用分隔符sep分割字符串S,分割后,返回字符串列表。sep默認為空白字符(\n\t\r都為空白字符)

S.join(iterable)

用iterable提供的字符串,中間用S進行分隔,返回一個字符串

示例

S = ‘beijing is capital’

L = s.split(‘ ’)

>>> L = [‘beijing’,‘is’,‘capital’]

L = [“C:”,“Windows”,“System32”]

S = ‘\\’.join(L)

>>>s = r“C:\Windows\System32”[W用7]

五、字符串格式化表達式

5.1規則

運算符

%

作用

生成一定格式的字符串

語法

格式字符串  %  參數值

格式字符串  %  (參數值1,參數值2, 。。。)

說明

格式字符串中的%為占位符,占位符的位置將用參數值替換

示例

fmt = “姓名:_%s_ ,年齡:_%d_”

Name = input(“請輸入姓名:”)

Age = int(input(“請輸入年齡:”))

S = fmt  % (name,age)

Print(s)

5.2占位符和類型碼

占位符

意義

%s

字符串,使用str函數轉換

%r

字符串,使用repr函數轉換

%c

整數轉為單個字符,相當於用chr()轉換

例:“%c” % 3000    >>> chr(3000)

%d

十進制整數

%o

轉成八進制整數

%x ,%X

轉成十六進制整數(a-f小寫),(A-F大寫)

%e ,%E

指數型浮點數(e小寫),(E大寫)

例:2.9e+10              2.9E+10

%f,%F

浮點十進制形式(默認小數點后面6位)

%g,%G

十進制形式浮點數或指數浮點數自動轉換

%%

等同於一個%字符

例:“%d%%”   %  50            >>> 50%

5.3占位符和類型碼之間的格式語法

格式

% [- + 0 寬度 精度] 類型碼

-

左對齊(默認右對齊)

+

顯示正號

0

左側空白位置補零

寬度

整個數據輸入的寬度

精度

保留一小數點后多少位(默認6位)示例:

Code

Print

Note

“%10d” % 123

‘          123’

(寬度為10,默認靠右)

“%-10d” % 123

‘123          ’

左對齊

‘%-+10d’% 123

‘+123          ’

左對齊,還有正號

‘%10s’ % ‘abc’

‘          abc’

‘%05d’% ‘123’

‘00123’

‘%-+5d’%  123

‘+123 ’

‘%.10f’% 1234.5678901234567890

1234.5678901234

.10 表示的是精度,小數點后面保留10位

‘%20.10f’% 1234.5678901234567890

1234.5678901234

寬度20,精度10,所以前面有5個空格。因為小數點也算一位

六、字符串相關的函數

6.1常用的序列函數

len()

返回長度

max()

返回序列最大編碼值元素

min()

返回序列最小編碼值元素

s = ‘hello’

print(len(s))

print(max(s))

print(min(s))

>>>5

>>>o

>>>e

sum(x)

返回序列中所有元素的和(元素必須是數字)

any(x)(一真即真)

真值測試,如果列表中的其中一個元素為真,返回True

all(x)(一假即假)

真值測試,如果列表中所有元素都為真值,返回True

sum([1,5,9,3])

sum([1,2,3] , 10)

sum(range(1,101))

L = [ 1, 7, 0, 3, 2]

any(L)

all(L)

>>>18

>>>16(設置了起始值10)

>>>5050

>>>True

>>>False

6.2字符串編碼(encode)的轉換函數

ord(c)

返回一個字符的Unicode值

chr(i)

返回i這個值所對應的字符

6.3整數轉換為字符串的函數

hex(i)

整數轉換為十六進制的字符串

oct(i)

整數轉換為八進制的字符串

bin(i)

整數轉換為二進制的字符串(binary)

bin(100)

oct(100)

hex(100)

>>>0b1100100

>>>0o144

>>>0x64

6.4字符串的構造函數

str(obj =‘ ’)

對象轉換為字符

str(3.14)

str(None)

>>>‘3.14’

>>>‘None’

[W用1]print(“ABCD\bd”)    >>>ABCd

[W用2]print("ABCD\rdop")         >>>dopD

print("ABCD\rd")             >>>dBCD

[W用3]\n = \x0A (hex) =\012

查看ASACII碼表: man ascii

[W用4]‘A’=‘\u0041’

[W用5]‘A’=‘\U00000041’(大寫U)

[W用7]在python交互模式下,print(s)和s輸出的不一樣。s輸出的是s的表達式,給機器看的;print(s)才是給人看的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值