怎么自学python,大概要多久?

共 4734字,需浏览 10分钟

 ·

2022-02-09 09:04

学编程语言有个小秘诀,直接上项目就是干,做完后你就是pythoner了。

不要怕没有基础,边做边查边学,进步很快的。

因人而异,一周或者一个月就能搞定。当然需要足够的投入。

以前我也觉得收集资料、啃语法、敲代码是学python的套路,但这样学效率太低。

你要知道python是一门脚本语言,不需要传统的编写-编译-链接-运行过程,语法简答、执行方便。

也就是说python像是个瑞士军刀,可以写出很多有用的小工具,随写随用。

我在python专栏里写了很多python应用案例,其实大多是对新手友好的。

如果想少走弯路,不妨看看一些视频课程。自制力比较差的小伙伴,跟着老师把python基础走一遍,效率非常高。

现在市面上好多新出现的python课程,甚至原来做英语的也开始出python产品了,比如百词斩的夜曲编程。我觉得这其实是件好事,说明学Python的人越来越多,大家的选择更多元了。

看了夜曲里面的课程设置,基本是以实操训练为主,有基础语法、数据分析、爬虫、自动办公等等,还比较符合实用的需求。这有点类似国外的datacamp,实践性很强。

夜曲会给零基础提供免费课程,20天的语法课+18道练习题;如果你想进阶学习,他们也有付费课程,更多的习题和实战案例

现在都流行非IDE编程,夜曲的网站和app内嵌了代码编辑器,可以直接在网页或手机上敲代码并运行,当然我还是建议大家有能力自己装IDE写代码。

大家可以去试试看,对照的语法书来学,应该很快可以入门。

关注后回复【夜曲入门111】即可获得Python入门完整免费教程,学习编程更轻松!

下面介绍适合新手的python小项目:

贪吃蛇小游戏

用100行python代码写个贪吃蛇小游戏,也不复杂但涵盖了大部分python语法。

项目地址:gitee.com/codetimer/Sna

可以尝试着先复制代码运行一遍,然后自己写。

人脸识别

调用开源项目,只需要简单的几十行python代码,就可以实现人脸识别。

从图片里找到人脸:

配合其它的Python库(比如opencv)实现实时人脸检测:

项目地址:github.com/ageitgey/fac

PS:对于小白来说自学也不是件容易的事,需要花相当的时间去适应python的语法逻辑,而且要坚持亲手敲代码,不断练习。

如果对自己没有自信,也可以考虑看编程课程,跟着老师的节奏去学习,能比较快地掌握python语法体系,也能得到充分的案例练习。

网上的文章或帖子,可以作为参考,但其实不太适合充当我们系统性的学习一门知识的教材,因为它是非常碎片化的知识,东一榔头西一棒子,不成体系。

我最近看了一些学python的app,感觉都挺有创意,比如夜曲编程,原来百词斩旗下的产品,他们把python学习变成了百题斩,通过一道道实战题来巩固语法知识。

关注后回复【夜曲入门111】即可获得Python入门完整免费教程!

中文分词&情感分析

这个也比较有意思,可以爬取电商评论数据,然后分词处理,并做情感分析,判断好评、差评。

jieba可以用来做分词处理

github.com/fxsjy/jieba

snownlp可以用来做情感分析。

import snownlp
sentense = '''亲,第一天秒杀买,比第二天的正常价还高,
说保价7天申请售后说退差价也比不退,你们还有信誉吗
            '''
result = snownlp.SnowNLP(sentense)
a = result.words  # list
b = result.sentiments  # float
print("%.2f" % b)

github.com/isnowfy/snow

车型识别

这里使用python调用百度的车型识别模型,只要导入车辆图片可以自动识别车型。

import requests
import base64
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# 输入你的api_key和secret_key,获取地址https://console.bce.baidu.com/ai
api_key = ''
secret_key = ''
url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + str(api_key) + '&client_secret=' + str(secret_key)
res = requests.get(url).text
a = eval(res)
access_token = a['access_token']
animal = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/car?access_token=' + str(access_token)
header = {
    'Content-Type':'application/x-www-form-urlencoded'
}
data = {}
with open('timg.jpg', 'rb') as f:
    image = base64.b64encode(f.read())
    data["image"] = str(image, 'utf-8')
    res2 = requests.post(url=animal,data=data, headers=header).text
    print('颜色:',eval(res2)['color_result'])
    print('车型预测')
    for each in eval(res2)['result']:
        print(each['name'], '\t相似度:', each['score'])
    plt.imshow(mpimg.imread(f))
plt.show()

用Python实现所有常见算法

这个项目包含了上千个算法的Python代码实现,几乎囊括了大部分常见算法。

包括回溯、布尔代数、元胞自动机、线性回归、图算法、网络流等等

以排序为例,该项目提供了近50种算法,比如下面的树形选择排序:

"""
Tree_sort algorithm.
Build a BST and in order traverse.
"""


class node:
    # BST data structure
    def __init__(self, val):
        self.val = val
        self.left = None
        self.right = None

    def insert(self, val):
        if self.val:
            if val < self.val:
                if self.left is None:
                    self.left = node(val)
                else:
                    self.left.insert(val)
            elif val > self.val:
                if self.right is None:
                    self.right = node(val)
                else:
                    self.right.insert(val)
        else:
            self.val = val


def inorder(root, res):
    # Recursive traversal
    if root:
        inorder(root.left, res)
        res.append(root.val)
        inorder(root.right, res)


def tree_sort(arr):
    # Build BST
    if len(arr) == 0:
        return arr
    root = node(arr[0])
    for i in range(1, len(arr)):
        root.insert(arr[i])
    # Traverse BST in order.
    res = []
    inorder(root, res)
    return res


if __name__ == "__main__":
    print(tree_sort([10, 1, 3, 2, 9, 14, 13]))
© 2021 GitHub, Inc.

其他排序:

项目地址:TheAlgorithms/Python


其他还有很多可以实操的小例子

干货 | 解放双手,用Python实现自动发送邮件教你使用Python制作酷炫二维码如何使用python连接数据库?教你使用Python下载b站等各大主流网站音视频

如果想看书学习,之前我也写过一些推荐

入门python有什么好的书籍推荐?



基础语法看教程确实够了,但有的人会觉得枯燥,学东西还得有趣不是。

那就推荐去B站找找视频,搜python,排名靠前的教程都还不错。

有人在问买什么书看,我一向都是看网上教程的,新手非要看书的话,是有那么两三本。

零基础可以看python编程从入门到实践,书后面有不错的案例。

还有一本是注重实践、解决问题的书,叫作python让繁琐工作自动化,适合有点基础的选手。该书是从爬虫、自动化表格、邮件收发、桌面控制等角度来写的,比较贴合日常工作场景。

还有一本比较好的是python cookbook,是本工具书,而非语法书。

工具书当然是为了解决问题,所以cookbook的风格就是对症下药,先提问题再讲方法。

这本书不太适合小白看,因为里面概念比较多。

如果你英文好的话,当然首选看英文版,表达更精确。

ipython-books.github.io

也有中文版,看起来不费劲。

python3-cookbook.readthedocs.io

纸质也出版了。

好了,说的有点多。

看到这里,大家不要忘了关注朱卫军哦,还写了好多好多好多~

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报