#一、字符串本質
'''
字符串的本質是字符序列
字符串的基本特點: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)
閱讀更多 愛簡單11 的文章