根據前兩天的學習,對Python有了一點小小的認識,目前興趣指數仍爲5顆星,哈哈,因此週六到晚上8點鐘,仍是堅持學習了新內容,如下爲新內容的總結:python
給本身的博客書寫定個規矩,一級標題用標題2大小,依次類推逐漸減少;git
一級標題用「一」、二級標題用「(一)」、三級標題用「1」、四級標題用「(1)」、五級標題用「①」、六級標題用「1)」...正則表達式
從新學習一下數據類型和運算符。api
須要注意的事情:app
name_01="小果子"#定義name_01爲字符串類型; v="小"in name_01#判斷「小」是否在name_01中,我以爲Python這個功能實在是不能在方便了。 print(v)#輸出結果爲True
一、有括號的先算括號內的內容;ide
二、邏輯運算順序:無括號的,按順序執行,從前日後運算。函數
jieguo_1=2>1 and "小" not in "果果" or 1+1>3#共3個part,第一個是2>1,爲True,第二個"小" not in "果果"也爲True,後面的不在執行 print(jieguo_1)#輸出爲True # 執行到哪裏,須要看邏輯運算及其先後的bool值 # True or ==>True # True and ==>繼續走 # False or ==>繼續走 # False and ==>False
在Python中,和其餘程序最大的進步就是沒有長短整型的分類了,無論數字有多大,統稱int,具體能裝多大數,看系統能力了,64位系統是32位系統的2倍。學習
下面是數字類型的一些經常使用方法及屬性編碼
將字符串或者其餘形式的數字轉換到數字類型,有些特殊的狀況,好比超出範圍等狀況不作探究;默認要轉換的數字/字符串爲10進制,若是是其餘進制,須要在base=none中聲明。spa
a="111" #定義a爲字符串類型。 v=int(a,base=2)#定義v爲數字類型,int()將a轉換爲了10進制的數字類型,base=2表示要轉換的a爲2進制數字。 print(v)#輸出結果爲7
報錯的使用方法
#第一種經常使用狀況 a="3b" v=int(a) #執行中,系統會判斷,在10進制狀況下是沒有b的,沒法轉換,報錯 print(v) #第二種經常使用狀況 a="3+6" v=int(a)#沒法運算字符串 print(v)
num_01=-717521 v_1=num_01.bit_length()#表示數字轉換到2進制狀況下,至少佔用的位數; v_2=num_01.__abs__()#返回絕對值,注意abs先後是兩個半角下劃線; print(v_1,v_2)#輸出結果爲20 717521
其餘的屬性,後續在學習,基本上都是一些數字運算的問題,日常用處不大。
字符串的屬性不少,看的眼花繚亂,經過兩天的學習和整理,基本上知道了一些基礎的用法,現整理以下:
#屬性中的self不用管,不用指定值 #start爲閉區間,end爲開區間,start≤sub<end,顧首不顧尾 #*args, **kwargs,等爲任意的參數 #index()索引,查找位置 #返回的int都是相對於其真實位置(從左邊數) #無數據返回時,會報錯。 str="小果果是一隻笨蛋" s1=str.index('果') s2=str.rindex("果") print(s1,s2)#輸出結果爲1 2 #count()查找指定的子序列在str中出現的次數 # 若沒找到返回:0 str='小果果是一隻狗子' s=str.count("果")#‘果’在test中出現的次數,輸出int值; print(s) #format()格式化,將字符串中的佔位符(必須是半角的{})替換爲指定的值. #3種方法:一、按默認從左到右的默認順序傳值,二、按指定位置傳值,三、按設置參數傳值,返回格式化後的字符串 str='my name is {},' s1=str.format("alex") v=str.format_map(mapping})#另一種格式化,括號中的mapping是一個字典對象。 print(s1) #encode()和decode(),編碼和接碼屬性,後續在研究 s="你好啊小果果" s1=s.encode("utf-8")#以指定的編碼格式對字符串進行編碼,並返回編碼後的二進制;encode(self, encoding='utf-8', errors='strict') print(type(s1),s1) s2=s1.decode("utf-8") print(type(s2),s2) #title()將字符串中的全部單詞的首字母的替換成大寫字母 str='alex jim hhhh' s1=str.title() s2=s1.istitle()#是否首字母爲大寫,且其餘字母爲小寫(通常用於識別標題,對中文感受沒有用啊) print(s1,s2)#輸出Alex Jim Hhhh True #ljust(),rjust()填充,從左邊、右邊、兩邊填充指定的參數,長度爲必須參數 str='* 是嗎' s1=str.ljust(10,"你")#返回一個左對齊的字符串,width爲長度,fillchar可填寫一個str s2=str.rjust(10,"你") s3=str.center(10,'你')#sub在指定的width(寬度)中的位置,fillchar可填寫一個str(寫int報錯) print(s1,s2,s3) #zfill()填充,按指定長度在字符串的左側填充"0"補齊,沒法填充其餘的,不如ljust()好用 str='我是小果果' s1=str.zfill(20) print(s1) #swapcase(),casefold(),capitalize()大小寫相關的互換。 s=str.swapcase()#大小寫轉換 s1=str.casefold()#全部的字符變小寫,輸出str值 s2=str.capitalize()#首字母大寫,其餘字母變小寫,輸出str值,對於英文來講,好處就是統一格式,對中文啥用,目前想不起來 #maketrans(),translate()創建對應關係,並對字符進行對換位置。 old='12345' new='abcde' str='真的不錯啊12345' s1=str.maketrans(old,new)#創建對應關係(映射表),字典格式 s2=str.translate(s1)#對上面創建的映射表進行替換(翻譯) print(type(s1),type(s2),s2)#輸出<class 'dict'> <class 'str'> 真的不錯啊abcde #expandtabs(),把字符串中的 tab\t、換行\n、轉爲空格(默認的步長爲8,從左邊開始執行,無符號不執行)。爬蟲的時候能夠將格式對齊 s="12345678888\t133" v=s.expandtabs() print(type(v),v)#輸出<class 'str'> 12345678888 133 ###################################### #如下都是is相關的屬性,輸出bool值 #當前輸入是不是數字(適應於文件操做,1、一、①等讀寫) s1=str.isdecimal()#是否全是十進制字符,這種方法只存在於unicode對象。 s2=str.isdigit()#是否全是數字 s3=str.isnumeric()#是否全是數字,只針對unicode對象。 #判斷是否都是大小寫,和轉換爲大小寫 s=str.lower( )#將字符串中的大寫字母轉換成小寫字母 s=str.upper() s=str.islower()#是否全是小寫 s=str.isupper()#是否全是大寫 text="zh1en" v=text.isalnum()#是不是否由字母或數字組成 v=text.isalpha()#是否全爲字母或漢字 v=text.isspace()#是否所有都是空格 v=text.isprintable()#打印出來和字符串同樣,輸出True,包含/t(製表符Tab),/n(換行)等爲Flase v=text.isidentifier()#判斷是不是合法標識符,其實是判斷變量名是否合法。 #判斷開頭(前綴)、結尾(後綴)的字符是否一致 #startswith()#判斷字符串是不是以指定字符串開頭並返回布爾值 #endswith() #############重點須要記熟的屬性################### #find() 索引,查找位置 # 返回的int都是相對於其真實位置(從左邊數) # 無數據返回時,返回-1。須要子序列徹底匹配 str='小果果是一隻狗子' s1=str.find("果")#看sub的位置,從0開始數,輸出int值,find(self, sub, start=None, end=None) s2=str.rfind('棕色') print(s1,s2)#輸出結果爲 1 -1 #strip(),去處左右空格(包括空格,/t,/n,/r) #若加入參數,則移除指定字符,有限最多匹配。 # 注意刪除多個字符時:只要頭尾有對應其中的某個字符即刪除,不考慮順序,直到遇到第一個不包含在其中的字符爲止 str='**小果果是一隻小狗子**' s1=str.strip('*小子果')#輸出 是一隻小狗 s2=str.lstrip('*') s3=str.rstrip('*') print(s1) print(s2) print(s3) #split(),對字符串進行切片、分割。 #返回值爲list列表形式返回 #正則表達式分割,後續學習。 str='**小果果是一隻小狗子**' s3=str.split("小",6)#split(self, sep=None, maxsplit=-1) s4=str.rsplit() s5=str.splitlines()#分割,能夠加入參數爲True、False來決定是否保留換行符 print(type(s3),type(s4),type(s5),s3,s4,s5) #按從左到右的順序,對字符串進行分割,返回一個包含3個元素的元組,這個元組中這3個元素分別爲:指定分割符,以及以這個分隔符爲中心的左右兩側的字符串。 #s1=str.partition()#只能分3份 #s2=str.rpartition() #replace()替換,將指定的字符串替換成新的字符串,並返回替換後的字符串。能夠指定替換的次數,若不指定次數則默認替換所有。 str='**小果果是一隻小狗子**' s1=str.replace('小','chali',1)#參數分別爲 被替換,替換,替換次數 print(s1)#輸出**chali果果是一隻小狗子** #join()拼接,將字符串中的元素以指定的分隔符進行拼接;join(self, iterable) str='*' s1=str.join("你是否是小果果") print(s1) #你*是*不*是*小*果*果
以上字符串的屬性確定是會忘得,可是在整理的過程當中,學習了一些用法和思惟方式,也算挺好。
第一週的學習內容就這麼多了,繼續加油吧~整我的其實仍是好的!