Python第一週Round3記錄—基礎內容2

根據前兩天的學習,對Python有了一點小小的認識,目前興趣指數仍爲5顆星,哈哈,因此週六到晚上8點鐘,仍是堅持學習了新內容,如下爲新內容的總結:python

給本身的博客書寫定個規矩,一級標題用標題2大小,依次類推逐漸減少;git

一級標題用「一」、二級標題用「(一)」、三級標題用「1」、四級標題用「(1)」、五級標題用「①」、六級標題用「1)」...正則表達式


從新學習一下數據類型和運算符。api

1、運算符 

 

 

 須要注意的事情:app

(一)Python中判斷運算的用法

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

   


 

2、數據類型

(一)數字

在Python中,和其餘程序最大的進步就是沒有長短整型的分類了,無論數字有多大,統稱int,具體能裝多大數,看系統能力了,64位系統是32位系統的2倍。學習

下面是數字類型的一些經常使用方法及屬性編碼

一、轉換到數字類型的函數,int(num,base=none);

將字符串或者其餘形式的數字轉換到數字類型,有些特殊的狀況,好比超出範圍等狀況不作探究;默認要轉換的數字/字符串爲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) #你*是*不*是*小*果*果

 以上字符串的屬性確定是會忘得,可是在整理的過程當中,學習了一些用法和思惟方式,也算挺好。

 

第一週結束語

第一週的學習內容就這麼多了,繼續加油吧~整我的其實仍是好的!

相關文章
相關標籤/搜索