Python讀書筆記:需要注意的70個小問題

dicksonjyl560101發表於2018-07-25


70 個小notes


1 python 始終記錄變數最新值。

2 變數應簡短且具有描述性,如student_name等。

3 變數名推薦小寫。

4 單雙引號括起來的,字串可以包含引號和撇號。用法:"this's a cup"

5 title() 將每個單詞的首字母都改為大寫。用法:str.title()

6 upper() 將字串轉化為大寫。用法:str.upper()

7 lower() 將字串轉化為小寫。用法:str.lower()

8 空白泛指任何非列印字元。如空格、製表符和換行符。

9 rstrip() 剔除字串末尾空白。用法:str.rstrip()

10 lstrip() 剔除字串開頭空白。用法:str.lstrip()

11 strip() 剔除字串兩端空白。用法:str.strip()

12 Python 使用兩個稱號表示乘方。用法:3 ** 2

13 程式設計理念。Python之禪:import this

14 list 中使用逗號來分割其中的元素。

15 list 索引-1返回最後一個元素列表,-2以此類推。用法:list[-3:]

16 list[0] = 'update' 修改列表元素

17 list.append('add') 列表中新增元素

18 list.insert(0.'insert') 列表中指定位置插入元素

19 del list[0] del 元素刪除list元素

20 newlist = list.pop() 方法pop()刪除元素

21 從列表中刪除元素且不再使用用del方法,刪除元素後還有可能用選擇pop()

22 list.remove('element') 根據值移除第一個指定的元素,可接著使用。

23 sort() 列表按照字母永久性排序。如:list.sort()

24 sort() 列表按照字母相反的排序。如:list.sort(reverse=True)

25 reverse() 反轉列表元素排序。用法:list.reverse()

26 for 迴圈遍歷時候選擇有意義的名稱。用法: for cat in cats:

27 range() 生成一系列數字。用法: numbers= list(range(1,11,2))

28 list 的內建統計函式。用法:min(list)/max(list)/sum(list)

29 python 的切片功能。用法: list[0:3]/list[:]/list[-3:]/list[:9]

30 list 複製。用法:new_foods = old_food[:]

31 元組包括一些列不可修改的元素且用圓括號標識。用法:tulple = (2,3)

32 檢查是否相等時不考慮大小寫。用法:str.lower() == 'somestr'

33 使用and檢查多個條件。用法:condition1>=1 and condition2>=2 and ...

34 使用or檢查多個條件。用法:condition1>=1 or condition2>=2 or ...

35 使用多個列表。用法:

    list1 = ['1','2','3','4']

    list2 = ['1','4']

    for l2 in list2:

        if l2 in list1:

            go()

        else:

            pass

36 比較運算子兩邊各新增空格,便於可讀性。用法:if age > 40:

37 dict 修改值,用法:dict['key'] = value

38 dict 刪除鍵值對,用法: del dict['key']

39 字典的遍歷,用法:

    for key,value in dict.items():

    for key in dict:

    for key in dict.keys():

    for value in dict.values():

    for value in set(dict.values()): # 遍歷字典的無重複值

40 字典列表,用法:

    dict1 = ['key1':'values1','key2':'values2']

    dict2 = ['key1':'values3','key2':'values4']

    dict3 = ['key1':'values5','key2':'values6']

 

    dicts = [dict1,dict2,dict3]

 

    for dict in dicts:

        pass

41 字典中儲存列表,用法:

    dict1 = {'key1':'values1','key2':['values1','values2']}

    for dict in dict1['key2']:

42 字典中儲存字典,用法:

    dicts = {

             'keys1':{'key1':'values1' ,'key1':'values2''key1':'values3'},

             'keys2':{'key2':'values2' ,'key2':'values2''key2':'values3'}

            }

43 input 接收使用者輸入,用法:

    message = input('user input some values!')

44 % 取模運算判斷奇偶,用法:

    if (4 % 3) == 0:

        print(' 偶數'):

    else:

        print(' 奇數')

