《python編程 從入門到實踐》筆記
《Python編程 從入門到實踐》
第2章 變數和簡單數據類型
·變數
變數名只能包含字母、數字和下劃線;
變數名不能包含空格,可以使用下劃線分隔單詞;
不要將關鍵字和函數名用作變數名;
慎用小寫字母l和大寫字母O。
·字元串
改寫字元大小寫:title、upper、lower
刪除空白:rstrip、lstrip、strip
第3章 列表簡介
·列表
列表是由一系列按特定順序排列的元素組成。
訪問列表元素:元素的位置或索引
索引從0開始
最後一個元素索引為-1
·修改、添加、刪除元素
修改:根據索引
添加:append——末尾添加元素——列表名.append(元素名)
insert——插入元素——列表名.insert(索引,元素名)
刪除:del——del 列表名[索引]、del 列表名[元素名]
pop——刪除末尾元素並獲取該元素
——列表名.pop()、列表名.pop(索引)
remove——列表名.remove(元素名)
·組織列表
排序:sort——永久性修改——列表名.sort()、列表名.sort(reverse=True)
sorted——不影響原來順序——sorted(列表名)、反序reverse
倒序:reverse——反轉排列順序、永久性——列表名.reverse()
長度:len——len(列表名)
第4章 操作列表
·遍歷
循環——for
·創建數值列表
生成:range——list(range(...))
統計:min(列表名)、max、sum
列表解析:將for循環和創建新元素的代碼合併,並自動附加新元素
例如:squares=[value**2 for value in range(1,11)]
squares=[1,4,9,16,25,36,49,64,81,100]
·使用列表
切片:列表名[開始元素:結束元素]
列表名[:結束元素]——自動從列表開頭開始
列表名[開始元素:]——終止於列表末尾
複製:新列表=列表名[:]
新列表=舊列表——這兩個變數都指向同一個列表
·元組
列表可以修改,元組不可修改。
定義:圓括弧 使用索引訪問 不可修改元素
遍歷:for循環
修改:不能修改元組的元素,可以給存儲元組的變數賦值
·代碼格式
縮進:四個空格、製表符——不可混用
行長:79字元、72字元
空行:可讀性
第5章 if語句
·條件測試
每條if語句的核心都是一個值為True或False的表達式,這種表達式被稱為條件測試。
檢查相等:使用兩個等號(==)檢查 不相等(!=)
比較:== != < > <= >=
檢查多個條件:and——條件1 and 條件2
or——條件1 or tiaojian2
特定值包含:in——特定值 in 列表 不包含(not in)
·if語句
if-else語句
if-elif-else語句 可多個elif,可省略else
第6章 字典
·字典
字典是一系列鍵-值對,每個鍵都與一個值相關聯。 {鍵:值}
訪問:指定字典名和鍵——字典名[鍵],得到值
添加:指定字典名、鍵、值——字典名[鍵]=值 創建空字典{}
修改:指定字典名、鍵、新值
刪除:del——指定字典名、鍵——del 字典名[鍵]——永遠消失
·遍歷字典
遍歷鍵-值:for循環——聲明鍵和值——for k,v in 字典.items()
遍歷鍵:for循環——for k in 字典.keys()、for k in 字典
遍歷值:for循環——for v in 字典.values()
集合:集合類似於列表,但每個元素必須獨一無二
找出列表獨一無二的元素——set(列表名)
第7章 用戶輸入和while循環
·輸入
輸入:input——接受一個參數,即向用戶顯示的提示或說明
——獲取輸入為字元串
·while循環
循環:while
退出:break——控制程序流程——退出while循環、for循環
返回:continue——返回到循環的開頭
第8章 函數
·定義函數
定義:def——def 函數名():、def 函數名(參數)
形參——函數完成其工作所需的一項信息
實參——調用函數時傳遞給函數的信息
·傳遞實參
位置實參:函數調用實參的順序與函數定義形參的順序一致
關鍵字實參:不考慮實參順序——調用時:函數(實參=值)
默認值:定義時:函數(形參=值)
實參可選:定義時:函數(形參,形參=』』)
·任意數量的實參
元組:def 函數(*name)——名為name的元組
鍵值對:def 函數(**name)——名為name的字典
·函數模塊
可以將函數存儲在被稱為模塊的獨立文件中,再將模塊導入主程序。
導入:import——import 模塊
——from 模塊 import 函數
——import 模塊 as 別名 (函數也可別名)
——from 模塊 import * ——導入模塊內所有函數
第9章 類
·創建和使用類
創建:class——calss 類名(): 類名首字母大寫
類中的函數稱為方法
def __init__(self,形參): self.形參=形參
在類中的方法,有形參self,必不可少還必須位於其他形參前面。Python調用__init__()方法創建類的實例時,將自動傳入實參self。每個與類相關聯的方法調用都自動傳遞實參self,它是一個指向實例本身的引用,讓實例能夠訪問類中的屬性和方法。
實例:實例名=類() 可傳入參數
訪問屬性:實例名.屬性
調用方法:實例名.方法()
·繼承
一個類繼承另一個類時,將自動獲得另一個類的所有屬性和方法。
super()函數將父類與子類關聯——super().__init__()
·導入類
導入:from 模塊 import 類、import 模塊
第10章 文件和異常
·讀取數據
打開文件:open——with open(filename) as f: f.read()
——with不需要訪問文件後將其關閉
——逐行讀取 f.readlines()
讀取後解讀為字元串
·寫入文件
寫入:先打開再寫入——with open(filename,』w』) as f: f.write(...)
模式:r——讀 w——寫 a——附加(不覆蓋寫入) r+——讀和寫
·異常
處理異常:try-except——如果try代碼塊中的代碼運行無誤,將跳過except代碼塊;否則查找except代碼塊並運行。
try-except-else——try代碼塊只包含可能導致錯誤的代碼,else代碼塊包含依賴於try代碼塊成功執行的代碼。
·存儲數據
JSON:json.dump()——
import json with open(file,』w』) as f: json.dump(數據,f)
json.load()——
import json with open(file) as f: json.load(f)
第11章 測試代碼
·測試:unittest模塊——
import unittest class NamesTestCase(unittest.TestCase):
... self.assertEqual(...)
·測試類
斷言方法:用來核實得到的結果是否與期望的結果一致
assertEqual(a,b)——核實a==b
assertNotEqual(a,b)——核實a!=b
assertTrue(x)——核實x為True
assertFalse(x)——核實x為False
assertIn(item,list)——核實item在list中
assertNotIn(item,list)——核實item不在list中
方法setUp():unittest.TestCase類包含方法setUp()
在TsetCase類中包含方法setUp(),先運行它,再運行各個以test_打頭的方法。
推薦閱讀:
※如何提高UG曲面造型的水平呢?你都有什麼技巧,一起來看看我的吧
※C語言基礎:多文件編譯
※工欲善其事必先利其器—Python基礎
※Go 語法糖水 - 單元測試