本文目錄一覽:
- 1、Python該怎麼入門?
- 2、python 獲得一個月有多少天
- 3、如何從零開始學python
- 4、python的時間如何轉字元串
- 5、python datetime處理時間
- 6、python怎麼獲得每個月的第一天和最後一天
Python該怎麼入門?
作為初學者,第一個月的月目標應該是這樣的:
熟悉基本概念(變數,條件,列表,循環,函數)
練習超過 30 個編程問題
利用這些概念完成兩個項目
熟悉至少 2 個框架
開始使用集成開發環境(IDE),Github,hosting,services 等
整體計劃
現在,我們先將月計劃細化成周計劃。
第一周:熟悉 Python
要積極探索 Python 的使用方法,儘可能多的完成下面這些任務:
第一天:基本概念(4 小時):print,變數,輸入,條件語句
第二天:基本概念(5 小時):列表,for 循環,while 循環,函數,導入模塊
第三天:簡單編程問題(5 小時):交換兩個變數值,將攝氏度轉換為華氏溫度,求數字中各位數之和,判斷某數是否為素數,生成隨機數,刪除列表中的重複項等等
第四天:中級編程問題(6 小時):反轉一個字元串(迴文檢測),計算最大公約數,合併兩個有序數組,猜數字遊戲,計算年齡等等
第五天:數據結構(6 小時):棧,隊列,字典,元組,樹,鏈表。
第六天:面向對象編程(OOP)(6 小時):對象,類,方法和構造函數,面向對象編程之繼承
第七天:演算法(6 小時):搜索(線性和二分查找)、排序(冒泡排序、選擇排序)、遞歸函數(階乘、斐波那契數列)、時間複雜度(線性、二次和常量)
通過第一周時間,python大致能熟悉了,自學能力稍微弱一點找人帶下你,節約自己的時間。
注意:別急著安裝 Python 環境!
這看起來很矛盾,但是你一定要相信我。我有幾個朋友,他們因為語言工具包和 IDE 安裝的失敗而逐漸失去了學習下去的慾望。因此,我的建議是先使用一些安卓 app 來探索這門語言,如果你是個技術小白,安裝 Python 環境可不是你的首要任務。
第二周:開始軟體開發(構建項目)
接下來,讓我們朝著軟體開發任務進軍吧!不妨嘗試綜合你學到的知識完成一個實際的項目:
第一天:熟悉一種 IDE(5 小時): IDE 是你在編寫大型項目時的操作環境,所以你需要精通一個 IDE。在軟體開發的初期,我建議你在 VS code 中安裝 Python 擴展或使用 Jupyter notebook。
第二天:Github(6 小時):探索 Github,並創建一個代碼倉庫。嘗試提交(Commit)、查看變更(Diff)和上推(Push)你的代碼。另外,還要學習如何利用分支工作,如何合併(merge)不同分支以及如何在一個項目中創建拉取請求(pull request)。
第三天:第一個項目——簡單計算器(4 小時):熟悉 Tkinter,創建一個簡單的計算器
第四、五、六天:個人項目(每天 5 小時):選定一個項目並完成它。如果你不知道你該做什麼,可以查看下面的清單( pythonprojects -for-an- middle – programmer/answer/jhankar – mahbub2)
第七天:託管項目(5 小時):學習使用伺服器和 hosting 服務來託管你的項目。創建一個 Heroku 設置並部署你構建的應用程序。
為什麼要寫項目?
如果僅僅按部就班地學習課堂上或視頻中的內容,你無法擁有獨立思考能力。所以,你必須把你的知識應用到一個項目中。當你努力尋找答案時,你也在慢慢地學會這些知識。
第三周:讓自己成為一名程序員
第 3 周的目標是熟悉軟體開發的整體過程。你不需要掌握所有的知識,但是你應該知道一些常識,因為它們會影響你的日常工作。
第一天:資料庫基礎(6 小時):基本 SQL 查詢(創建表、選擇、Where 查詢、更新)、SQL 函數(Avg、Max、Count)、關係資料庫(規範化)、內連接、外連接等
第二天:使用 Python 資料庫(5 小時):利用一種資料庫框架(SQLite 或 panda),連接到一個資料庫,在多個表中創建並插入數據,再從表中讀取數據。
第三天:API(5 小時):如何調用 API。學習 JSON、微服務(micro-service)以及表現層應用程序轉換應用程序介面(Rest API)。
第四天:Numpy(4 小時):熟悉 Numpy(- Numpy -for- datascies-beginners-b8088722309f)並練習前 30 個 Numpy 習題(- 100/blob/master/100_numpy_excercises.md)
第五、六天:作品集網站(一天 5 小時):學習 Django,使用 Django 構建一個作品集網站(- start-with-django -1/),也要了解一下 Flask 框架。
第七天:單元測試、日誌、調試(5 小時):學習單元測試(PyTest),如何設置和查看日誌,以及使用斷點調試。
真心話時間(絕密)
如果你非常「瘋狂」,並且非常專註,你可以在一個月內完成這些任務。你必須做到:
把學習 Python 作為你的全職活動。你需要從早上 8 點開始學習,一直到下午 5 點。在此期間,你可以有一個午休時間和茶歇時間(共 1 小時)。
8 點列出你今天要學的東西,然後花一個小時複習和練習你昨天學過的東西。
從 9 點到 12 點:開始學習,並進行少量練習。在午飯後,你需要加大練習量,如果你卡在某個問題上,可以在網上搜索解決方案。
嚴格保持每天 4-5 小時的學習時間和 2-3 小時的練習時間(每周最多可以休息一天)。
你的朋友可能會認為你瘋了。走自己的路,讓別人去說吧!
如果你有一份全職工作,或者你是一名學生,完成這些流程可能需要更長的時間。作為一名全日制學生,我花了 8 個月的時間來完成這份清單。現在我是一名高級開發人員。所以,不管花多長時間,一定要完成它們。要想成功完成一個目標,必須付出百分之百的努力。
第四周:認真考慮工作(實習)問題
第 4 周的目標是認真思考如何才能被錄用。即使你現在不想找工作,你也可以在探索這條道路的過程中學到很多東西。
第一天:準備簡歷(5 小時):製作一份一頁的簡歷。把你的技能總結放在最上面,必須在寫項目的同時附上 Github 鏈接。
第二天:作品集網站(6 小時):寫幾個博客,將它們添加到你之前開發的作品集網站中。
第三天:LinkedIn 簡介(4 小時):創建一個 LinkedIn 個人簡介,把簡歷上的所有內容都放到 LinkedIn 上。
第四天:面試準備(7 小時):準備一些谷歌常見的面試問題,練習白皮書中的 10 個面試編程問題。在 Glassdoor、Careercup 等網站中查看前人遇到的面試問題。
第五天:社交(~小時):走出房門,開始參加聚會、招聘會,與其他開發人員和招聘人員見面。
第六天:工作申請(~小時):搜索「Python Job」,查看 LinkedIn Job 和本地求職網站。選擇 3 個工作崗位並發送工作申請。為每個工作定製你的簡歷。在每個工作要求中找出 2 到 3 件你不知道的事情,並在接下來的 3-4 天里學會它們。
第七天:在拒絕中學習(~小時):每次你被拒絕的時候,找出兩件為了獲得這份工作你應該知道的事情,然後花 4-5 天 的時間來掌握它們。這樣,每次拒絕都會讓你成為更好的開發人員。
python 獲得一個月有多少天
在python的datetime模塊中沒有一個月有多少天的方法,但是可以使用calendar模塊獲得。
如下代碼:
import calendar
monthRange = calendar.monthrange(2013,6)
print monthRange
輸出:
(5, 30)
輸出的是一個元組,第一個元素是上一個月的最後一天為星期幾(0-6),星期天為0;第二個元素是這個月的天數。
如何從零開始學python
新手學Python可以按照以下步驟進行:
1. 按部就班敲代碼
在Python的學習教程中,在講到相應的語法規則的時候,必定有相應的案例,Python新手應按部就班的敲一遍代碼,切記不可直接抄寫,而是默寫,然後進行對比,及時發現錯誤,並訂正。
2. 階段案例實操
對於正規的Python學習教程中,會安排階段性的作業考核,也稱為案例,一個階段的案例就比較具有綜合性,可以客觀的考察Python學員能否真正的對Python知識點消化吸收,並融會貫通,通過該案例的實操,可以進行知識點的查漏補缺!
3. 大型項目模仿
在Python學習中,少不了大型項目實操,如果參加培訓學習,這個就比較簡單了,往往課程教學中會包含這一項,Python學員可以先自己寫一遍,然後再聽老師的講解,通過對比,找到疑惑點和不足之處,然後進行思路和項目的優化;對於未參加Python培訓的學員,可以在網上找一些大型項目進行練習,多看多練多總結,就能熟練掌握Python,形成更優化的Python思路。
對於Python等編程語言的學習,首先是要掌握齊全科學的Python學習教程,其次,要有恆心和細心,多看、勤思考、多練習是一定能夠將Python學好的!
python的時間如何轉字元串
將時間轉換為字元串可以使用strftime方法
from datetime import datetime
d = datetime(year=2015, month=6, day=18) #初始化datetime類的時間
d.strftime(‘%Y-%m-%d’) #轉換成字元串
strftime方法接收一個格式字元串,輸出日期時間的字元串表示。
常用的格式字元有:
%H: 小時(24小時制,[0, 23])
%m: 月份([01,12])
%M: 分鐘([00,59])
%S: 秒(範圍為[00,61],為什麼不是[00, 59],參考python手冊~_~)
%W: 周在當年的周數(是當年的第幾周),星期一作為周的第一天
%Y: 4個數字表示的年份
%d: 日在這個月中的天數(是這個月的第幾天)
python datetime處理時間
python時間處理方法datetime(),下面就舉幾個代碼案例進行說明,代碼如下:
# -*- coding: utf-8 -*-
# 運行環境:Python3.4
#datetime類
#datetime是date與time的結合體,包括date與time的所有信息。
#它的構造函數如下:
#datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
#各參數的含義與date、time的構造函數中的一樣,要注意參數值的範圍。
# 1. datetime類定義的類屬性與方法:
#datetime.min、datetime.max:datetime所能表示的最小值與最大值;
#print: datetime.max: 9999-12-31 23:59:59.999999
#print: datetime.min: 0001-01-01 00:00:00
from datetime import *
import time
print (‘datetime.max:’ +str(datetime.max ))
print (‘datetime.min:’ +str(datetime.min))
#datetime.resolution:datetime最小單位;
#print: datetime.resolution: 0:00:00.000001
print (‘datetime.resolution:’ + str(datetime.resolution ))
#datetime.today():返回一個表示當前本地時間的datetime對象;
#print: today(): 2012-09-12 19:37:50.721000
print (‘today():’ +str(datetime.today() ))
#datetime.now([tz]):返回一個表示當前本地時間的datetime對象,如果提供了參數tz,則獲取tz參數所指時區的本地時間;
#print: now(): 2012-09-12 19:37:50.738000
print (‘now():’+str( datetime.now() ))
#datetime.utcnow():返回一個當前utc時間的datetime對象;
#print: 2012-09-12 11:37:50.739000
print (‘utcnow():’ +str(datetime.utcnow() ))
#datetime.fromtimestamp(timestamp[, tz]):根據時間戮創建一個datetime對象,參數tz指定時區信息;
#print: fromtimestamp(tmstmp): 2012-09-12 19:37:50.741000
print (‘fromtimestamp(tmstmp):’ +str(datetime.fromtimestamp(time.time()) ))
#datetime.utcfromtimestamp(timestamp):根據時間戮創建一個datetime對象;
#print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50.742000
print (‘utcfromtimestamp(tmstmp):’ +str(datetime.utcfromtimestamp(time.time())) )
#datetime.combine(date, time):根據date和time,創建一個datetime對象;
#print: datetime.combine(date,time): 2012-09-12 19:46:05
d = date(2012,9,12)
from datetime import *
t = time(19,46,5)
print (‘datetime.combine(date,time): ‘+str(datetime.combine(d,t)))
#datetime.strptime(date_string, format):將格式字元串轉換為datetime對象;
#print: 2007-03-04 21:08:12
print (datetime.strptime(“2007-03-04 21:08:12”, “%Y-%m-%d %H:%M:%S”))
#2. datetime類提供的實例方法與屬性
dt = datetime.strptime(“2012-09-12 21:08:12”, “%Y-%m-%d %H:%M:%S”)
#print: 2012 9 12 21 8 12 0 None
print (dt.year)
print(dt.month)
print(dt.day)
print(dt.hour)
print(dt.minute)
print(dt.second)
print(dt.microsecond)
print(dt.tzinfo)
print (dt.date())
print (dt.time())
print (dt.replace(year = 2013))
print (dt.timetuple())
print (dt.utctimetuple())
print (dt.toordinal())
print (dt.weekday())
print (dt.isocalendar())
#print dt.isoformat([sep])
#datetime. ctime ():返回一個日期時間的C格式字元串,等效於time.ctime(time.mktime(dt.timetuple()));
#3. 格式字元串
# datetime. strftime (format)
# %a 星期的簡寫。如 星期三為Web
# %A 星期的全寫。如 星期三為Wednesday
# %b 月份的簡寫。如4月份為Apr
# %B月份的全寫。如4月份為April
# %c: 日期時間的字元串表示。(如: 04/07/10 10:43:39)
# %d: 日在這個月中的天數(是這個月的第幾天)
# %f: 微秒(範圍[0,999999])
# %H: 小時(24小時制,[0, 23])
# %I: 小時(12小時制,[0, 11])
# %j: 日在年中的天數 [001,366](是當年的第幾天)
# %m: 月份([01,12])
# %M: 分鐘([00,59])
# %p: AM或者PM
# %S: 秒(範圍為[00,61],為什麼不是[00, 59],參考python手冊~_~)
# %U: 周在當年的周數當年的第幾周),星期天作為周的第一天
# %w: 今天在這周的天數,範圍為[0, 6],6表示星期天
# %W: 周在當年的周數(是當年的第幾周),星期一作為周的第一天
# %x: 日期字元串(如:04/07/10)
# %X: 時間字元串(如:10:43:39)
# %y: 2個數字表示的年份
# %Y: 4個數字表示的年份
# %z: 與utc時間的間隔 (如果是本地時間,返回空字元串)
# %Z: 時區名稱(如果是本地時間,返回空字元串)
# %%: %% = %
dt = datetime.now()
#print: (%Y-%m-%d %H:%M:%S %f): 2012-09-12 23:04:27 145000
print (‘(%Y-%m-%d %H:%M:%S %f): ‘+ str(dt.strftime(‘%Y-%m-%d %H:%M:%S %f’)))
#print: (%Y-%m-%d %H:%M:%S %p): 12-09-12 11:04:27 PM
print (‘(%Y-%m-%d %H:%M:%S %p): ‘+str(dt.strftime(‘%y-%m-%d %I:%M:%S %p’)))
#print: %a: Wed
print (‘%%a: %s ‘ % dt.strftime(‘%a’))
#print: %A: Wednesday
print (‘%%A: %s ‘ % dt.strftime(‘%A’))
#print: %b: Sep
print (‘%%b: %s ‘ % dt.strftime(‘%b’))
#print: %B: September
print (‘%%B: %s ‘ % dt.strftime(‘%B’))
#print: 日期時間%c: 09/12/12 23:04:27
print (‘日期時間%%c: %s ‘ % dt.strftime(‘%c’))
#print: 日期%x:09/12/12
print (‘日期%%x:%s ‘ % dt.strftime(‘%x’))
#print: 時間%X:23:04:27
print (‘時間%%X:%s ‘ % dt.strftime(‘%X’))
#print: 今天是這周的第3天
print (‘今天是這周的第%s天 ‘ % dt.strftime(‘%w’))
#print: 今天是今年的第256天
print (‘今天是今年的第%s天 ‘ % dt.strftime(‘%j’))
#print: 今周是今年的第37周
print (‘今周是今年的第%s周 ‘ % dt.strftime(‘%U’))
上面代碼案例運行結果如下:
atetime.max:9999-12-31 23:59:59.999999
datetime.min:0001-01-01 00:00:00
datetime.resolution:0:00:00.000001
today():2014-05-04 15:58:18.141186
now():2014-05-04 15:58:18.193146
utcnow():2014-05-04 07:58:18.243958
fromtimestamp(tmstmp):2014-05-04 15:58:18.291558
utcfromtimestamp(tmstmp):2014-05-04 07:58:18.342550
datetime.combine(date,time): 2012-09-12 19:46:05
2007-03-04 21:08:12
2012
9
12
21
8
12
None
2012-09-12
21:08:12
2013-09-12 21:08:12
time.struct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=-1)
time.struct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=0)
734758
2
(2012, 37, 3)
(%Y-%m-%d %H:%M:%S %f): 2014-05-04 15:58:19 326295
(%Y-%m-%d %H:%M:%S %p): 14-05-04 03:58:19 PM
%a: Sun
%A: Sunday
%b: May
%B: May
日期時間%c: Sun May 4 15:58:19 2014
日期%x:05/04/14
時間%X:15:58:19
今天是這周的第0天
今天是今年的第124天
今周是今年的第18周
python怎麼獲得每個月的第一天和最後一天
第一天不用獲取吧,都是1呀,最後一天的話可以使用標準模塊的calendar模塊的monthrange(year,month)方法
該方法返回指定年月的最後一天星期和日期,類型為tuple,如
import calendar
print calendar.monthrange(2015, 2)
結果為(6, 28),6為最後一天星期幾,28為2月的最後一天日期
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/271975.html