python第一階段總結(2)

 python3第一階段的總結  

 

  • python3的簡介
  • python3安裝及環境變量的操做
  • python3 基礎語法
  • python3基本數據類型
  • python3運算符
  • python3數字
  • python3字符串
  • python3 列表
  • python3元組
  • python3字典
  • python3集合
  • python3條件控制
  • python3循環語句
  • python3迭代器與生成器
  • python3函數
  • python3數據結構
  • python3模塊

 

基礎數據類型的分類的詳細解釋:

python3中有六個標準的數據類型python

  • Number(數字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Sets(集合)
  • Dictionary(字典)

Python3的六個標準數據類型中:git

  • 不可變數據類型(四個):Number、String、Tuple、Sets
  • 可變數據類型(兩個):List、Dictionary

*.python3數字

概念:

  Python3支持int、float、bool、complex(複數)api

  在Python3裏,只有一種整數類型int,表示爲長整型,沒有python2中的Long。數組

  內置的type()函數能夠用來查詢變量所指的對象類型 數據結構

>>> a, b, c, d = 20, 5.5, True, 4+3j
  >>> print(type(a), type(b), type(c), type(d))   <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
  --------------------------------------------------------------- 注意: 在 Python2 中是沒有布爾型的,它用數字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定義成關鍵字了,但它們的值仍是 1 和 0,它們能夠和數字相加。 Python能夠同時爲多個變量賦值,如a,b = 1,2 一個變量能夠經過賦值指向不通類型的對象 數值的除法(/)老是返回一個浮點數,要獲取證書使用//操做符。 在混合計算時,Python會把整型轉換成浮點數 Python還支持複數,複數能夠用a+bj,或者complex(a,b)表示,a和b都是浮點數

*.python3字符串

概念:

  Python中的字符串是以單引號(’)或者雙引號(「)引發來的app

  1,截取字符串格式爲:變量[頭下標:尾下標]ide

 str = 'Yehewudi'

  print (str)       # 輸出字符串
  print (str[0:-1])   # 輸出第一個到倒數第二個的全部字符
  print (str[0])     # 輸出字符串第一個字符
  print (str[2:5])    # 輸出從第三個開始到第五個的字符
  print (str[2:])    # 輸出從第三個開始的後的全部字符
  print (str * 2)    # 輸出字符串兩次
  print (str + "TEST") # 鏈接字符串
  ---------------------------------------------------------------   Python使用反斜槓(\)轉義特殊字符,若是你不想讓反斜槓發生轉義,能夠在字符串前面添加一個r,表示原始字符   例子:   ---------------------------------------------------------------
  >>> print('Ye\he')   Ye   he   >>> print(r'Ye\he')   Ye\he   >>>
  ---------------------------------------------------------------   另外,反斜槓(\)能夠做爲續行符,表示下一行是上一行的延續。也可使用"""..."""或者'''...'''跨越多行

經常使用用法:

count    通即字符串裏某個字符出現的次數,支持切片   語法:str.count(sub, start= 0, end=len(string))   例子:   ---------------------------------------------------------------   a="cainiao chuanqi"
  print(a.count("a" 2 -1))      4
  ---------------------------------------------------------------   encode  指定編碼格式字符串   語法:str.encode(encodeing='UTF-8',errors = 'strict') encoding 要使用的編碼 errors 設置不通錯誤的處理方案   find  判斷字符串中是否包含自字符串,若是在返回索引值,若是再也不返回-1支持切片   例子:   ---------------------------------------------------------------   a=" cainioa chuanqi"
  print(a.find("chuan"))      7
  ---------------------------------------------------------------   format  格式化輸出   例子:   ---------------------------------------------------------------
  print("姓名:{name}, 年齡:{age}".format(name = "cai", age = 22))   姓名 蔡,年齡:22
  ---------------------------------------------------------------   index  查找字符串是否包含子字符串,若是存在返回索引,不存在報錯   ---------------------------------------------------------------   a="caichuan"
  print(a.index("a"))      1
  ---------------------------------------------------------------   isdigit    判斷字符串是否只由數字組成,是返回True,否返回Flase   例子:   ---------------------------------------------------------------   a="11"
  print(a.isdigit())      True   ---------------------------------------------------------------   True: Unicode數字,byte數字(單字節),全角數字(雙字節),羅馬數字   False: 漢字數字   Error: 無   isidentifier  判斷字符串是否由字母開頭,是返回True,否返回Flase   例子:   ---------------------------------------------------------------   a="xiaochen"
  print(a.isidentifier())   True   ---------------------------------------------------------------   islower    判斷字符串是否由小寫字母組成,是返回True,否返回Flase   例子:   ---------------------------------------------------------------   a="xiaochen"
  print(a.islower())   True   ---------------------------------------------------------------   isupper   判斷字符串中全部的字母是否都爲大寫,是返回True,不然返回Flase   例子:   ---------------------------------------------------------------   a="XIAOCHEN"
  print(a.isupper())   True   ---------------------------------------------------------------   isspace  判斷字符串是否只由空格組成,是返回True,不然返回Flase   例子:   ---------------------------------------------------------------   a=" \t "
  print(a.isspace())   True   ---------------------------------------------------------------   isalpha  判斷字符串是否只由字母組成,是返回True,不然返回Flase   例子:   ---------------------------------------------------------------   a="xiaochen"
  print(a.isalpha())   True   ---------------------------------------------------------------   isalnum  判斷字符串是否由字母和數字組成,是返回True,不然返回Flase   例子:   ---------------------------------------------------------------   a="xiaochen1234"
  print(a.isalnum())   True   ---------------------------------------------------------------   join  講序列中的元素以指定的字符鏈接生成一個新的字符串   例子:   ---------------------------------------------------------------   a="-"
  print(a.join("xiao"))  x-i-a-0   ---------------------------------------------------------------   lower  將字符串中全部大寫字符轉爲小寫   例子:   ---------------------------------------------------------------   a="AAA"
  print(a.lower())   aaa   ---------------------------------------------------------------   replace  將字符串中的字舊符替換成新字符,替換不超過max次  例子:   ---------------------------------------------------------------   a="My name is xiaochen"
  print(a.replace("xiaochen", "chuanqi"))   My name is chuanqi   ---------------------------------------------------------------   split  經過指定分隔符對字符串進行分隔,已分割後的字符串爲元素組成列表   語法:str.split(str="", num=string.count(str)). str  分隔符,默認爲空格 num  分隔次數   例子:   ---------------------------------------------------------------   a="cai chuan qi"
  print(a.split())   ['cai', 'chuan', 'qi']   ---------------------------------------------------------------   upper  將字符串中的小寫字母轉爲大寫字母   例子:   ---------------------------------------------------------------   a="aaa"
  print(a.upper())   AAA   --------------------------------------------------------------- 不經常使用的用法:   capitalize  將字符串的第一個字母變成大寫,其餘字母變小寫   例子:   ---------------------------------------------------------------   a="cai CHUAN qi"
  print(a.capitalize())  Cai chuan qi   ---------------------------------------------------------------   casefold  與lower類似   二者的區別是:lower() 方法只對ASCII編碼,也就是‘A-Z’有效,對於其餘語言(非漢語或英文)中把大寫轉換爲小寫的狀況只能用 casefold() 方法   center  返回一個原字符串居中,並使用空格填充至長度 width 的新字符串。默認填充字符爲空格   語法:str.center(width[, fillchar]) width  字符串的總寬度 fillchar  填充字符   例子:   ---------------------------------------------------------------   a="xiaochen"      a.center(22, '*')   ********yehe********
  ---------------------------------------------------------------   expandtabs  將字符串中的tab符號('\t')轉爲空格,tab爲8個空格   endswith   判斷字符串自否以指定字符結尾,是返回True,不然返回False,支持切片   例子:   ---------------------------------------------------------------   a="xiaochen"      a.endswith("chen")   True   ---------------------------------------------------------------   format_map(不清楚)   isnumeric  判斷字符串是否只由數字組成,是返回True,否返回Flase   例子:   ---------------------------------------------------------------   a="123"
  print(a.isnumeric())   True   ---------------------------------------------------------------   True: Unicode數字,全角數字(雙字節),羅馬數字,漢字數字   False: 無   Error: byte數字(單字節)   isdecimal  判斷字符串是否只包含十進制字符返回True,不然返回False   例子:   ---------------------------------------------------------------   a="123"
  print(a.isdecimal())   True   ---------------------------------------------------------------   True: Unicode數字,,全角數字(雙字節)   False: 羅馬數字,漢字數字   Error: byte數字(單字節)   isprintable  判斷字符串中全部字符是否都屬於可打印字符   例子:   ---------------------------------------------------------------   a="123\t"
  print(a.isprintable())   False   ---------------------------------------------------------------   istitle    判斷字符串中全部的單詞首字母爲大寫,其餘字母爲小寫,是返回True,不然返回Flase   例子:   ---------------------------------------------------------------   a="This Is A xiaochen!"
  print(a.istitle())   True   ---------------------------------------------------------------   ljust  返回一個原字符串左對齊,並使用空格填充至指定長度的新字符串   lstrip  截掉字符串左邊的空格或指定字符   maketrans  ????   partition  根據指定的分隔符講字符串進行分隔   例子:   ---------------------------------------------------------------   a="chuanxqi!"
  print(a.partition("x"))   ("chuan", "x", "qi!")   ---------------------------------------------------------------   rsplit  經過指定分隔符對字符串進行切片,相似於 split() 方法,只不過是從字符串最後面開始分割。   rfind  返回字符串最後一次出現的位置(從右向左查詢),若是沒有匹配項則返回-1   rindex  返回子字符串 str 在字符串中最後出現的位置,若是沒有匹配的字符串會報異常,你能夠指定可選參數   rjust  返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串。若是指定的長度小於字符串的長度則返回原字符串   rpartition  與partition相似,從後往前。   rstrip  刪除 string 字符串末尾的指定字符(默認爲空格).   startswith  用於檢查字符串是不是以指定子字符串開頭,若是是則返回 True,不然返回 False,支持切片   splitlines  按照行('\r', '\r\n', \n')分隔,返回一個包含各行做爲元素的列表
   swapcase  對字符串的大小寫字母進行轉換   title  返回"標題化"的字符串,就是說全部單詞都是以大寫開始,其他字母均爲小寫   translate  根據參數table給出的表(包含 256 個字符)轉換字符串的字符, 要過濾掉的字符放到 del 參數中   zfill  返回指定長度的字符串,原字符串右對齊,前面填充0 注意: Python沒有單獨的字符類型,一個字符就是長度爲1的字符串 反斜槓能夠用來轉義,使用r可讓反斜槓不發生轉義 字符串能夠用+運算符進行字符串的拼接操做 Python中的字符串有兩種索引方式,從左往右以0開始,從右往左以-1開始 Python中的字符串不能改變    

*.python3列表

概念:

   List是Python中使用最頻繁的數據烈性。函數

  列表能夠完成大多數集合類的數據結構實現。列表中元素的類型不相同,它支持數字,字符串甚至能夠包含列表(嵌套)。測試

  列表是寫在方括號「[]」之間、用逗號分隔的元素列表。編碼

  和字符串同樣,列表一樣能夠被索引和截取,列表被截取後返回一個包含所需元素的新列表。

  列表的截取格式爲:變量[頭下標:尾下標]  

  list = [ 'abcd', 786 , 2.23, 'cai', 70.2 ]   tinylist = [123, 'cai']   print (list)       # 輸出完整列表 
  print (list[0])     # 輸出列表第一個元素 
  print (list[1:3])    # 從第二個開始輸出到第三個元素 
  print (list[2:])     # 輸出從第三個元素開始的全部元素 
  print (tinylist * 2)  # 輸出兩次列表 
  print (list + tinylist) # 鏈接列表

經常使用用法:

append  在列表末尾添加新的元素   例子:   ---------------------------------------------------------------   a = ["cai", "test", 123]   a.append("xiaochen")   print(a)   ["cai", "test", 123, "xiaochen"]   ---------------------------------------------------------------   count  用於統計某個元素在列表中出現的次數。   例子:   ---------------------------------------------------------------   a = ["cai", "test", 123, 123]   print(a.count(123))   2
  ---------------------------------------------------------------   clear  清空列表   extend  用於在列表末尾一次性追加另外一個序列中的多個值   例子:   ---------------------------------------------------------------   a = ["cai", "test", 123]   b = ["xiao", chen]   a.extend(b)   print(a)   ["cai", "test", 123, "xiao", "chen"]   ---------------------------------------------------------------   index  從列表中找出某個值第一個匹配項的索引位置   例子:   ---------------------------------------------------------------   a = ["xiaochen", "test", 123]   print(a.index("test"))   1
  ---------------------------------------------------------------   insert  將指定對象插入列表的指定位置   例子:   ---------------------------------------------------------------   a = ["xiaochen", "test", 123]   a.insert(1, "cai")   print(a)   ["xiaochen", "cai", "test", 123]   ---------------------------------------------------------------   pop  刪除列表中的一個元素(默認爲最後一個),而且返回值爲該元素,沒有則會報錯   例子:   ---------------------------------------------------------------   a = ["chuanqi", "test", 123]   a.pop(1)   print(a)   ["chuanqi", 123]   ---------------------------------------------------------------   remove  刪除列表中某個元素的第一個匹配項,沒有則會報錯   例子:   ---------------------------------------------------------------   a = ["chuanqi", 123, "test", 123]   a.remove(123)   print(a)   ["chuanqi", 123]   ---------------------------------------------------------------   sort  對列表進行排序   例子:   ---------------------------------------------------------------   a = [3, 2, 4, 1]   a.sort()   print(a)   [1, 2, 3, 4]   --------------------------------------------------------------- 不經常使用用法:   reverse  用於反向列表中元素   例子:   ---------------------------------------------------------------   a = ["chuanqi", "test", 123]   a.reverse()   print(a)   [123, "test", "chuanqi"]   ---------------------------------------------------------------


注意:

List卸載方括號之間,元素用逗號分隔
和字符串同樣,list能夠被索引和切片
List能夠用+操做符進行拼接
List中的元素是能夠改變的

*.python3元組

概念:

  元組與列表相似,不用之處在於元組不能修改。元組卸載小括號裏「()」,元素之間用逗號分隔

用法:

  與列表相似,只是不能修改

  只有count與index函數

注意:

  • 和字符串同樣,元組能夠被索引和切片
  • 元組也能夠被索引和切片,方法同樣
  • 注意構造包含0或1個元素的元組的特殊語法規則
  • 元組也可使用+操做符進行拼接

python3字典

概念:

  字典是Python中另外一個很是游泳的內置數據類型。

  列表是有序的對象集合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的,而不是經過索引存取。

  字典是一種映射類型,字典用大括號「{}」表示,它是一個無序的鍵(key):值(value)對集合。

  鍵(key)必須使用不可變類型。

  在同一個字典中,鍵(key)必須是惟一的。

  dict = {}   dict['one'] = "1"   dict[2] = "2"   testdict = {'name': 'xiaochen','code':1, 'site': 'www.777.com'}   print (dict['one'])     # 輸出鍵爲 'one' 的值
  print (dict[2])        # 輸出鍵爲 2 的值
  print (testdict)       # 輸出完整的字典
  print (testdict.keys())   # 輸出全部鍵 
  print (testdict.values())  # 輸出全部值

經常使用用法:

clear  刪除字典內全部元素   例子:   ---------------------------------------------------------------   a = {"name": xiaochen", "age": 18}   a.clear   print(a)   ---------------------------------------------------------------   fromkeys  建立一個新字典,以序列seq中元素作字典的鍵,value爲字典全部鍵對應的初始值   例子:   ---------------------------------------------------------------   a = {}   b = ["name", "age", "test"]   print(a.fromkeys(b, 10))   {'name': 10, 'age': 10, 'test': 10}   ---------------------------------------------------------------   get  函數返回指定鍵的值,若是值不在字典中返回默認值   例子:   ---------------------------------------------------------------   a = {"name": "xiaochen", "age": 18}   print(a.get("name"))      yehe   ---------------------------------------------------------------   items  以列表返回可遍歷的(鍵, 值) 元組數組(列表轉元組)   例子:   ---------------------------------------------------------------   a = {"name": "xiaochen", "age": 18}   b = a.items()   print(b)      dict_items([('name', 'xiaochen'), ('age', 18)])   ---------------------------------------------------------------   keys  已列表的形式返回一個字典全部的鍵    pop  刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 不然,返回default值   例子:   ---------------------------------------------------------------   a = {"name": "xiaochen", "age": 18}   a.pop("name")   print(a)      {'age': 18}   ---------------------------------------------------------------   popitem  隨機返回並刪除字典中的一對鍵和值(通常刪除末尾對),若是字典爲空則報錯   setdefault  和get()方法相似, 若是鍵不存在於字典中,將會添加鍵並將值設爲默認值   例子:   ---------------------------------------------------------------   a = {"name": "xiaochen", "age": 18}   print(a.setdefault("test"))   print(a)      {'name': 'xiaochen', 'age': 18, 'test': None}   ---------------------------------------------------------------   update  把字典dict2的鍵/值對更新到dict裏   例子:   ---------------------------------------------------------------   a1 = {"name": "xiaochen", "age": 18}   a2 = {"hobby":"men"}   a1.update(a2)   print(a1)      {'name': 'xiaochen', 'age': 18, 'hobby': 'men'}   ---------------------------------------------------------------   values  已列表的形式返回字典中的全部值

注意:

  • 字典是一種映射類型,它的元素是鍵值對。
  • 字典的關鍵字必須爲不可變類型,且不能重複。
  • 建立空字典使用{}。 

*.python3集合

概念

  集合是一個無序不重複元素的序列。

  基本功能是進行成員關係測試和刪除重複元素。

  可使用大括號{ }或者set()函數建立集合,可是建立一個空集合必須用set()

parame = {value01,value02,...}   或者   set(value)

經常使用用法:

 a = set('abracadabra')   b = set('alacazam')   1,差集     print(a - b)   2,並集     print(a | b)   3,交集     print(a & b)   4,反交集     print(a ^ b)   5,增     a.add('666')    增長一個元素     a.update('abc')  迭代增長   6,刪     a.remove     刪除一個元素      a.pop      隨機刪除一個元素     a.clear      清空集合     del a        刪除集合

 

*.python3字符串

字符串是 Python 中最經常使用的數據類型。咱們可使用引號('或")來建立字符串。

 

%[(name)][flags][width].[precision]typecode

 

tpl = "i am %s" % "cai" tpl = "i am %s age %d" % ("cai", 18) tpl = "i am %(name)s age %(age)d" % {"name": "cai", "age": 18} tpl = "percent %.2f" % 99.97623 tpl = "i am %(pp).2f" % {"pp": 123.425556, } tpl = "i am %.2f %%" % {"pp": 123.425556, }

 經常使用用法

(name) 可選,用於選擇指定的key flags 可選,可供選擇的值有: + 右對齊;正數前加正好,負數前加負號; - 左對齊;正數前無符號,負數前加負號; 空格 右對齊;正數前加空格,負數前加負號; 0 右對齊;正數前無符號,負數前加負號;用0填充空白處 width 可選,佔有寬度 .precision 可選,小數點後保留的位數 typecode 必選 s,獲取傳入對象的__str__方法的返回值,並將其格式化到指定位置 r,獲取傳入對象的__repr__方法的返回值,並將其格式化到指定位置 c,整數:將數字轉換成其unicode對應的值,10進制範圍爲 0 <= i <= 1114111(py27則只支持0-255);字符:將字符添加到指定位置 o,將整數轉換成 八 進製表示,並將其格式化到指定位置 x,將整數轉換成十六進制表示,並將其格式化到指定位置 d,將整數、浮點數轉換成 十 進製表示,並將其格式化到指定位置 e,將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(小寫e) E,將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(大寫E) f, 將整數、浮點數轉換成浮點數表示,並將其格式化到指定位置(默認保留小數點後6位) F,同上 g,自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(若是是科學計數則是e;) G,自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(若是是科學計數則是E;) %,當字符串中存在格式化標誌時,須要用 %%表示一個百分號 注:Python中百分號格式化是不存在自動將整數轉換成二進制表示的方式

 

*、Format方式

[[fill]align][sign][#][0][width][,][.precision][type]
fill 【可選】空白處填充的字符 align 【可選】對齊方式(需配合width使用) <,內容左對齊 >,內容右對齊(默認) =,內容右對齊,將符號放置在填充字符的左側,且只對數字類型有效。 即便:符號+填充物+數字 ^,內容居中 sign 【可選】有無符號數字 +,正號加正,負號加負; -,正號不變,負號加負; 空格 ,正號空格,負號加負; # 【可選】對於二進制、八進制、十六進制,若是加上#,會顯示 0b/0o/0x,不然不顯示
,            【可選】爲數字添加分隔符,如:1,000,000 width 【可選】格式化位所佔寬度 .precision 【可選】小數位保留精度 type 【可選】格式化類型 傳入」 字符串類型 「的參數 s,格式化字符串類型數據 空白,未指定類型,則默認是None,同s 傳入「 整數類型 」的參數 b,將10進制整數自動轉換成2進製表示而後格式化 c,將10進制整數自動轉換爲其對應的unicode字符 d,十進制整數 o,將10進制整數自動轉換成8進製表示而後格式化; x,將10進制整數自動轉換成16進製表示而後格式化(小寫x) X,將10進制整數自動轉換成16進製表示而後格式化(大寫X) 傳入「 浮點型或小數類型 」的參數 e, 轉換爲科學計數法(小寫e)表示,而後格式化; E, 轉換爲科學計數法(大寫E)表示,而後格式化; f , 轉換爲浮點型(默認小數點後保留6位)表示,而後格式化; F, 轉換爲浮點型(默認小數點後保留6位)表示,而後格式化; g, 自動在e和f中切換 G, 自動在E和F中切換 %,顯示百分比(默認顯示小數點後6位)
tpl = "i am {}, age {}, {}".format("seven", 18, 'alex') tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex']) tpl = "i am {0}, age {1}, really {0}".format("seven", 18) tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18]) tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18) tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33]) tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1) tpl = "i am {:s}, age {:d}".format(*["seven", 18]) tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18) tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18}) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15) tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
相關文章
相關標籤/搜索