python基礎之 基本數據類型,str方法和for循環

1.概念html

1.十進制轉二進制,對2取餘,餘數倒序排列
2.字符串爲空的時候,bool值爲false,字符串非空就是True
3.字符串轉化成int時,必須是隻包含數字才能轉化。
4.字符串轉化成int時能夠有空格,int()會自動的省略空格---> int(" 5 ")

2.基本數據類型詳解python

1.數字int
  #bit_length() 當十進制用二進制表示時,最少使用的位數
  v = 11
  data = v.bit_length() #查看十進制的1000在二進制裏面有多少有效位數(從遇到1開始向後累加個數)
  print(data)

2.布爾值bool
  布爾值就兩種:True,False。就是反應條件的正確與否。
  真   1   True。
  假   0   False。   
  
  注意:字符串爲空的時候,bool值爲false,字符串非空就是True。

3.字符串的索引和切片
  索引即下標,就是字符串組成的元素從第一個開始,初始索引爲0以此類推。
    a = 'ABCDEFGHIJK'
    print(a[0]) --->A
    print(a[3]) --->D
    print(a[5]) --->F
    print(a[7]) --->H
    print(a[-1]) --->K

  切片就是經過索引(索引:索引:步長)截取字符串的一段,造成新的字符串(原則就是顧頭不顧腚,最重要)。
    a= "我愛python"
    s = a[0:4] #取值爲"我愛py",根據顧頭不顧腚原則,只能取值到4-1,不能取到下標爲4的元素
    s1 =a[:5] #從0開始的話,0能夠省略不寫,默認不寫
    s2 = a[:] #從頭取到尾
    s3 = a[:5:2] #[起始索引:結尾索引+1:步長] #從下標爲0開始到下標4之間,相隔一個取一個值,默認是相隔2-1取一個
    s4 = a[-1] #取最後一位
    s5 = a[0:-1] #因爲顧頭不顧腚,只能取值到倒數第二位
    s6 = a[-1:-4:-2] #反向取值必須加反向步長
    s7 = a[5:0:-2]) #反向取值必須加反向步長
  注意:
    1.支付串裏面的每元素有本身的下標,經過下標也能找到每一個元素
    2.經過索引和切片出來的都是字符串類型,而且是新的字符串,與源字符串無關,新找到的字符串會在內存中開闢新的地址來存放找到的字符串
    3.正數索引和負數索引能夠混用。只要能指到正確的元素便可。(可是通常不用,會比較麻煩)

3.字符串str方法詳解git

s = "root admin p0st admin"

字符串拼接:
  操做列表時,列表裏面的內容必須所有是字符串類型,對操做列表最有用,不用使用for循環打印了--->join拼接以後返回的是字符串
鏈接符.join(iterable)
s7 = '*'.join(s)
s7 = '_'.join(s)
s7 = 'sb'.join(s)
print(s7)
l1 = ['wir', 'ax', 'tai'] #jion若是要操做列表的話,裏面元素必須是字符串型
s7 = ','.join(l1) --->wir,ax,tai
print(s7)

字符串分割:
  s.spilt()      #默認按空格來分割
  s.spilt(',')    #按指定字符來分割
  s.spilt(',',1) #按指定分割次數來分割,以逗號分割,默認從左到右分割一次
  s.rspilt() #從右向左分割
  默認按空格來分割,會將str類型轉化成list類型(由於str類型是可迭代類型;能被for循環的都是可迭代類型)
  當要分割的字符串中出現幾個指定字符時,分割的時候就會出現n+1個元素
  
另外一種分割方式:
  s ="123def456"
  print(s.partition("def"))--->('123','def','456')會返回一個遠足
字符串替換:
  s.repalce('admin','123') #將admin替換成123
  s.replace('admin','123',2) #將出現的前兩次admin都換成123,後面再出現的不替換

字符串去除:
  s.strip() #默認去除字符串兩邊的換行符,製表符和空格
  s.rstrip() #只去除右邊的。。。。。。
  s.lstrip() #只去除左邊的。。。。。。
  s.strip('root') #去除字符串中的root,可是隻是去除第一個發現的,若是你寫troop,也會去除root

is系列:
  print(name.isalnum()) #字符串由字母或數字組成
  print(name.isalpha()) #字符串只由字母組成
  print(name.isdigit()) #字符串只由數字組成
  print(name.isspace()) #判斷是不是空格

大小寫:
  print(name.capitalize()) #首字母大寫
  print(name.swapcase()) #大小寫翻轉
  print(name.title()) #每一個單詞首字母大寫,非字母隔開的每一個單詞的首字母大寫
  print(name.upper()) #字符串變大寫
  print(name.lower()) #字符串變小寫
次數和長度:
  print(s.count('f')) #統計每一個字符出現的次數
  print(len(s)) #打印出字符串的長度(內置函數str.isinstance是Python中的一個內建函數。是用來判斷一個對象的變量類型。
以。。。開頭或結尾  
  a4 = "dkfjdkfasf54"
  #startswith 判斷是否以...開頭
  #endswith 判斷是否以...結尾
  # ret4 = a4.endswith('jdk',3,6) # 顧頭不顧腚
  # print(ret4) # 返回的是布爾值
  # ret5 = a4.startswith("kfj",1,4)
  # print(ret5)
尋找字符串中的元素是否存在
  # ret6 = a4.find("fjdk",1,6)
  # print(ret6)  # 找到第一個元素就返回,返回的找到的元素的索引,若是找不到返回-1
  # ret61 = a4.index("fjdk",4,6)
  # print(ret61) # 找到第一個元素就返回,返回的找到的元素的索引,找不到報錯。
格式化輸出:format
  s = '我叫{},今年{},性別{}'
  方法一:
  s11 = s.format('123', '23', 'man')
  print(s11)
  方法二:
  s = '我叫{0},今年{1},性別{2},我依然叫{0}{0}{0}'
  s11 = s.format('123', '23', 'man')
  print(s11)

  方法三:
  s = '我叫{name},今年{age},性別{sex},我依然叫{name}'
  s11 = s.format(name='123', sex='man', age='23')
  print(s11)
字符串實現翻轉
  s= "12345"
  result = s[::-1]--->54321 python中步進爲正,從左往右取,步進爲負,從右往左取
  說明:
    result = s[i:j:z]
    當z>0時,i爲起始索引(缺省爲0),j爲結束索引(不包括最後一個,缺省爲len(a)), s爲步進(缺省爲1)
    當z<0時,i缺省時默認爲-1,j缺省時默認爲-len(s)-1,因此就至關於result=s[-1::-len(s)-1:-1] ,至關於從右向左讀一遍

other:
  info.endode('utf-8') #更改編碼
 
 

 4.for循環api

info = "asdalicydn29458cclsds"
for item in info:
    print(item,',',end='')  #打印到一行,item打印的內容,‘,’表示已,分割內容,end=''表示不加換行符-->默認是已空格分開,而且加\n

#for是有限循環,能被for循環的就叫作可迭代對象

 

 

返回系列函數

相關文章
相關標籤/搜索