徐亮伟,江湖人称标杆徐,曾负责大规模集群架构自动化运维工作。擅长自动化运维,并且在分布式、Python自动化、云计算虚拟化等领域有较深入研究。个人博客:徐亮伟架构师之路
笔者Q:552408925、572891887
架构师群:471443208**
1.任何语言都有使用场景,只有合适和不合适,没有好坏。
2.语言是工具,用来描述让计算机如何工作,想法(思路&算法)是基础,也是重点。
1.如何学习python基础
学习Python需要掌握如下基础知识以及相关技能。
1.Python基础知识(变量、语句、数据类型、数值类型、字符串、布尔类型、列表、字典、元组、条件语句、循环语句、函数、装饰器、面向对象、网络socket、爬虫)
2.Python基础库(模块、包、系统模块、三方模块)
3.python文件处理(读、写、执行、)
4.python字符统计
5.python数据排序
1.1初学者的困境
只记Python基础语法,却没什么鸟用。就像幼儿园,老师在黑板上写的‘肉’字,记住这个字咋写,一笔一划的记住,只需要半天,但是把这个词和你平时吃的东西绑定,以至于后面你想到这个字,就流口水,需要日常的重复训练。
同理:无方向的看书,看视频也没什么用,其实可以通过直接实战来上手,比如:
文件操作
字符排序
网络编程
错误的学习方法:
很多人在学习Python的时候常常会犯下面一种情况:
买一本厚厚的编程指南,逼自己看完,记住每个语法,闭门看书三个月,吃透一本书,最后一行代码也写不出来。
正确的学习方法:
编程就像骑自行车,买一本<<骑自行车大全>>是没有什么用的。
正确姿势:掌握最基础的姿势,就可以骑上车出发了,实际联系几天,摔几跤,基本就学会了。
1.2自我进行测评
很多朋友反馈:Python基础语法都学会了,但不知如何写项目进阶?
1.List,Dict特性倒背如流,就是无法写出实际的项目。
2.各种书籍也看,写不出东西。
3.各种视频也看,写不出东西。
4.各种大会也去,名词高大上,但是没学到具体的技能。
对自我进行检测:
1.给你一个字符串“come baby,python rocks!” 如何统计里面字母o出现的次数!
思路:遍历字符串,定义一个变量,每次o出现,都+1
2.给你一个字符串“come baby,python rocks!” 如何统计这里面所有字母出现的次数!(普通变量肯定无法完成。)
思路:需要使用字典这类复杂的数据结构处理,字母当key,出现的次数当value,每个key出现,对应的value+1
3.给你一个字符串“come baby,python rocks!” 如何统计这里面字母出现次数的前三名!
思路:排序,取出前三
后续扩展练习:
1.给你一个字符串“come baby,python rocks!” 怎么统计出现次数前三的字母。
2.一个nginx日志文件,怎么统计IP出现次数前三的url。
3.一个nginx日志文件,统计IP出现前三后,如何存入MySQL数据库。
4.存入MySQL中的日志文件,如何输出给浏览器端显示。
5.如何美化前端表格等等。
2.如何学习python库
模块
将多个代码块(按功能)定义到同一个文件中。别的文件中使用时则先导入模块,在调用模块内变量或函数。
模块命名要符合python变量的命名规范
1.建议全小写英文字母和数字
2.避免与常用模块或第三方模块名称冲突
控制模块内代码在使用python mod.py时执行,在导入时不执行
1.通过Global内变量__name__进行判断
2.当以python mod.py运行脚本时__name__变量为__main__字符串
3.当以模块导入时__name__为模块名称字符串
包
将不同模块文件放在不同文件夹内,包文件夹下面需要有__init__.py文件用以声明该文件为Python包。
使用时需要从包内导入模块后调用模块中变量和函数。
常用系统模块:
os,sys,time,datetime,urllib,xml,json,email,csv,collections,math,zipfile,trafile,hashlib
常用三方模块:
requests,pyquery,django,flask,mysqlclient,paramiko,redis,lxml,dateutils,ipaddr,netaddr
模块学习方法:
1.先知道有没有
2.用的时候在查
内置工具:dir、help
搜索引擎:google、百度
3.推荐Python值得实践项目
https://www.shiyanlou.com/courses/31
https://www.shiyanlou.com/courses/487
https://www.shiyanlou.com/courses/552
4.正确的编程思路以及学习方法
计算机是人发明的,目的就是完成人的手动工作,跳不出人的思维。
1.弄清楚想要解决的问题。
2.思考自己如何去解决问题
3.画流程图(伪代码编写)
4.翻译成编程语言
5.运行调试代码
5.Python全栈Web开发学习路线
Python基础入门(入门、数据类型、条件表达、循环语句)
Python基础进阶(文件操作、函数、装饰器、模块、面向对象、网络编程)
Python前端知识(Html、Css、Js、Jquery、Bootstrap、)
Python高级用法(Django、Flask、数据库操作、MVC、ORM、Admin、template)
Python项目实战(电商项目、爬虫项目、常用组件、运维项目、代码调优)
Python高级进阶(数据算法、代码规范、面试技巧)
重要:多抄、多写、多想、多问、多看、多听、多说
1.学习编程就是为了解决实际的问题,把自己在工作或学习中的重复工作程序化
2.谷歌和度娘
3.加入开源社区(多看、多分享、多交流)
4.参加培训辅导(仔细听课、跟上课堂学习,有问题做记录,课后查阅资料或请求他人)
5.善于记录笔记,不断总结,查漏补缺。
如果想学习Python全栈Web开发的朋友,可以加QQ:572891887咨询报名。
这样精彩的博客越来越少咯!