如何兩週學會Python 第00天
筆者從今年4月開始寫部落格, 一眨眼就過去2個月了.
時間過得真快啊! 想想也挺感慨的, 從15年秋開始學習java, 至今也快2年了吧.回憶自己的學習過程,也是一波三折.迷茫過,痛苦過,停止過, 也開心過,也沒想到自己也還能堅持到了現在. 剛學那會,覺得自己學習兩年之後應該很牛逼吧, 現在想來當初也挺幼稚的.
從javaSE,再到後來的Android,再就是Linux,再後來前端,資料庫,JavaEE,一路學來,沒有人指點過,走過很多彎路,也學得非常淺顯.也正是因為感覺自己做的東西和學校學的知識沒什麼聯絡,讓我誤入了”歧途”吧. 談不上好,也談不上壞,命運就是這樣, 開了一扇窗,必然關掉一扇窗.
今年有幸接觸了大資料, 越發覺得單靠一門java很難做下去.之前也學了一下Scala, 挺不錯的, 不過畢竟Scala還有很多地方使不上勁, 尤其是做機器學習的時候, 想想還是得系統的學一下Python.
Python的安裝和使用
如何學習Python
Python的入門書,推薦《Python 3程式開發指南》,這本書很容易看懂,不過有程式設計基礎的人,可能會覺得有點囉嗦.
學習的資料,我不推薦看視訊, 儘管我的Java入門是看的尚學堂java300集視訊,但是現在學習新知識,我已經不依賴視訊了,也比較討厭看, 掌握了技巧後,看書和文件比視訊更快更詳細且更具價效比.
學習方式, 我喜歡這樣做:
- 直接看書本上的例題和原始碼
- 敲一遍, 看看執行結果, 理解程式碼的意圖
- 再去刷課後題或者是網上的演算法題,遇到知識漏洞和不會的語法或函式再查文件或者書.
- 仔細看一遍書,總結一篇筆記或部落格.
每個人都有自己的學習方式,掌握一套適合自己的學習方式比無腦學習要快很多,也掌握得更牢固.
最後就是學習計劃了
你覺得學會Python需要花多少時間?
講個笑話: 筆者學了兩年的Java,一年半前差不多會了,現在還在學Java /(ㄒoㄒ)/~~
相信你應該聽說過”二八定律”吧!
程式設計也是如此:
1. 常用的知識點只佔20%,不常用的佔80%.
2. 掌握了20%,可以幹80%的活.
例如linux命令,有上千條,可是掌握了100來條,就可以玩轉Linux了.
掌握Python常用的20%的知識,兩週足以.
兩週 = 2*7*10 hour = 140 hour
這個時間可比大學裡上一門程式設計課的課時要長得多.
如果每天再努力一點點,也許會發生下圖的情況:
HelloWorld.py
凡事預則立,不預則廢!
做任何事,能提前做好,最好提前搞定,尤其是學習,千萬不要等,等一秒就落後一秒!
第0天,就讓我們上手Python吧!
1.HelloWorld.py
2.YourLove.py
msg = input("Whom do you love?")
print(msg,"is better than me?")
注意: ╮(╯▽╰)╭ 之前py檔案命名非常糟糕,因為Python的檔案命名規範是小寫和下劃線結合.
3.caculator.py
做個簡易的計算器吧:
import re
def caculate(num1,op,num2):
num1 = int(num1)
num2 = int(num2)
if(op=='+'):
return num1 + num2
elif(op=='-'):
return num1 - num2
elif(op=='*'):
return num1 * num2
elif(op=='/'):
return num1 / num2
else:
return None
msg = input("請輸入一個簡單的式子,例如4+5: ")
str = re.split('[^0-9]*',msg)
op = re.split('[0-9]*',msg)[1].strip()
print(caculate(str[0],op,str[1]))
講實話,還是Scala用得順手啊 /(ㄒoㄒ)/~~
相關推薦
如何兩週學會Python 第00天
筆者從今年4月開始寫部落格, 一眨眼就過去2個月了. 時間過得真快啊! 想想也挺感慨的, 從15年秋開始學習java, 至今也快2年了吧.回憶自己的學習過程,也是一波三折.迷茫過,痛苦過,停止過, 也開心過,也沒想到自己也還能堅持到了現在. 剛學那會,覺
兩週學會Python 第02天(晚上)
1011 A+B和C (15) times = int(input()) count = 0 while count < times: count +=1
兩週學會python 第03天
學習目標:學會使用python標準類庫 知識點: Python標準庫: 字串處理 io 命令列程式設計 數學與數字 時間與日期 演算法與
兩週學會Python 第02天(上午)
目標: 學會寫靈活健壯簡潔的程式 學習知識點: 控制結構: 條件分支 迴圈 異常處理: 捕獲與產生異常 自定義異常 函式: 名稱與docstrings 引數與引數的拆分 存取全域性範圍變數
兩週學會Python 第01天(上午)
目標: 熟悉Python程式碼,入門簡單的演算法題 學習知識點: 資料型別: – integral: – int – bool – 浮點 – 字串 組合型別: – 序列型別 – 集合
兩週學會Python 第02天(下午)
生命不息,刷題不止,我們爭取7天之內把所有pat的乙級題刷完,平均每天10道題吧!能夠多做,儘量多做點. 後面7天,我們以做專案為主. 1007. 素數對猜想 (20) """ 1.求出質數表 所有的非質數(>2的正整數),都可以化作
python第四天
flag utf-8 循環 tin 輸出 並不是 電腦 isp 要求 今天是一個坎,在做三級菜單時卡住了,因為想要簡潔的代碼,就要用到遞歸函數,卡的不要不要的!不過最後在同學老師的提點幫助下,還是解決了! 作業要求: 三級菜單:1. 運行程序輸出第一級菜單2. 選擇一級菜單
python第七天-作業[購物車]
技術分享 輸出 什麽 一次 啟動 流程 作業 -1 ima 作業要示: 購物車程序:啟動程序後,輸入用戶名密碼後,如果是第一次登錄,讓用戶輸入工資,然後打印商品列表允許用戶根據商品編號購買商品用戶選擇商品後,檢測余額是否夠,夠就直接扣款,不夠就提醒 可隨時退出,退出時,打印
python 第五天
協程函數、模塊、包第一:1、協程函數:yield 是把函數的結果作為一個生成器。一個對象如果有iter和next方法,說明這個對象是一個叠代器、叠代器也是生成器。如果一個對象只有iter方法,那麽這個對象是一個可叠代的對象。yield就是把函數的執行結果封裝好iter和next方法、即可得到一個叠代器。他的功
python第三天
use inpu sublime bre light pre 第三天 放棄 log 其實都是很多天了,很抱歉對不起自己,不過都是在學習,順便把自己寫的代碼附上去吧,下面寫的是一個登陸界面的輸入過程,很簡陋,也當做是個作業吧,順便也是放棄了sublime,選擇了pycha
python 第2天
pythonimport easygui,randomsecret = random.randint(1,99)easygui.msgbox("""I have a secret ,It is a number from 1-99 ,you have 6 tries.OK let‘do it.""")trie
Python第四天(未完)
刪除 back del -c remove strong 數據類型 切片 ron 一、拾遺 1、在Python中數據又稱為對象,每創建一個對象都會創建三個屬性: (1)身份:id is 用來比較id,id一樣,type和value肯定一樣 (2)類型:type
python第四天練習題
error else ont sts lin org 時間格式 修飾 exists # 一:編寫函數,(函數執行的時間是隨機的)# import time# import random# def fun1():# time.sleep(random.randrang
python 第三天
.py 添加 exe print pack 3.0 目錄 ack 安裝步驟 python 2.7 name = “李四” for i in name: print i 2.7版無法輸出,3.5版可以正常輸出 最近仔細的又看一遍selenium(希望這也是最認真
學習Python第五天
第五天 地址 bsp 調用 對象 大寫 ace 重復 sta 基本的數據類型 int n1=123 #根據int類,創建了一個對象 n2=int(123) #根據int類,創建了一個對象,相當於去int類裏調用_init_方法 n3=s
學習Python第八天
取余 nco utf-8 調整 路徑 temp 讀取內容 [] 存在 #!/usr/bin/env python# -*- coding:utf-8 -*-# def f1(x):# return x>22# # ret = filter(f1,[11,22,
python第三天學習復習,集合set,文件操作,函數(普通函數,遞歸,高階函數),字符編碼和解碼
下層 utf-8 只讀 sub pytho bsp for sca move 三元運算 age = 23 #就是if else的簡單寫法 a = age if age < 20 else 25 集合 set #集合是無序切不重復的, #當對列表去重復的時候,
python第三天 文件的操作習題
redirect out direct encoding -- web appbase memory can 文件內容如下:以tomcat的server.xml文件為例 1.查找 Server下有多少個<Listener>節點,並打印出來 2.在文件我末尾增加一
python第七天
set per 模塊 清空 隨機 pen remove 使用 第七天 一、集合 集合是無序的,不可重復的數據集合。集合裏面的元素是不可哈希的(不可變類型)(元素、字符串、數字),但是集合本身不可哈希(所以集合做不了字典的鍵)。 主要功能: 1.去
python第十天(函數二)
解釋 一個 clas 三元運算 gpo 內置 col 三元 陷阱 一、默認參數的陷阱 如果在行參中設置一個默認參數為一個空列表那麽多次執行函數往裏傳值,下面的函數會共用這個列表。 def func(k,l = {}): l[k] = ‘v‘ pri