日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

学python什么视频教程_学习python有什么好的视频教程?

發(fā)布時間:2025/3/21 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学python什么视频教程_学习python有什么好的视频教程? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我把Python學習分成了三個階段

第一個階段:Python的基礎知識

初學者需要對Python的基礎知識做一個全方位的了解,要清楚什么是條件選擇,循環(huán)的作用,List集合和Dict字典集合;什么是函數,如何進行異常處理,什么是文件和目錄,文件的讀取和寫入;如何寫Python模塊,如何在另外一個程序里面去引入模塊;熟悉常見的標準庫,比如:時間日期,隨機數,正則表達式等;要學會使用面向對象的思維來進行編程;總而言之,階段一主要是打基礎,需要掌握一些基本的Python語句,但是正在的開發(fā)核心是Web端的開發(fā),所以就有了后面的階段二和階段三。

第二個階段:MVC的Web框架

Web框架很多,這里建議大家學習Django框架,因為Django是一個企業(yè)級的框架,目前企業(yè)應用的最多;階段二除了涉及到Django框架之外,還涉及到很多前端的知識,包括HTML、CSS、JavaScript、jQuery等等;

在階段二除了前后端,還包含數據庫,所有的開發(fā)如果沒有后端的數據是沒有意義的,所以需要數據庫來存儲數據。

如果想真正理解MVC這種設計模型(在Django里面叫MVT)真正運行的過程是什么,當對Mysql數據庫的增刪改查熟悉之后,就可以使用Pymysql這個模塊來操作后臺的mysql數據庫了。在和數據庫交互的時候有兩個模式,模式一:原生的SQL,模式二:ORM;原生的SQL語句簡單了解即可,后面寫程序主要是通過ORM,所以ORM也是必須要掌握的內容。

當階段二完成后,一些常見的或者不是特別復雜的Web應用程序就可以獨立完成了,但是寫出來的程序是前后端沒有分離的,如果你想對開發(fā)的認知提高一個層次,第三個階段就顯得尤為重要,Web應用程序的前后端的框架是一定要分離開的。

第三個階段:前后端分離的Web框架

最后一個階段除了涉及到后端的Django框架之外,還必須要掌握前端的框架,比如:VUE 或者React等等;要知道json這樣的文本格式是怎么回事;Ajax的異步請求應該如何寫,前后端分離后,前端就是通過Ajax和后端交互;

后端部分在之前的階段二對Django做了基本的了解,在階段三就需要知道FBV和CBV,在階段二寫的所有的VUE都是基于函數的,在階段三寫的VUE一定要基于類。在后端一個非常重要的設計模型REST Framework,一定要學會使用REST Framework這種設計模型為前端提供API;在階段三建議還要學習一個數據庫mongoDB,來更好的完成數據庫調用。

三個階段都掌握后,從事開發(fā)相關的工作,月薪不會低于10k,當然了,你也可以從事人工智能相關的行業(yè)

那就需要你多專研算法了

我這里有很多學習過程中積累的干貨資料

有需要的參考下圖找我來拿

""" Implementing logistic regression for classification problem

import numpy as np

import matplotlib.pyplot as plt

# get_ipython().run_line_magic('matplotlib', 'inline')

from sklearn import datasets

# In[67]:

# sigmoid function or logistic function is used as a hypothesis function in classification problems

def sigmoid_function(z):

return 1 / (1 + np.exp(-z))

def cost_function(h, y):

return (-y * np.log(h) - (1 - y) * np.log(1 - h)).mean()

def log_likelihood(X, Y, weights):

scores = np.dot(X, weights)

return np.sum(Y * scores - np.log(1 + np.exp(scores)))

# here alpha is the learning rate, X is the feature matrix,y is the target matrix

def logistic_reg(alpha, X, y, max_iterations=70000):

theta = np.zeros(X.shape[1])

for iterations in range(max_iterations):

z = np.dot(X, theta)

h = sigmoid_function(z)

gradient = np.dot(X.T, h - y) / y.size

theta = theta - alpha * gradient # updating the weights

z = np.dot(X, theta)

h = sigmoid_function(z)

J = cost_function(h, y)

if iterations % 100 == 0:

print(f"loss: {J} \t") # printing the loss after every 100 iterations

return theta

# In[68]:

if __name__ == "__main__":

iris = datasets.load_iris()

X = iris.data[:, :2]

y = (iris.target != 0) * 1

alpha = 0.1

theta = logistic_reg(alpha, X, y, max_iterations=70000)

print("theta: ", theta) # printing the theta i.e our weights vector

def predict_prob(X):

return sigmoid_function(

np.dot(X, theta)

) # predicting the value of probability from the logistic regression algorithm

plt.figure(figsize=(10, 6))

plt.scatter(X[y == 0][:, 0], X[y == 0][:, 1], color="b", label="0")

plt.scatter(X[y == 1][:, 0], X[y == 1][:, 1], color="r", label="1")

(x1_min, x1_max) = (X[:, 0].min(), X[:, 0].max())

(x2_min, x2_max) = (X[:, 1].min(), X[:, 1].max())

(xx1, xx2) = np.meshgrid(np.linspace(x1_min, x1_max), np.linspace(x2_min, x2_max))

grid = np.c_[xx1.ravel(), xx2.ravel()]

probs = predict_prob(grid).reshape(xx1.shape)

plt.contour(xx1, xx2, probs, [0.5], linewidths=1, colors="black")

plt.legend()

plt.show()

總結

以上是生活随笔為你收集整理的学python什么视频教程_学习python有什么好的视频教程?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。