大学计算机基础python学多久_怎么自学python,大概要多久?
我把Python學習分成了三個階段
第一個階段:Python的基礎知識
初學者需要對Python的基礎知識做一個全方位的了解,要清楚什么是條件選擇,循環的作用,List集合和Dict字典集合;什么是函數,如何進行異常處理,什么是文件和目錄,文件的讀取和寫入;如何寫Python模塊,如何在另外一個程序里面去引入模塊;熟悉常見的標準庫,比如:時間日期,隨機數,正則表達式等;要學會使用面向對象的思維來進行編程;總而言之,階段一主要是打基礎,需要掌握一些基本的Python語句,但是正在的開發核心是Web端的開發,所以就有了后面的階段二和階段三。
第二個階段:MVC的Web框架
Web框架很多,這里建議大家學習Django框架,因為Django是一個企業級的框架,目前企業應用的最多;階段二除了涉及到Django框架之外,還涉及到很多前端的知識,包括HTML、CSS、JavaScript、jQuery等等;
在階段二除了前后端,還包含數據庫,所有的開發如果沒有后端的數據是沒有意義的,所以需要數據庫來存儲數據。
如果想真正理解MVC這種設計模型(在Django里面叫MVT)真正運行的過程是什么,當對Mysql數據庫的增刪改查熟悉之后,就可以使用Pymysql這個模塊來操作后臺的mysql數據庫了。在和數據庫交互的時候有兩個模式,模式一:原生的SQL,模式二:ORM;原生的SQL語句簡單了解即可,后面寫程序主要是通過ORM,所以ORM也是必須要掌握的內容。
當階段二完成后,一些常見的或者不是特別復雜的Web應用程序就可以獨立完成了,但是寫出來的程序是前后端沒有分離的,如果你想對開發的認知提高一個層次,第三個階段就顯得尤為重要,Web應用程序的前后端的框架是一定要分離開的。
第三個階段:前后端分離的Web框架
最后一個階段除了涉及到后端的Django框架之外,還必須要掌握前端的框架,比如:VUE 或者React等等;要知道json這樣的文本格式是怎么回事;Ajax的異步請求應該如何寫,前后端分離后,前端就是通過Ajax和后端交互;
后端部分在之前的階段二對Django做了基本的了解,在階段三就需要知道FBV和CBV,在階段二寫的所有的VUE都是基于函數的,在階段三寫的VUE一定要基于類。在后端一個非常重要的設計模型REST Framework,一定要學會使用REST Framework這種設計模型為前端提供API;在階段三建議還要學習一個數據庫mongoDB,來更好的完成數據庫調用。
三個階段都掌握后,從事開發相關的工作,月薪不會低于10k,當然了,你也可以從事人工智能相關的行業
那就需要你多專研算法了
我這里有很多學習過程中積累的干貨資料
有需要的參考下圖找我來拿
type exec_opts =
{ bound: int
; skip_throw: bool
; function_summaries: bool
; entry_points: string list
; globals: Domain_used_globals.r }
module Make (Dom : Domain_intf.Dom) = struct
module Stack : sig
type t
type as_inlined_location = t [@@deriving compare, sexp_of]
val empty : t
val push_call :
Llair.func Llair.call -> bound:int -> Dom.from_call -> t -> t option
val pop_return : t -> (Dom.from_call * Llair.jump * t) option
val pop_throw :
t
-> init:'a
-> unwind:
( Llair.Reg.t list
-> Llair.Reg.Set.t
-> Dom.from_call
-> 'a
-> 'a)
-> (Dom.from_call * Llair.jump * t * 'a) option
end = struct
type t =
| Return of
{ recursive: bool (** return from a possibly-recursive call *)
; dst: Llair.Jump.t
; formals: Llair.Reg.t list
; locals: Llair.Reg.Set.t
; from_call: Dom.from_call
; stk: t }
| Throw of Llair.Jump.t * t
| Empty
[@@deriving sexp_of]
type as_inlined_location = t [@@deriving sexp_of]
(* Treat a stack as a code location in a hypothetical expansion of the
program where all non-recursive functions have been completely
inlined. In particular, this means to compare stacks as if all Return
frames for recursive calls had been removed. Additionally, the
from_call info in Return frames is ignored. *)
let rec compare_as_inlined_location x y =
if x == y then 0
else
match (x, y) with
| Return {recursive= true; stk= x}, y
|x, Return {recursive= true; stk= y} ->
compare_as_inlined_location x y
| Return {dst= j; stk= x}, Return {dst= k; stk= y} -> (
match Llair.Jump.compare j k with
| 0 -> compare_as_inlined_location x y
| n -> n )
| Return _, _ -> -1
| _, Return _ -> 1
| Throw (j, x), Throw (k, y) -> (
match Llair.Jump.compare j k with
| 0 -> compare_as_inlined_location x y
| n -> n )
| Throw _, _ -> -1
| _, Throw _ -> 1
| Empty, Empty -> 0
總結
以上是生活随笔為你收集整理的大学计算机基础python学多久_怎么自学python,大概要多久?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 组成新数python_大数相加 简单实现
- 下一篇: 陕西中小企业促进局 e-mail_重点注