讀書筆記之《編程小白的第1本Python入門書》


本書電子版下載地址:百度網盤

寫在前面:你需要這本書的原因

有沒有那一個瞬間,讓你想要放棄學習編程?

在我決心開始學編程的時候,我為自己制定了一個每天編程1小時的計划,那時候工作很忙,我只能等到晚上9點,同事都下班之后,獨自留在辦公室編程。

做任何事情一定有在短期內簡單可行的辦法。 學習不應該是苦差事,而應該是快樂的,重要的是找到適合自己的學習方法。

高效學習法的核心在於:

  1. 精簡:學習最核心的關鍵知識;
  2. 理解:運用類比、視覺化的方法來理解這些核心知識;
  3. 實踐:構建自己的知識體系之后,再通過實踐去逐漸完善知識體系。

我不追求讓你達到精通的程度,事實上我也很懷疑有哪本書真正做到21天從入門到精通。精通一門語言,需要在實際項目開發中踩過許多坑,需要熟悉計算機運作的底層原理......對於實用主義的開發者來說,更應該追求的是達成而不是精通。先掌握項目所需的最少必要知識,然后把熱情和精力投入到搭建真實項目中,而不是死磕半年的基礎知識,直到把所有興趣都耗竭了也沒做出什么像樣的東西。

大多數讀者都能在一周內讀完本書。

第一章 為什么選擇Python ?

1.1 Python追求的是找到最好的解決方案。

1.2 Python有很豐富的庫,有官方的,也有第三方開發的,你想做的功能模塊很有可能已經有人寫好了,你只需要調用,不需要重新發明輪子。

第二章 現在就開始

2.1 安裝最新版的Python程序。

2.2 使用IDE工具:PyCharm 社區版是免費的,專業版是付費的。對於初學者來說,兩者的差異微乎其微,用社區版就夠了。

  • 快速上手中文視頻(簡單介紹如何安裝、創建文件、設置皮膚)

https://v.youku.com/v_show/id_XODMyMzM1NzQ4.html

  • 如何高效利用PyCharm系列文檔(圖文並茂的介紹了很多高效技巧)

https://pedrokroger.net/getting-started-pycharm-python-ide/

第三章 變量與字符串

3.1 初學者經常會遇到的困惑是,看書或者聽課都懂,但還是不明白要怎么編程。這是因為缺乏足夠多的實踐......學習時,模仿示例敲一遍代碼。

3.2 變量 變量會暫時性地儲存你放進去的東西。

3.3 字符串

  • 單引號其實和雙引號完全一樣
  • '''三個引號被用於過於長段的文字或者是說明,只要三引號不完你就可以隨意換行寫下文字'''
  • 字符串格式化符format()
print('{} a word she can get what she {} for.'.format('With','came'))
print('{ab} a word she can get what she {cd} for.'.format(ab = 'With', cd = 'came'))
print('{a1} a word she can get what she {a2} for.'.format(a2 = 'came', a1 = 'With'))
# 這三個語句,輸出結果一樣:
With a word she can get what she came for.
With a word she can get what she came for.
With a word she can get what she came for.

第四章 函數的魔法

4.1 內建函數(自帶函數)

Python3.7.3 版本有69個內建函數,具體使用說明見官方文檔

Built-in Function

  Built in Function  
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slice()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  

4.2 開始創建函數

  • def :定義一個函數
  • arg :參數
  • return :返回結果
  • 縮進 :表名語句和邏輯的從屬關系
def function(arg1, arg2):
    return 'Sometihing'
    
def 函數名(參數1, 參數2):
縮進 return '結果'

求直角三角形斜長邊:

def length_bian(a,b):
    c = (a**2 + b**2)**(1/2)
    return c
dd = length_bian(3,4)
print(dd)
  • 位置參數、關鍵詞參數
de(1,2,3) # 位置參數
de(dup = 1, ddown = 2, dheight = 3) # 關鍵詞參數
  • open()函數
file = open('c://python/hello.txt','w')
file.write("HelloWorld!")
  • 數學運算符

假設 a=10, b=20

符號 描述 實例
+ 相加 a+b = 30
- 相減 b-a = 10
* 相乘 a*b = 200
/ 相除 b/a = 2
% 取余 b%a = 0
** 次方 a**b = 10^20
// 取商 b//a = 2

第五章 循環與判斷

5.1 邏輯判斷True&False

  1. 比較運算符
符號 描述
== 左右相等時返回True
!= 左右不等時返回True
> 左邊大於右邊時返回True
< 左邊小於右邊時返回True
>= 左邊大於等於右邊時返回True
<= 左邊小於等於右邊時返回True
  1. 成員運算符與身份運算符in&is

in、not in,表示歸屬關系的布爾運算符 is、is not,表示身份鑒別的布爾運算符

  1. 布爾運算符
運算符 描述
not x 如果x是True,返回Flase
x and y 如果x和y同時為True,返回True
x or y 如果x和y同時為False,返回False

5.2 條件控制if...else

# 如果...條件是成立的,就做...;反之,就做...
if condition:
   do something
elif condition:
   do something
else :
   do something
   
if 成立條件(冒號)
(縮進)執行什么
elif 成立條件(冒號)
(縮進)執行什么
else(冒號)
(縮進)執行什么

5.3 循環(Loop)

  • for循環

於...其中的每一個元素,做...事情

