溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 字符類型

發(fā)布時間:2020-07-25 00:40:26 來源:網(wǎng)絡 閱讀:2661 作者:期待美好 欄目:編程語言
數(shù)字類型:
復數(shù):
x=1+2j #1為實數(shù),2j為虛數(shù)
print(x.real)
print(x.imag)

可變:值變,id不變,可變==不可hash
不可變:值變,id就變,不可變==可hash
print(hash(123))

數(shù)字類型和字符串類型為不可變

字符串類型:
在'',"",''' '''內(nèi)定義的一串字符。
mag='hello '

1.按索引取值(正向取+反向?。褐荒苋?print=(mag[0])
print=(mag[-1])

2.切片(顧頭不顧尾,步長)也適用于列表
print(mag[0:4]) #0為首,4為尾
  hell

print(mag[1:4:2])#1為首,4為尾,2為步長,隔2取一次。
  l

print(mag[:]) #開始取到結尾

rint(mag[-1::-1]) #倒著取出所有值

3.長度:len
print(len(mag)) 等于 print(mag.__len__()) 

4.成員運算in和not in
print('llo' in mag)
print('llo' not in mag)

5.移除空白strip:只清除2邊的空字符
password='   123456    '
pritn(password.strip())
password=input('>>:').strip()

lstrip(去左)rstrip(去右)

6.切分split
user='root:x:0:0::/root:/bin/bash'
res=user.split(':') #默認以空格分隔
print(res[0])
  root

path='C:\\a\\d.txt'
print(path.split('\\',1)) #1為只分隔一次

print(path.rsplit('\\',1)) #從右向左切

7.循環(huán)
mag='hel'

n=0
size=len(mag)
while n < size:
     print(mag[n])
     n+=1

for i in mag: 
    print(i)

for i in range(0,5,2):  
    print(i)

8.大小寫變化
print('Ajisdf'.lower()) #變小寫
print('asdF'.upper())  #變大寫

9.startswith(以什么開始),endswith(以什么結尾)
ma=amk thui
print(ma.startswith('a'))
print(ma.endswith('i'))

10.format傳值
print('my name is %s  age is %s' %('lx',78))
print('my name is ()  age is ()' format('lx',78))

print('my name is (x)  age is (y)' format(y=78,x='lx'))

print('my name is (0)  age is (1) you love (0)' format('lx',78))

11.join(和split相反)只用于字符串類型的列表拼接
inct='root:x:0:0:/root:/bin/bash'
l=inct.split(':')

print(':'.join(l))

12.replsce
mag='my is koko my is  toto my is bubu'
mag=mag.replsce('my','kawa',1) #默認替換所有,1為一次
print(mag)

13.isdigit判斷值為是否為數(shù)字類型
password='123'
if password.isdigit():
    password=int(password)

14.find,rfind(從右找),index,rindex(查找),count(統(tǒng)計)
mag='my is ksis'
print(mag.find('is'))
print(mag.index('is'))
print(mag.count('is'))

15.center(填充),ljust(左對齊),rjust(右對齊),zfill(用0填充)
print('hi',center(30,'#'))  #30個字符,不夠用#填充。
print('hi',ljust(30,'#'))
print('hi',rjust(30,'#'))
print('hi',zfill(30,'#'))

15.expandtabs  #用多少個空格分離2個單詞
print('hello\tword'.expandtabs(10))

16.captalize(首字母大寫),swapcase(大小寫反轉),title(每一個單詞的首字母大寫)
print('i is kooll'.catpalize())

17.is數(shù)字判斷
num1=b'2'  #bytes
num2=u'4'  #unicode,python3中無需加u
num3='二'  #中文數(shù)字
num4='IV'  #羅馬數(shù)字

isdigit,(適用bytes,unicode)
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

isdecimal,(適用unicode)
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

isnumeric,(適用unicode,中文,羅馬)
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

name='mis123'
print(name.isalnum())  #判斷字符串是否由字母和數(shù)字組成
print(name.isalpho())  #判斷字符串是否只由字母組成
print('print'.isidentifier())  #判斷關鍵字
print('abd'.islower())  #判斷全是否為小寫
print('ASD'.isupper())  #判斷大寫
print('   '.isspace())  #判斷空格
print('Adj'.istitle())  #判斷標題,即判斷單詞的首字母大寫

17.列表:
1.按索引取值(正向取+反向取):只能取
2.切片(顧頭不顧尾,步長)
3.長度:len
4.循環(huán)
5.成員運算in和not in
...
mibs=['cc','aa','rr']
print(list['kasidhui']) #把字符,裝換為列表

在列表后添加:
mibs.append(6)

刪除:
del mibs[2]
mibs.remove('cc')

刪除并取出結果:
resd=mibs.pop(2) #默認從末尾刪
print(reds)

循環(huán)列表:
for i in mibs:
   print(i)

在列表內(nèi)插入:
mibs=['cc','aa','rr']
mibs.insert(2,'bb')  #2為位置數(shù),bb為值
print(mibs)
 'cc','aa','bb','rr'

清空列表的值:
print(mibs.claer())

拷貝一個列表:
mm=mibs.copy()

統(tǒng)計列表值的個數(shù):
print(mm.count('aa'))

往列表里加多個值:
hh=['rt','ty']
print(mm.extend(hh))

返回列表的值的位置:
mibs=['cc','aa','rr']
print(mibs.index('aa'))

將列表的值反轉:
mibs=['cc','aa','rr']
print(mibs.reverse())
['rr','aa','cc']

將列表的值排序:
hy=[11,2,8,15]
hy.sort()
print(hy)
 [2,8,11,15]

print(hy.sort(reverse=True))
 [15,11,8,2]

x='ahoe'
y='v'

x<y,判斷首字母的排序,a-z從小到大,數(shù)字大于字母

18.元組:存多個值,對列表來說,元組不可變(是可以當字典的key的),主要是用于讀
定義:與列表類型對比,只是[]變?yōu)?)
1.按索引取值(正向取+反向?。褐荒苋?2.切片(顧頭不顧尾,步長)
3.長度:len
4.循環(huán)
5.成員運算in和not in
...
age=(11,22,33,44)  等于  age=tuple(11,22,33,44)

19.字典:存放多個值,key:value 存取值速度快,無序
定義:key必須是不可變類型(int,float,str,tuple),value可以是任意值
1.按索引取值(正向取+反向?。褐荒苋?2.切片(顧頭不顧尾,步長)
3.長度:len
4.循環(huán)
...
info={'name':'dachui','age':18,'sex':'xxx'} 等于  info=dict(age=18,sex='xxx',name='dachui')
info=dict([('name','dachui'),('age',18),('sex','xxx')])
info=dict([['name','dachui'],['age',18],['sex','xxx']])

創(chuàng)建一個空字典:
info={}.fromkeys(['name','age','sex'],None) #value為None

刪除:
info={'name':'dachui','age':18,'sex':'xxx'}
print(info.pop('name')) #沒有默認值
print(info.popitem('name':'dachui'))   

key ,value ,鍵值對items()
info={'name':'dachui','age':18,'sex':'xxx'}
print(info.keys())  #結果不是一個列表
print(list(info.keys()))  #結果為一個列表

print(info.values())  #結果不是一個列表
print(list(info.values()))  #結果為一個列表

print(info.items())   #結果不是一個列表
print(list(info.items())) #結果為一個列表

案列:
購物車
mas={'衣服':'200$','褲子':'2000$','車':'55555$','錘':'45454$'}
goods=[]
while True:
  for k in mas:
      print(k,mas[k])
  chice=input('商品名:').strip()
  print(chice)
  if len(chice) == 0 or chice not in mas:
      print('商品名不存在')     
      continue
  while True:
      num=input('購買個數(shù):').strip()
      if num.isdigit():
         break
  goods.append((chice,mag[chice],int(num)))
  print('購物車',goods) 
  break

20.集合:
作用:關系運算,去重
定義:{}內(nèi)用逗號分隔每個元素都必須是不可變類型,無序
1.按索引取值(正向取+反向?。褐荒苋?2.切片(顧頭不顧尾,步長)
3.長度:len
4.循環(huán)
5.成員運算in和not in
...

l={'sdf','dd','gg'}
k={'dd','gr','eer'}
交集:&  都存在的值
print(l & k)

合集:| 所有的值,去重的結果
print(l | k)

交叉補集:^ 除了交集以外的值
print(l ^ k)

差集:- 兩個集合相減
print(l - k)

父集,子集: >,>= ,<,<=  父集包含子集
s1={1,2,3,4} #父集
s2={1,2,3}   #子集
print(s1 > s2) #Ture

列表轉換為集合:
h=['a','b','c','a','a']
print(seat(h))

difference_update()相減并更新:
s1={1,2,3,4} 
s2={1,2,3} 
print(difference_update(s2))

discard指定刪除集合的值
remove刪除不在的元素會報錯

isdisjoint兩個集合沒有共同部分時,為真

add,update添加值
.......

分類:
占用空間:集合<元組<列表<字典

存值個數(shù):只能存一個值(數(shù)字,字符串),能存多個值(列表,元組,字典)

可變:列表,字典,集合

不可變:數(shù)字,字符串,元組

直接訪問:數(shù)字

有序(序類類型):字符串,列表,元組

key值訪問(映射類型):字典

無序:集合,字典

                          字符編碼
1.字符按照什么標準存的,就要按照什么標準解碼,此處的標準指的就是字符編碼

2.unicode--->encode--->gbk  存
  gbk---->decode---->uicode 讀

3.python3解釋器默認使用的字符編碼是UTF-8
  python2解釋器默認使用的字符編碼是ascii

指定解釋器:#coding:gbk

4.pythone2的str就是python3的bytes
  python2的Unicode就是python3的str
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI