編程小白的第一本python書 (讀書筆記)


變量與字符串

  • 變量的定義與賦值 answer = 42
  • file = open(' Users/yourname/Desktop/file','w') file.write('hello world!')

  • 上面代碼的意思是:在桌面上打開一個文件(路徑得看個人具體情況),w的意思是及舍,如果有則在文件里寫入hello world丑罪,如果沒有則創(chuàng)建一個文件会宪。

  • Mac可以通過把一個文件拖入到終端里來看文件路徑撬陵。

  • 字符串用單引號跟雙引號括起來都可以舟铜,特別注意:三個單引號是可以跨行的超長字符串

字符串.png
運行結(jié)果.png
  • 不同數(shù)據(jù)類型不可以直接合并寸齐,合并不同數(shù)據(jù)類型弛随,需要使用數(shù)據(jù)類型轉(zhuǎn)換

e.g

合并不同數(shù)據(jù)類型
運行結(jié)果
  • 需要使用中文注釋的時候屯曹,記得在開始處加#utf-8

  • 字符串相乘狱庇,其實就是幾個字符串相加合并

字符串相乘
  • 一個更復雜的例子

一個更復雜的例子
  • 字符串的分片與索引

字符串可以通過string[x]的方式進行索引寄疏、分片,也就是加一個[]僵井。字符串的分片實際上是可以看作是從字符串中找出來你要截取的東西陕截,復制出來一小段你要的長度,存儲在另一個地方批什,而不會對字符串這個源文件改動农曲。分片獲得的每個字符串可以看作是原字符串的一個副本

e.g.

切片例子
一個項目例子
  • 字符串的方法

只顯示號碼后四位
  • 字符串格式化符

英語填空題
利用鍵盤輸入填充空缺

函數(shù)

  • python的內(nèi)建函數(shù)

python內(nèi)建函數(shù)

Python官網(wǎng)中各個函數(shù)的介紹: https://docs.Python.org/3/library/functions.html

  • 創(chuàng)建函數(shù)

    def function (arg1, arg2):
        return 'Something'
    

注意語句塊要縮進!不要漏掉冒號驻债!

攝氏度轉(zhuǎn)華氏度函數(shù)

  • 函數(shù)調(diào)用

函數(shù)調(diào)用
  • 兩個小練習

練習一:設計一個重量轉(zhuǎn)換器维费,輸入以“g”為單位的數(shù)字后返回換算成“kg”的結(jié)果

重量轉(zhuǎn)換器

當輸入為1000時造壮,


運行結(jié)果

練習二:設計一個求直角三角形斜邊長的函數(shù) (兩條直角邊為參數(shù),求最長邊)

求直角邊
  • 傳遞參數(shù)與參數(shù)類型

參數(shù)有兩種類型: 位置參數(shù) (position argument)
關鍵詞參數(shù) (keyword argument)

求梯形面積

位置參數(shù)
關鍵詞參數(shù)

混合方式傳入?yún)?shù)


混合傳入
  • 默認參數(shù)

默認參數(shù)
  • 設計自己的函數(shù)

open函數(shù)與write方法
運行效果

設計一個函數(shù),需求是:傳入?yún)?shù)name與msg就可以控制在桌面寫入的文件名稱和內(nèi)容的函數(shù)text_create,并且如果當桌面上沒有這個可以寫入的文件時夜涕,那么就創(chuàng)建一個之后再寫入。(敏感詞過濾器的第一部分)

可以自定義文件名跟內(nèi)容的函數(shù)

敏感詞過濾函數(shù):定義一個函數(shù)text_filter,傳入?yún)?shù) word, censored_word和changed_word實現(xiàn)過濾募逞,敏感詞censored_word默認為lame越败,替換詞changed_word默認為Awesome。

敏感詞過濾

把兩個函數(shù)合并:創(chuàng)建一個名為text_censorded_create的函數(shù)拆祈,功能是在桌面上創(chuàng)建一個文件恨闪,在其中輸入文字,但如果信息中包含敏感詞的話就會被默認過濾后寫入文件放坏。

text_censorded函數(shù)
  • 一些數(shù)學上的操作符

數(shù)學運算

循環(huán)與判斷

  • 布爾表達式

布爾表達式
  • 比較運算

python的比較運算符跟C語言基本一致

一些復雜的運算


復雜的比較運算
需要注意的小問題
  • 成員運算符與身份運算符 (Membership&Identify Operators)

列表

列表

成員運算符和身份運算符的關鍵詞是 inis咙咽。

用is操作符來進行身份比對

布爾值

布爾值

python的布爾運算符是直接用英文的and ,or,not 邏輯內(nèi)涵還是基本的與或非不變淤年。

布爾運算符
  • 條件控制

python中的if else 跟C語言一個用法

if else

用布爾變量優(yōu)化條件表達式

用布爾變量優(yōu)化條件表達式

多條件判斷跟C語言寫法略有不同钧敞,主要是中間的部分用的是elif, 用法上沒區(qū)別

加重置密碼功能的登陸
  • 循環(huán)

for循環(huán)

for循環(huán)語法
一個for循環(huán)例子

for循環(huán)與if結(jié)合的例子

for與if

嵌套循環(huán)

九九乘法表

while循環(huán)

while循環(huán)
一個更復雜的例子

注意:這里的while可以理解為是if循環(huán)版,可以使用while-else結(jié)構(gòu)麸粮。

  • 練習題

練習一:


練習一
解法一
解法二

練習二:

練習二
復利

練習三:
打印一到一百內(nèi)的偶數(shù)

打印1到100內(nèi)的偶數(shù)

綜合練習:

綜合練習
猜大小游戲

數(shù)據(jù)結(jié)構(gòu)

存儲大量數(shù)據(jù)的容器溉苛,在python中稱之為內(nèi)置數(shù)據(jù)結(jié)構(gòu)(Built-in Data
Structure)。

我們?nèi)粘J褂玫木W(wǎng)站豹休,移動應用炊昆,甚至是手機短信都依賴于數(shù)據(jù)結(jié)構(gòu)來進行存儲,其中的數(shù)據(jù)以一種特定的形式存儲在數(shù)據(jù)結(jié)構(gòu)中威根,在用戶需要時被拿出來展現(xiàn)凤巨。

python中有四種數(shù)據(jù)結(jié)構(gòu),分別是:列表洛搀、字典敢茁、元組、集合留美。

四種數(shù)據(jù)結(jié)構(gòu)
  • 列表

列表有點像C語言里的數(shù)組彰檬,只不過伸刃,它里面可以放所有python類型,不需要都是同一種類型逢倍,這點和數(shù)組不同

列表

列表的特點

在列表中插入元素

插入

刪除列表中的元素

刪除
下標方式刪除
用del關鍵字刪除

列表元素的替換

替換

列表的索引

索引
  • 字典

字典
字典的書寫

添加字典元素

添加

刪除字典元素

刪除

查找字典元素

查找
  • 元組

元組
  • 集合

集合

因為集合是無序的捧颅,所以邏輯上當然是不可以索引的。

  • 數(shù)據(jù)結(jié)構(gòu)的一些技巧

數(shù)據(jù)結(jié)構(gòu)的一些技巧

關于zip函數(shù)

用zip進行兩個列表中元素的操作
用zip生成元組對列表

注意:

在python 3.0中zip()是可迭代對象较雕,使用時必須將其包含在一個list中碉哑,方便一次性顯示出所有結(jié)果

list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]

zip()參數(shù)可以接受任何類型的序列,同時也可以有兩個以上的參數(shù);當傳入?yún)?shù)的長度不同時亮蒋,zip能自動以最短序列長度為準進行截取扣典,獲得元組。

推導式

推導式
推導式格式

推導式慎玖,其實就是在一定范圍/條件 內(nèi) 按照一定格式來生成新的數(shù)據(jù)結(jié)構(gòu)

更復雜的例子

**遍歷列表時獲取元素的索引

如何獲取列表索引贮尖?

enumerate函數(shù)獲取列表索引
  • 綜合項目

用split函數(shù)得到獨立的單詞
代碼例子
用count來詞頻統(tǒng)計
一些問題

解決問題后的最終版本

詞頻統(tǒng)計
代碼講解

  • 定義一個類

定義類
  • 類的實例化

類的實例化
  • 類屬性的引用

類屬性的引用
  • 實例屬性

實例屬性
  • 實例方法

實例方法
關于self
更多參數(shù)
  • 初始化方法

會給實例增加屬性的初始化方法
會給實例增加方法的初始化方法
帶有參數(shù)的初始化方法
  • 類的繼承

父類
子類
繼承和覆蓋
  • 類屬性和實例屬性

類屬性和實例屬性的調(diào)用
被隱藏的類屬性_dict_
屬性引用機制
  • 內(nèi)建類

內(nèi)建類
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市趁怔,隨后出現(xiàn)的幾起案子湿硝,更是在濱河造成了極大的恐慌,老刑警劉巖痕钢,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件图柏,死亡現(xiàn)場離奇詭異,居然都是意外死亡任连,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門例诀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來随抠,“玉大人,你說我怎么就攤上這事繁涂」八” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵扔罪,是天一觀的道長秉沼。 經(jīng)常有香客問我,道長矿酵,這世上最難降的妖魔是什么唬复? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮全肮,結(jié)果婚禮上敞咧,老公的妹妹穿的比我還像新娘。我一直安慰自己辜腺,他們只是感情好休建,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布乍恐。 她就那樣靜靜地躺著,像睡著了一般测砂。 火紅的嫁衣襯著肌膚如雪茵烈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天砌些,我揣著相機與錄音瞧毙,去河邊找鬼。 笑死寄症,一個胖子當著我的面吹牛宙彪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播有巧,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼释漆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了篮迎?” 一聲冷哼從身側(cè)響起男图,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎甜橱,沒想到半個月后逊笆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡岂傲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年难裆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镊掖。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乃戈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亩进,到底是詐尸還是另有隱情症虑,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布归薛,位于F島的核電站谍憔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏主籍。R本人自食惡果不足惜习贫,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崇猫。 院中可真熱鬧沈条,春花似錦、人聲如沸诅炉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至月而,卻和暖如春汗洒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背父款。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工溢谤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人憨攒。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓世杀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肝集。 傳聞我的和親對象是個殘疾皇子瞻坝,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容