for item in iterable:
    do something
for 元素 in 集合(冒號)
(縮進)執行什么
  • 嵌套循環(Nested Loop)
for i in range(1,10):
    for j in range(1,10):
        print('{} * {} = {}'.format(i,j,i*n))
  • while循環 只要...條件成立,就一直做...
while condition:
    do something
while 成立條件(冒號)
(縮進)執行什么

如何控制while循環?

  1. 在循環過程中制造某種可以使循環停下來的條件P69
  2. 改變使循環成立的條件P70

第六章 數據結構

  • 數據結構(Data Structure) 6.1 儲存大量數據的容器,在Python稱為內置數據結構(Build-in Data Structure)

6.2 Python有四種數據結構:列表,字典,元組,集合。

list = [val1, val2, val3, val4] dict = {key1 : val1, key2 : val2} tuple = (val1, val2, val3, val4) set = {val1, val2, val3, val4} 

6.3 列表(list)

  1. 列表中的每一個元素都是可變的;
  2. 列表中的元素是有序的;
  3. 列表可容納Python中的任何對象。

列表的增刪改查

fruit = ['apple', 'orange']
fruit.insert(1,'grape')  #
fruit[0:0] = ['banana']  #
fruit.remove('grape')    #
del fruit[0:2]           #
fruit[0] = 'Grapefruit'  #
fruit.extend('b1', 'b2') #

6.4 字典(Dictionary)

  1. 字典中數據必須以鍵值對的形式出現;
  2. 邏輯上講,鍵不能重復,值可以重復;
  3. 字典中的鍵(key)是不可變的,而值(value)是可變的。

字典的增刪改查

url_code = {'b' : 'baidu', 's' : 'sina'}
#
url_code['t'] = 'tmall'
url_code.update({'fb' : 'facebook', 'tb' : 'taobao'})
#
del url_code['fb']

6.5 元組(Tuple) 元組不可修改,類似穩定版的列表

6.6 集合(Set) 每一個集合中的元素是無序的、不重復的任意對象。可以通過集合去判斷數據的從屬關系,也可以通過集合去掉數據結構中的重復的元素。

a_set = {1, 2, 3, 4}
a_set.add(5)       #
a_set.discard(5)   #

6.7 多重循環

sorted(num_list,reverse = True) sorted函數,先將列表復制后按照長短、大小、字母順序進行排序,但不改變列表本身。

num_list [4,6,7,9,1,8,3,2]
print(sorted(num_list))

整理列表時,如果同時需要兩個列表怎么辦?

for a,b in zip(num,str):
    print(b, ' is ', a)

6.8 推導式

a = []
for i in range(1,10):
    a.append(i)
b = [i for i in range(1,10)]
# 兩種執行效果一樣,第二種效率更高
# 看幾個例子
a = [i**2 for i in range(1,10)]
b = [j+1 for j in range(1,11)]
c = [n for n in range(1,10) if n % 2 == 0]
d = [letter.lower() for letter in 'ABCDEFG']

e = {i:i+1 for i in range(4)}
f = {i:j for i,j in zip(range(1,6),'abcde')}
g = {i:j.upper() for i,j in zip(range(1,6),'fghij')}

6.9 循環列表獲取元素索引

letters = ['a','b','c','d','e']
for num,letter in enumerate(letters):
    print(letter, ' is ', num+1)

第七章 類與可口可樂

 

第八章 開始使用第三方庫

8.1 令人驚嘆的第三方庫

  • 當你想搭建網站時,可以選擇功能全面的Django、輕量的Flask等web框架;
  • 當你想寫小游戲時,可以使用PyGame框架;
  • 當你想做一個爬蟲時,可以使用Scrapy框架;
  • 當你想做數據統計分析時,可以使用Pandas數據框架...
  • 豐富的資源可以幫我們高效快捷地做到想做的事,就不需要再重新造輪子。
  • 第三方庫

8.2 安裝第三方庫

8.2.1 在PyCharm中安裝 1,路徑:File>>settings>>Project TestCode>>Project Interpreter

2,我的PyCharm版本:PyCharm2019.1.1

3,注意:破解版因屏蔽上網,無法安裝庫

8.2.2 在命令行中安裝

1,安裝pip

在Python3.4之后,安裝好Python環境就可以直接支持pip,可以在命令行輸入命令檢查一下:

2,使用pip安裝庫

# 如果你想安裝到python2中,把pip3 換成 pip
pip3 install 庫名稱
# 如果你安裝了python2和python3兩種版本,可能會遇到安裝目錄問題,可以換成:
python3 -m pip install 庫名稱
# 如果想裝到python2中,把python3 換成 python
# 介紹幾個pip常用指令
pip install --upgrade pip #升級pip
pip uninstall 庫名稱      #卸載庫
pip list                  #查看已安裝庫

3,手動安裝 (1)下載庫文件(pypi站

進入pypi站,搜索要安裝的庫,這是有3種可能。 *1. exe文件,點擊安裝。 *2. .whl類文件,可以自動安裝依賴的包 *3. 源碼文件,如.zip、tar.zip、tar.bz2等格式,要求用戶已安裝這個包所依賴的其他包。

(2).whl文件安裝

pip3 install wheel
cd whl文件所在目錄
pip3 install whl文件

(3)源碼文件安裝

cd 源碼文件所在目錄
python3 setup.py install

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM