我的python学习之路
誓风 誓风 前天
阅读本文大概需要 7分钟。我知道公众号的读者大部分是知乎过来的,大家可能也知道,我在知乎资料栏介绍了,我现在是中科院某所在读研究生一个,研究什么方向呢?深度学习目标检测,就是现在比较火的人工智能下面的分支属于计算机视觉,能研究这个方向也是误打误撞,扯远了。
我刚开始写这个号的初衷是分享一些Python学习的知识和学习心得,但是不仅限于技术,平时也讲一讲生活。因为我当时学python的时候也得到了网上一些人的指导和资料分享,就想着帮助一些想学的人,顺便写一写我的感想。
这篇文章是介绍我的python学习路线,记住python只是一个高级语言,就像C语言一样,你学会它是拿来用的,随便一个应用方向学好,都足够你找一个好工作了,比如Web开发,爬虫,机器学习,数据分析和数据可视化等,这也是这两年python成为最火的语言的原因。
1.如何学习python基础
学习Python需要掌握如下基础知识以及相关技能。
1.Python基础知识(变量、语句、数据类型、数值类型、字符串、布尔类型、列表、字典、元组、条件语句、循环语句、函数、装饰器、面向对象、网络socket、爬虫)
2.Python基础库(模块、包、系统模块、三方模块)
3.python文件处理(读、写、执行、)
4.python字符统计
5.python数据排序
1.1初学者的困境
只记Python基础语法,却没什么鸟用。就像幼儿园,老师在黑板上写的‘肉’字,记住这个字咋写,一笔一划的记住,只需要半天,但是把这个词和你平时吃的东西绑定,以至于后面你想到这个字,就流口水,需要日常的重复训练。
同理:无方向的看书,看视频也没什么用,其实可以通过直接实战来上手,比如:
文件操作
字符排序
网络编程
错误的学习方法:
很多人在学习Python的时候常常会犯下面一种情况:
买一本厚厚的编程指南,逼自己看完,记住每个语法,闭门看书三个月,吃透一本书,最后一行代码也写不出来。
正确的学习方法:
编程就像骑自行车&#xff0c;买一本<<骑自行车大全>>是没有什么用的。
正确姿势&#xff1a;掌握最基础的姿势&#xff0c;就可以骑上车出发了&#xff0c;实际联系几天&#xff0c;摔几跤&#xff0c;基本就学会了。
1.2自我进行测评
很多朋友反馈&#xff1a;Python基础语法都学会了&#xff0c;但不知如何写项目进阶&#xff1f;
1.List&#xff0c;Dict特性倒背如流&#xff0c;就是无法写出实际的项目。
2.各种书籍也看&#xff0c;写不出东西。
3.各种视频也看&#xff0c;写不出东西。
4.各种大会也去&#xff0c;名词高大上&#xff0c;但是没学到具体的技能。
对自我进行检测&#xff1a;
1.给你一个字符串“come baby,python rocks!” 如何统计里面字母o出现的次数&#xff01;
思路&#xff1a;遍历字符串&#xff0c;定义一个变量&#xff0c;每次o出现&#xff0c;都&#43;1
2.给你一个字符串“come baby,python rocks!” 如何统计这里面所有字母出现的次数&#xff01;&#xff08;普通变量肯定无法完成。&#xff09;
思路&#xff1a;需要使用字典这类复杂的数据结构处理&#xff0c;字母当key&#xff0c;出现的次数当value&#xff0c;每个key出现&#xff0c;对应的value&#43;1
3.给你一个字符串“come baby,python rocks!” 如何统计这里面字母出现次数的前三名&#xff01;
思路&#xff1a;排序&#xff0c;取出前三
后续扩展练习&#xff1a;给你一个字符串“come baby,python rocks!” 怎么统计出现次数前三的字母。
2.一个nginx日志文件&#xff0c;怎么统计IP出现次数前三的url。
3.一个nginx日志文件&#xff0c;统计IP出现前三后&#xff0c;如何存入MySQL数据库。
4.存入MySQL中的日志文件&#xff0c;如何输出给浏览器端显示。
5.如何美化前端表格等等。
2.如何学习python库
模块
将多个代码块&#xff08;按功能&#xff09;定义到同一个文件中。别的文件中使用时则先导入模块&#xff0c;在调用模块内变量或函数。
模块命名要符合python变量的命名规范
1.建议全小写英文字母和数字
2.避免与常用模块或第三方模块名称冲突
控制模块内代码在使用python mod.py时执行&#xff0c;在导入时不执行
1.通过Global内变量__name__进行判断
2.当以python mod.py运行脚本时__name__变量为__main__字符串
3.当以模块导入时__name__为模块名称字符串
包
将不同模块文件放在不同文件夹内&#xff0c;包文件夹下面需要有__init__.py文件用以声明该文件为Python包。
使用时需要从包内导入模块后调用模块中变量和函数。
常用系统模块&#xff1a;
os,sys,time,datetime,urllib,xml,json,email,csv,collections,math,zipfile,trafile,hashlib
常用三方模块&#xff1a;
requests,pyquery,django,flask,mysqlclient,paramiko,redis,lxml,dateutils,ipaddr,netaddr
模块学习方法&#xff1a;
1.先知道有没有
2.用的时候在查
内置工具&#xff1a;dir、help
搜索引擎&#xff1a;google、百度
3.推荐Python值得实践项目
4.正确的编程思路以及学习方法
计算机是人发明的&#xff0c;目的就是完成人的手动工作&#xff0c;跳不出人的思维。
1.弄清楚想要解决的问题。
2.思考自己如何去解决问题
3.画流程图&#xff08;伪代码编写&#xff09;
4.翻译成编程语言
5.运行调试代码
5.Python全栈Web开发学习路线
Python基础入门&#xff08;入门、数据类型、条件表达、循环语句&#xff09;
Python基础进阶&#xff08;文件操作、函数、装饰器、模块、面向对象、网络编程&#xff09;
Python前端知识&#xff08;Html、Css、Js、Jquery、Bootstrap、&#xff09;
Python高级用法&#xff08;Django、Flask、数据库操作、MVC、ORM、Admin、template&#xff09;
Python项目实战&#xff08;电商项目、爬虫项目、常用组件、运维项目、代码调优&#xff09;
Python高级进阶&#xff08;数据算法、代码规范、面试技巧&#xff09;
重要&#xff1a;多抄、多写、多想、多问、多看、多听、多说
1.学习编程就是为了解决实际的问题&#xff0c;把自己在工作或学习中的重复工作程序化
2.谷歌和度娘
3.加入开源社区&#xff08;多看、多分享、多交流&#xff09;
4.参加培训辅导&#xff08;仔细听课、跟上课堂学习&#xff0c;有问题做记录&#xff0c;课后查阅资料或请求他人&#xff09;
5.善于记录笔记&#xff0c;不断总结&#xff0c;查漏补缺。