45 while 迴圈的常規用法:

    current_number = 1

    while current_number <= 10:

        print('current_number')

        current_number += 1

46 while 迴圈使用標誌的用法:

    flag = True

    while flag:

        message = input(prompt)

47 列表之間移動元素,用法:

    while list[]:

        newlist.append(list[].pop())

48 刪除特定的元素,用法:

    while element in list:

        list.remove(element)

49 形參與實參的理解,用法:

    def method(username): # username 形參

    method('zhangsan')    # zhangsan 實參

50 位置引數,用法:

    def describe(name,age):

    describe('zhangsan',22)  # 引數位置對應傳遞

51 關鍵字實參是傳遞函式的名稱-值對,用法:

    def describe(name,age):

    describe(name='zhangsan',age=22) # 關鍵字實參

    describe(age=22,name='zhangsan') # 關鍵字實參,位置不重要

52 形參設定預設值,用法:

    def describe(name='lisi',age):

53 返回值,用法:

    def describe(name='lisi',age):

        des = name + str(age)

        return des                  # 可以返回字典、列表等形式

54 列表引數,用法:

    lists = ['huangsan','lisi','wangjun','denghui']

    def cats_name(lists):

        for list in lists:

            print("'my love is :\t'+list".title())

55 傳遞任意引數,用法:

    def cats_name(*cats): # 可以傳遞多個形參

56 位置實參和任意數量實參:

    def cats_name(parament1,parament2,*cats): # 可以傳遞多個形參

    cats_name(para1,para2,para3,para4,...)

57 任意實參和關鍵字實參,用法:(cats.py)

    def cats_name(parament1,parament2,**cats): # 可以傳遞多個形參

    cats_name(para1,para2,para3,newname=para4,...)

58 匯入整個模組,用法:

    import cats

    cats.cats_name(para1,para2,para3,newname=para4,...)

59 匯入特定的函式,用法:

    from nltk import map_tag  as mt

60 匯入模組所有函式,用法:

    from nltk import *

61 形參預設時,兩邊不能為空,用法:

    def function_name(parament_0,parament_1='default')

62 類的命名是駝峰型即首字母大寫。

63 __init__(self,papa1,para2): 避免python預設方法跟普通方法名稱衝突,self必不可少

    ,必須位於其他形參的前面,指向例項本身。

64 類的繼承,用法:

    父類:包含在當前檔案中,位於子類前,cat.py

    class Animal():

        def __init__(self,name,age):

            self.name = name

            self.age = age

        def animal_call(self):

            print('this is '+self.name.title()+'call.')

    子類:

    class Cat(Animal): # 括號內包括父類的名稱

        def __init__(self,name,age,color): 

            # 包含父類所有屬性

            super().__init__(name,age)

            self.color = color # 子類特有屬性

        def cat_color(self):

            print('the cat is '+self.color)

    if __name__ == '__main__':

        cat_call = Cat('Tom',3,'blue')

        cat_call.animal_call() # 呼叫父類

        cat_call.cat_color() # 呼叫子類

65 幾種類的匯入方式,用法:

    from cat import Cat  # 匯入單個類

    from cat import Animal,Cat # 匯入多個類

    from cat                   # 匯入整個模組

    from cat import *          # 匯入所有類

66 讀取文字檔案,並刪除字串始末空白,用法:

    my_str = line.strip()

67 opem() 自動建立檔案路徑,若路徑不存在時候。

68 異常程式碼塊:try-except

69 split() 建立單詞列表

    str = 'this is a string'

    str.split()

    ['this','is','a','string']

70 儲存資料json.dump()和json.load()

    with open(filename,'w') as f_obj:

        json.dump(strs,f_obj)

    with open(filename,'r') as f_obj:

        strs = json.load(f_obj)

    print(strs)

 


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2158496/,如需轉載,請註明出處,否則將追究法律責任。

相關文章