python--字符串

#一、字符串本質

'''

字符串的本質是字符序列

字符串的基本特點:python中字符串是不可變的,無法對原字符串做任何修改,但是可以將字符串的一部分複製到新創建的字符串中

內置函數ord()可以把字符串轉換成對應的unicode碼

內置函數chr()可以把十進制數字轉換成對應字符

python中允許創建空字符串

'''

a="abc"

print(a)

a=ord("b")

print(a)

a=chr(12)

print(a)

a=""

print(len(a))

a='''name="sj",\\

age='36',\\

lover='zd'

'''

print(a)

#二、轉義字符

'''

轉義字符:使用“\\+特殊字符”

\\:行尾,續行符

\\\\:反斜槓符

\\':單引號

\\b:退格

\\n:換行

\\t:橫向製表符,佔4個位置

\\r:回車

'''

a="姓名='sj',\\\\年齡='36',\\\\職業='教育'"

print(a)

a="姓名='sj,\\'年齡='36',\\'職業='教育'"

print(a)

a="姓名='ss',\\b年齡='36',\\b職業='教育'"

print(a)

a="姓名='ss',\\n年齡='36',\\n職業='教育'"

print(a)

a="姓名=ss',\\r年齡='36',\\r職業='教育'"

print(a)

a="姓名='ss',\\t年齡='36',\\t職業='教育'"

print(a)

#三、字符串拼接

'''

使用+將多個字符串拼接

兩邊都是字符串,則拼接

兩邊都是數字,則加法運算

兩邊類型不同,則報錯

*,實現字符串的複製

'''

a=12

b=34

c="aa"

d="bb"

print(c*5)

print(c+d)

print(a+b)

#print(a+c)報錯,不同類型

#四、不換行打印:可以通過參數 end="任意字符串"

print("123",end='')

print("123",end='&&')

print('\\n')

#五、input()從鍵盤讀取輸入的內容

a=input("我的名字:")#input()內不能有多個參數

print(a)

#六、str(),實現數字轉型字符串,使用[]提取字符

a=str("1234.5678")

print(a)

print(a[2])

# 七、replace(),實現字符串替換,並創建新字符串,並不是修改之前的字符串

a='123'

a=a.replace("2","s")

print(a)

#八、字符串的切片,slice操作

'''

格式:[起始偏移量star:終止偏移量end:步長step]

如果只有起始和終止,包頭不包尾

如果[:],則為取整體字符串

如果起始、終止、步長為負值,則為反向截取

'''

a='abcdefghijklmnopqrstuvwxyz'

print(a[0:6])

print(a[:])

print(a[:30])

print(a[::2])

print(a[:9:])

print(a[::-1])#步長為-1,從右向左反向提取

print(a[-25:-1])

print(a[-26:-4:2])

#九、split()分割和join()合併

a="abcdefghijklmnopqrstuvwxyz"

b='1234'

print(a.split())

print(a.split("abcdefg"))

print(a)

print(b.join(a))

print("字母".join(a))

#十、字符串駐留機制和字符串比較,對於符合標識符規則的字符串(下劃線、字母、數字)會啟用字符串駐留機制

a='123'

b='123'

c='123*'

d='123*'

print(a is b)

print(c is d)#這裡課件有問題,不僅包含下劃線、字母、數字

print(id(c))

print(id(d))

#十一、字符串的常用方法

'''

len():長度

startswith():以指定字符串開頭

endswith():以指定字符串結尾

find():第一次出現指定字符串位置

rfind():最後一次出現指定字符串位置

count():指定字符串出現次數

isalnum():所有字符全是字母或數字

strip():去除字符串首尾指定信息

capitalize():首字母大寫

title():每個單詞首字母大寫

upper():所有轉換成大寫

lower():所有轉換成小寫

swaplase():所有字母大小寫互換

center():居中對齊

ljust():左對齊

rjust():右對齊

其他方法:

isalpha():檢測字符串是否由字母組成

isdigit():檢測字符串是否由數字組成

isspace():檢測字符串是否由空白符組成

isupper():檢測字符串是否大寫

islower():檢測字符串是否小寫

strip():去除指定字符串

lstrip():去除左側指定字符串

rstrip():去除右側指定字符串

'''

a='abcdefghijklmnopqrstuvwxyz'

b='name age lover'

c='123'

d=' '

print(len(a))

print(a.startswith("a"))

print(a.endswith('z'))

print(a.find('a'))

print(a.rfind('b'))

print(a.count("c"))

print(a.capitalize())

print(a.upper())

print(a.lower())

print(b.title())

print(b.swapcase())

print(b.center(100,"&"))

print(a.isalpha())

print(c.isdigit())

print(d.isspace())

#十二、字符串的格式化,函數str.format(),基本語法通過{}和:來代替之前的內容

#填充和對齊,^、分別是居中、左、右對齊,一般後面帶寬度:後面帶填充的字符,只能是一個字符,不指定默認用空格填充

a='我的名字是:{0},我的年齡是:{1}'

print(a)

print(a.format('sj','36'))

b='我的名字是:{name},我的年齡是:{age},{name}是個好小夥'

print(b.format(name='sj',age='36'))

c="123"

print("{:*>8}".format(c))

print("我的名字是:{name},我的年齡是{age:^61}".format(name='sj',age='36'))

#十三、可變字符串:使用io.stringio對象或array模塊原地修改字符串

import io #引入io模塊

a='hello word'

b=io.StringIO(a)#b為定義一個變量

print(a)

b.seek(7)#找到位置為7的值

b.write("g")#將上面找到的值修改

print(b.getvalue())

#基本運算符

'''

邏輯運算符:與and、或or、非not

同一性判斷:is is not

比較運算:、>=、!=、==

位操作:或|、異或^、與&

移位:<>

按位反轉:~

算數運算:+、—、*、/、//、%、**

優先級:實際使用中使用小括號來組織運算,位運算和算數運算>比較運算>賦值運算>邏輯運算

'''

a=3

b=a<<3#右移3位,每移動1位乘以2

c=a>>1#左移2位,每移動1位除以2

print(b)

print(c)


分享到:


相關文章: