社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

太精辟了!Linux运维转向Python开发知道这6点就对了

马哥Linux运维 • 7 年前 • 944 次点击  

本文由马哥教育Python自动化实战班3期学员推荐,转载自互联网,作者为运维小哥,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。

从不会写代码,到自己独立能写代码解决问题 。这个问题很重要!盲目学习所谓的项目,最后还是不会自己写代码解决问题。

首先解决了独立能写代码解决问题,再通过项目来加强训练。

运维必须懂开发,特别是python开发,已经形成大家的共识,不懂开发的运维,路会越走越窄。

部分运维遇到的困难是:有的连书都不懂;有的书是可以看懂,别人写的简单代码也可以看懂,但自己不会写代码解决问题。

马哥教育的Python3期学员认为学习编程不止是学习语法,需要学习算法(计算思维、解决问题的方法、编程思路)。

何为计算思维:计算思维(Computational Thinking)概念的提出是计算机学科发展的自然产物。第一次明确使用这一概念的是美国卡内基·梅隆大学周以真(Jeannette M. Wing)教授。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为;

计算思维最根本的内容,即其本质是抽象和自动化。

编程思路,其实就是计算思维的具体体现,用语法来表达解决问题的方法、算法。

下面说说如何学习python



1、买一本好书,推荐看《python核心编程第2版》,书有一本足以。

2、边看书,需要边敲代码,书上每一个代码都需要敲一遍,敲的过程中,才能碰到问题。碰到问题,想办法解决,才能提高。

3、还需要做适当的习题来加强学习。

4、python有多种编程范式,面向过程,面向对象,函数式编程等。建议从面向过程学起。

有的朋友好高骛远,连基本的逻辑表达式都没有搞清楚,循环和判断都没有搞清楚,就想学django。


问题一:

输出下面的样式 1,2,3,4,5,6,7,8,9,10

很多初学者,会写出下面这样的代码,

for i in range(1, 11):

print str(i) + ",",

输出结果为1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

就百思不解的是怎么才能不输出最后一个逗号。黄哥告诉你,看书的时候知道if判断语句,但实际应用用不好。

分析这个样式1,2,3,4,5,6,7,8,9,10 最后一个没有逗号,前面有逗号,这个明显是一个判断啊。

所以代码这样写:

n = 10

for i in range(1, n+1):

if i < n:

print str(i) + ",",

else:

print str(i)


问题二:

记数循环,相信大部分都书上的玩具代码都可以看懂。

那下面这个问题,初学者不一定想到用记数循环解决这个问题。

代码一:

一个几M的文本文件,需要每隔100行写到新的文件中。

不要小看了计数循环,用计数循环和判断语句就可以解决这个问题。

# coding:utf-8

with open('dist_1.txt','r') as f1 ,open('dist_new.txt','w') as f2:

i = 0

for line in f1:

i += 1

if i % 100 == 0:

f2.write(line)

代码二:

请问一个日志文本文件有2000行,我要提取其中的100行到200行,怎么做?

你可以试试下面的方法。

别小看while计数循环,其实它可以用来干很多事。

#coding:utf-8

i = 0

file1 = open("test.txt","r")

file2 = open("out.txt","w")

while True:

line = file1.readline()

i += 1

if 100<=i and i<=200:

file2.write(line)

if i >200 :

break

if not line:

break

file1.close()

file2.close()

5、函数抽象、需要掌握大的问题化解为小的问题,每一个小的问题用函数来解决,集成起来大的问题就解决了。

6、面向对象的类抽象,类就是由属性加方法构成的对象的蓝图。会用面向对象的思想建模。

总结:

有不有编程思路,是自己能不能动手写代码的关键。掌握一些常用简单算法:穷举法,二分法,递推算法,递归算法,回溯算法等等;

最重要的是解决问题的训练,有思路,能独立解决问题,才能在职场上战无不胜!



————开班喜讯————


温馨提醒:马哥教育Python自动化开发班将于8月28日在北京海淀上地开班,小班制魔鬼式授课,钜惠限时抢位中。

马哥教育2017年Python自动化运维开发实战班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才


Python学习免费交流QQ群:542679406(千人群)




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/LmBGH4rTUz
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/2665
 
944 次点击