欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

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

发布时间:2025/3/21 python 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 学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,当然了,你也可以从事人工智能相关的行业

那就需要你多专研算法了

我这里有很多学习过程中积累的干货资料

有需要的参考下图找我来拿

""" 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有什么好的视频教程?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。