2018年6月13日【Python學(xué)習(xí)筆記】

一匹厘、運(yùn)算符

運(yùn)算符:算數(shù)運(yùn)算符嘀趟、比較運(yùn)算符、賦值運(yùn)算符愈诚、邏輯運(yùn)算符

1.比較運(yùn)算符:>她按、<坡椒、>=、<=尤溜、==、!=(不等于)

所有比較運(yùn)算符的結(jié)果都是布爾值

  • x>y:比較x是否大于y汗唱,如果是結(jié)果就是true宫莱,否則結(jié)果就是false
    print(10>5)
    print(6>10.8)
    print('abcdef'>'bcd')  比較字符串的大小時,不是比較兩個字符串的長度哩罪,而是從兩個字符串的第一個字符開始比較授霸,
    如果第一個字符串的第一個字符大于第二個字符串的第一個字符,結(jié)果就是true际插,否則就是false碘耳。
    如果兩個字符串的第一個字符相等才去比較他們的第二個字符,以此類推
    print('abc'>'aba')
    print('abc'>'abcd')
    print('abc'>'abc')
    
  • x<y:比較x是否小于y框弛,如果是辛辨,結(jié)果就是true,否則結(jié)果是false
      print(10<5)
      print(6<10.8)
      print('abc'<'aba')
    
  • x>=y:比較 x是否大于或等于y瑟枫。x大于y或者x等于y斗搞,結(jié)果是true,否者是false
      print(10>=5)
      print(10>=10)
    
  • x<=y:比較x是否小于等于y慷妙。x小于y或者x等于y僻焚,結(jié)果是true,否則是false
     print(10<=5)
     print(10<=10)
    
  • x==y:比較x和y是否相等膝擂,如果相等就是true虑啤,否則結(jié)果是false
     a=10
     b=20
     print(a==10)
     print(a==b)
    
  • x!=y:比較x和y是否不相等,如果不相等就是true 架馋,否則就是false
     print(a!=10)
     print(a!=b)
    

2.賦值運(yùn)算符:==狞山,+=,-=叉寂,=铣墨,/=,//=办绝,*=,%=

所有的賦值運(yùn)算符伊约,左邊必須是變量,

  a=20
  b=a   如果a的值是基本數(shù)據(jù)類型(數(shù)字孕蝉、字符串)屡律,直接將a里面存的值賦給b,如果值是對象降淮,傳遞的是變量中存儲的地址
表達(dá)式(本身有值的語句):10,a,10+a,10>20超埋,10+20/4*3等
  a+10
  print(a)
  • +=
    a+=10    相當(dāng)于a=a+10
    print(a)
    或
    a+=1
    print(a)
    
  • -=
    a-=10    相當(dāng)于a=a-10
    print(a)
    
  • *=
    a*=2    相當(dāng)于a=a*2
    print(a)
    
  • /=
    a/=2    相當(dāng)于a=a/2
    print(a)
    
  • //=
    a//=2    相當(dāng)于a=a//2
    print(a)
    
  • **=
    a**=2     相當(dāng)于a=a**2 就是a的2次方
    print(a)
    

3.邏輯運(yùn)算符:and(與),or(或),not(非)

邏輯運(yùn)算符中表達(dá)式的值都是布爾值

  • 表達(dá)式1 and 表達(dá)式2:兩個表達(dá)式的值都為true搏讶,結(jié)果才是true,否者是false霍殴。(and-->并且的意思)
    print(True and True)
    print(True and False)
    print(False and True)
    print(False and False)
    

舉例:

  age=40
  face=90
  要求:年齡大于18小于50,并且顏值不能低于80分
  result=age>18 and age<50 and face>=80
  print(result)
  • 表達(dá)式1 or 表達(dá)式2:兩個表達(dá)式的值都為false媒惕,結(jié)果才是false,否則都是true
    print(True or True)
    print(True or False)
    print(False or False)
    print(False or False)
    

舉例:

  grade=8.0
  score=80
  獎學(xué)金要求:績點(diǎn)大于8.0或者測評大于90
  result=grade>8.5 or score>90
  print(result)
注意
  獎學(xué)金新要求:1.績點(diǎn)大于9.7   2.成績8.5-9.7来庭,測評分大于85
  python里可以這樣寫8.5<=grade<=9.7 妒蔚,但是只是限于數(shù)字的比較。
  運(yùn)算表達(dá)式中月弛,加()可以改變運(yùn)算順序
  result=grade>9.7 or (8.5<=grade<=9.7 and score>85) 
  print(result)
  • not 表達(dá)式:如果表達(dá)式的值為true肴盏,結(jié)果就是false;表達(dá)式的值為false帽衙,結(jié)果就為true菜皂。
    print(not True)
    print(not False)
    

