《可愛的Python》讀書筆記(一)

Just use it! don't learn!——只用,不學!


無意間瞭解到《可愛的Python》就被它的名字所吸引。查了書評得知這本書是有爭議的,有人覺得書中很多都是點到爲止不適合新手入門,處處給讀者挖坑,結構混亂更不能作爲參考書。有人認爲此書從實用出發,正符合python意旨,適合培養讀者的自學能力。

帶着這些疑問和好奇,我決定開始入手它。


剛開始作者就拋出了本書的觀點“用之!不學!”。故事圍繞代表讀者的“小白”爲實例故事,同代表作者的“行者”溝通,引導式的解決遇到的問題。

首先是非常著名Hello World!讓我們和python打聲招呼:

>>> print('Hello Pythonic World!')
Hello Pythonic World!


小白想要解決的問題:不用插入光盤就可以搜索所有光盤的內容。

行者的建言:明晰你的問題,當問題真正得到定義時,問題已經解決了一半。

描述問題:先將光盤內容儲存到硬盤上,再根據儲存到硬盤上的光盤信息進行搜索。


小練習:

# -*- coding: utf-8 -*-
#1.計算今年是否是閏年。判斷閏年條件,滿足年份模400爲0或者模4爲0但模100不爲0
import datetime
year = datetime.datetime.now().year  # 獲取當前年份
'''
也可以這樣獲取當前年份
import time
year = time.localtime()[0]
'''
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
    print('當前年份{}是閏年'.format(year))
else:
    print('當前年份{}不是閏年'.format(year))

>>>
當前年份2018不是閏年

#2.利用Python作爲科學計算器的特性,利用math模塊進行數學計算,分別求出145/23的餘數,0.5的sin和cos值(注意sin和cos中的參數是弧度製表示法)
#提示:可通過 import math; help( "math" ) 查看 math 幫助。
import math
print('145/23 的餘數 = %d' % math.fmod(145, 23))
print('sin(0.5) = %f' % math.sin(0.5))
print('math.cos(0.5) = %f' % math.cos(0.5))

>>>
145/23 的餘數 = 7
sin(0.5) = 0.479426
math.cos(0.5) = 0.877583

#3. 找出 0~100 的所有素數(質數)
#一個大於1的自然數,除了1和它自身外,不能被其他自然數整除
#在一般領域,對正整數n,如果用2到根號n之間的所有整數去除,均無法整除,則n爲質數
#使用列表推導式
prime_number = [n for n in range(2, 100) if 0 not in [n % i for i in range(2, int(math.sqrt(n))+1)]]
print(prime_number)

>>>
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

如此體現了Python是個強大的科學計算器。


總結:第一節主要是定下了本書的基調。提出了明晰問題的重要性。整體看了一下書的結構,本書把故事寫在正文,對遇到的問題都不進行深入的講解,而是點到爲止。提醒讀者自行查看頁邊的各種引導和提示,作者的立意應該是引導讀者獨立學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章