舉例:

  及格的要求:成績不小于60.
  grade=8   給變量賦值時,后面的值會覆蓋前面的值
  result= not (grade<6)
  print(result)

舉例:

  進(jìn)入游樂場年齡的要求:不大于12歲并且要不小于2歲
  age=18
  result=(not age>12) and (not age<2)
  print(result)

二厉萝、運(yùn)算符的優(yōu)先級

1.賦值運(yùn)算符的優(yōu)先級最低

  result = True and False or True
  print(result)
注意:
  賦值運(yùn)算符<邏輯運(yùn)算符<比較運(yùn)算符<加減<乘恍飘、除、取余谴垫、整除常侣、冪運(yùn)算<+(正號)、-(負(fù)號)
  可以加括號改變運(yùn)算的運(yùn)算順序(遇到括號就先算括號里的)

舉例:

  a=True and False
  print(a)

  result=-10 and 2
  print(result)

  result=0>-10 and 2<5
  print(result)

  result=2+10>3
  print(result)

三弹渔、字符串

由單引號或者雙引號括起來的文本

  'acdf'
  '234'
  '\nhu90'
  '我是字符串@ss'
  • 1胳施、python中的字符串都是Unicode字符串

Unicode編碼:就是一種對字符的編碼方式(將字符編碼成對應(yīng)的數(shù)字,方便計算機(jī)儲存)
Unicode編碼又叫萬國碼肢专,支持目前幾乎所有的語言文字編碼
Unicode包含ASCII碼
數(shù)據(jù)存儲在計算機(jī)中是以二進(jìn)制的形式存的(二進(jìn)制是數(shù)字)
編碼的作用就是將字符串轉(zhuǎn)換成對應(yīng)的數(shù)字

將Unicode碼換換成字符

  char=chr(0x4e01)
  print(char)

將字符轉(zhuǎn)換成Unicode碼

  code = ord('范')
  print(code)

  for x in range(0x2c80,0x2CFF):
      print(chr(x),end=' ')

字符串比較大小的時候舞肆,實(shí)質(zhì)就是比字符的Unicode編碼的大小

  • 2.字符串的長度

就是指字符串中字符的個數(shù)

  'abc'   #長度為3
  ' yu'    #長度為3   空格也有長度

len(字符串):獲取字符串的長度

  str1='你好,python'
  length=len(str1)
  print(length)
  print(len('范'))
  • 3.獲取字符/子串

    str1='Hello,python'
    
a.獲取某一個字符

格式:字符串變量[下標(biāo)]
下標(biāo):從0開始的數(shù)字博杖,代表的是某一字符在字符串中的偏移量(位置)(范圍:0~字符串長度-1)
注意:下標(biāo)不要越界椿胯,否則會Indexerror報錯

  print(str1[0])   獲取第0個字符
  print(str1[5])   獲取從0開始的第5個字符

  print(str1[20])   IndexError: string index out of range下標(biāo)越界
  下標(biāo)也可以是負(fù)數(shù):也不能越界

  print(str1[-1])   獲取的是倒數(shù)第一個字符(最后一個)
  print(str1[-2])    獲取倒數(shù)第二個字符
  print(str1[len(str1)-1])   獲取最后一個字符
b.獲取字符串中某一部分的字母(獲取子串)

格式:字符串變量[開始下標(biāo):結(jié)束下標(biāo)] --->獲取從開始下標(biāo)到結(jié)束下標(biāo)前的所有字符

  str1='Hello,python!'

注意:開始下標(biāo)對應(yīng)的字符可以取到剃根,結(jié)束下標(biāo)對應(yīng)的字符是取不到的

  print(str1[1:4])   獲取從下標(biāo)是1開始哩盲,到下標(biāo)是(4-1)的所有的字符
  print(str1[6:10])   獲取從下標(biāo)是6開始,到下表是9的所有的字符

  開始下標(biāo)不寫狈醉,默認(rèn)就是0
  print(str1[:5])    獲取從開始到下標(biāo)是4為止的所有字符

  結(jié)束下標(biāo)不寫廉油,就會取到最后一個字符
  print(str1[-4:])
  print(str1[6:])

  如果結(jié)束下標(biāo)在開始下標(biāo)的前面,就會取不到字符(不能倒著让绺怠)
  print(str1[5:1])

  如果不寫就是獲取全部抒线,但意義不大,后面其他會用到
  print(str1[:])
  • 4.字符串的運(yùn)算符:+渣慕,*嘶炭,in抱慌,not in,

+:字符串的+操作眨猎,就是字符串連接
  str2='aaa' + 'bcd'
  print(str2)

  str1='Hello'
  str2='world'
  str3=str1+'\t'+str2
  print(str3)

  str2+='!'    #str2=str2+'!'
  print(str2)
:字符串中的操作抑进,就是字符串重復(fù)多少次
  str1='abc'*10    #abc重復(fù)10次
  print(str1)
字符串1 in 字符串2:判斷字符串2是否包含字符串1.(顯示的是布爾值)
  str1='Hello'
  print('he'in str1)    #判斷'he'是否在str1里面(判斷str1中是否包含'he')
字符串1 not in 字符串2:判斷字符串1是否不在字符串2中
  print('ae' not in str1)

四、print函數(shù)的使用

print()函數(shù)可以打印括號里的任何內(nèi)容
調(diào)用print函數(shù)打印完后會換行

  print(10)
  str1='aaa'
  print(str1)

同時打印多個內(nèi)容(多個內(nèi)容間用逗號隔開)睡陪;打印的時候寺渗,多個內(nèi)容之間用一個空格隔開的

  print('aa',100,str1)
  • 1.格式化輸出

print('%s %d %c'%(var1,var2,var3)):輸出字符串的時候,在字符串中使用字符串格式符表示變化的內(nèi)容宝穗。然后在%后面的括號里面,依次使用表達(dá)式給前面的字符串賦值

%s:字符串 %d:整數(shù) %f:浮點(diǎn)數(shù) %c:字符
  name='張三'
  age=18
  我是xxx码秉,今年xx歲
  print('我是%s,今年%d歲'%(name,age))
%f
  print('余額:%f萬元'%(10.25))
  $.2f保留小數(shù)點(diǎn)的后兩位     三位就是%.3f
  print('余額:%.2f萬元'%(10.25))

python中的字符逮矛,就是指長度為1的字符串

  print('%c'%('a'))   
  print('%c'%(0x4e00))   #打印的是中文的:一
  可以打印unicode編碼
%o
  print('%o'%(10))
%X/%x
  print('%x,%X'%(15,15))
  • 2.通過設(shè)置print函數(shù)的sep參數(shù),可以改變print函數(shù)在同時打印多個內(nèi)容時的分割符(默認(rèn)是空格)

    name='張三'
    age=18
    我是xxx转砖,今年xx歲
    print('我是',name,',今年',age,'歲',sep='')  #打印多個數(shù)據(jù)的時候须鼎,數(shù)據(jù)之間沒有間隙
    print('我是',+name+,'今年',age,'歲') #注意:加號兩邊只能都是數(shù)字或者都是字符串,不能一個數(shù)字一個字符串
    print('aa',100,'bbb',sep=',')   #打印多個數(shù)據(jù)的時候府蔗,數(shù)據(jù)之間以','隔開
    
  • 3.設(shè)置print函數(shù)的結(jié)束字符串晋控,默認(rèn)是'\n'

    print('Hello',end=' ')
    print('World')
    注意:設(shè)置sep和end參數(shù),只是當(dāng)次有效
    

五姓赤、字符串的內(nèi)置函數(shù)

  • capitalize() 將字符串的第一個字符轉(zhuǎn)換為大寫(不會改變原來的字符串赡译,而是返回一個新的字符串)

    str1='python student'
    newStr=str1.capitalize()
    print(str1,newStr)
    
  • 2.title()將字符串中每個單詞的首字母變成大寫(不會改變原來的字符串,而是返回一個新的字符串)

單詞的區(qū)分不铆,和英語區(qū)分單詞的方式是一樣的(以空格蝌焚、標(biāo)點(diǎn)符號分開的字符串)

  newStr=str1.title()
  print(str1,newStr)
  • 3.center(width,fillchar) 將字符串變成指定的長度,并且原字符串內(nèi)容居中誓斥,剩余的位置使用指定的字符fillchar填充

    str1='abc'
    newStr=str1.center(11,'-')
    print(newStr)
    

六只洒、補(bǔ)充

  • 1.find ( )檢測字符串

用法格式:str1.find(str2) #在str1中 檢索字符串str2是否存在,存在劳坑,返回str2的初地址毕谴,不存在,返回-1.
str1.find(str2,x)#x是表示下標(biāo)的變量距芬,意為:從下標(biāo)為x的位置開始檢索str2是否存在于str1中.
str.find(str2,x,y)#y表示下標(biāo)整型變量涝开, 意為:從下標(biāo)x開始,檢測到下標(biāo)y結(jié)束

  str1 = "hello,world,nihao,shijie"
  str2 = "ll"
  str1.find(str2)
  2
  str1.find(str2,1)
  2
  str1.find(str2,2)
  2
  str1.find(str2,3)
  -1
  str1.find(str2,1,6)
  2
  str1.find(str2,1,4)
  2
  str1.find(str2,1,3)
  -1
  • 2.rfind( )反向(從右至左)檢測字符串 str2最后出現(xiàn)的 下標(biāo)

str1.rfind(str2)#從 str1中從右至左檢測str2是否存在

str1.rfind(str2,x框仔,y)#【x,y)定位檢索的位置忠寻,之后正常反向檢索,輸出字符串首字母下標(biāo)存和。

  str1.rfind(str2)
  2
  str1.rfind(str2,0)
  2
  str1.rfind(str2,2)
  2
  str1.rfind(str2,2,3)
  -1
  str1.rfind(str2,2,5)
  2
  • 3.count()方法語法:

str.count(str1) #計數(shù) str中奕剃,子串”str1“出現(xiàn)的次數(shù)
str.count(str1衷旅,x) #計數(shù) str中從下標(biāo)x開始,子串”str1“出現(xiàn)的次數(shù)
str.count(str1,x,y) #計數(shù) str中從下標(biāo)x開始纵朋,子串”str1“出現(xiàn)的次數(shù)

  str = "hello,world,nihao,shijie"
  count(",")
  • 4.split()方法語法

str.split( )#默認(rèn)切片條件為:所有的空字符柿顶,包括空格、換行(\n)操软、制表符(\t)等
str.split(str1,num)#切片條件為:檢索到str1,切片次數(shù)為num
利用re模塊進(jìn)行切片(同時包含多個分隔字符的檢索)代碼如下:

  import re
  a=str#待檢測字符串
  x=re.split(   此處為多個輸入的分隔符      ,a)
  print(x)
  • 5.max()方法語法 max(str)#輸出字符串中的最大字符
  • 6.min()方法語法 min(str)
    str = "abcdshjshf"
    max(str)
    's'
    min(str)
    'a'
    str = "12345676789"
    max(str)
    '9'
    min(str)
    '1'
    
  • 7.lower()方法語法:

str.lower()#直接將字符串str中的所有大寫字母轉(zhuǎn)換成小寫字母

  str = "ZGAHHHhihhoioai"
  str.lower()
  'zgahhhhihhoioai'
  • 8.replace()方法語法:

str.replace(old,new)#直接將老字符串替換為新的字符串
str.replace(old,new[,max])#指定參數(shù)max嘁锯,以為替換次數(shù)不超過max;

  str = "this is in china"
  str.replace("is",'was',1)
  'thwas is in china'
  str.replace("is",'was',2)
  'thwas was in china'

9聂薪,index()方法語法:
str.index(str1)用法同find(),只是如果被檢測的字符串中不含想要查找的內(nèi)容的話家乘,會報一個異常

  str.index("is")
  2
  str.index("wax")
  Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
  ValueError: substring not found
  • 10.rindex()類似于index(),方向?yàn)閺挠抑磷?/h6>
  • 11.lstrip()方法語法:rstrip()同用法

str.lstrip()#截掉字符串左邊的空格(有多少,截掉多少)

  str = " this is China"
  str.lstrip()
  'this is China'
  str = "zhang   "
  str.rstrip()
  'zhang'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末藏澳,一起剝皮案震驚了整個濱河市仁锯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌翔悠,老刑警劉巖业崖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蓄愁,居然都是意外死亡双炕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門撮抓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妇斤,“玉大人,你說我怎么就攤上這事丹拯√思茫” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵咽笼,是天一觀的道長顷编。 經(jīng)常有香客問我,道長剑刑,這世上最難降的妖魔是什么媳纬? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮施掏,結(jié)果婚禮上钮惠,老公的妹妹穿的比我還像新娘。我一直安慰自己七芭,他們只是感情好素挽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狸驳,像睡著了一般预明。 火紅的嫁衣襯著肌膚如雪缩赛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天撰糠,我揣著相機(jī)與錄音酥馍,去河邊找鬼。 笑死阅酪,一個胖子當(dāng)著我的面吹牛旨袒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播术辐,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼砚尽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辉词?” 一聲冷哼從身側(cè)響起必孤,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎较屿,沒想到半個月后隧魄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卓练,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隘蝎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了襟企。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘱么。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖顽悼,靈堂內(nèi)的尸體忽然破棺而出曼振,到底是詐尸還是另有隱情,我是刑警寧澤蔚龙,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布冰评,位于F島的核電站,受9級特大地震影響木羹,放射性物質(zhì)發(fā)生泄漏甲雅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一坑填、第九天 我趴在偏房一處隱蔽的房頂上張望抛人。 院中可真熱鬧,春花似錦脐瑰、人聲如沸妖枚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绝页。三九已至荠商,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抒寂,已是汗流浹背结啼。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屈芜,地道東北人郊愧。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像井佑,于是被迫代替她去往敵國和親属铁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容