新手程序员学习python编程需要了解哪些技巧?

新手程序员学习python编程需要了解哪些技巧?,第1张

python编程开发技术是目前比较热门的编程语言之一了,而对于大多数新接触python编程的程序员来说,如果能够掌握一定的编程技巧的话会大大降低我们掌握python编程的难度,下面IT培训就一起来了解一下具体内容吧。

建议1:理解Pythonic概念

建议2:编写Pythonic代码

建议3:理解Python与C语言的不同之处

建议4:在代码中适当添加注释

建议5:通过适当添加空行使代码布局更为优雅、合理

建议6:编写函数的4个原则

建议7:将常量集做银橡中到一个文件

建议8:利用assert语句来发现问题

建议9:数据交换值的时候不推荐使用中间变量

建议10:充分利用Lazyevaluation的特性

建议11:理解枚举替代实现的缺陷

建议12:不推荐使用type来进行类型检查

建议13:尽量转换为浮点类型后再做除法

建议14:警惕eval()的安全漏洞

建议15:使用enumerate()获取序列迭代的索引和值

建议16:分清=与is的适用场景

建议17:考虑兼容性,尽可能使用Unicode

建议18:构建合理的包层次来管理module

建议19:有节制地使用fromimport语句

建议20:优先使用absoluteimport来导入模块

建议21:i+=1不等于++i

建议22:使用with自动关闭资源

建议23:使用else子句简化循环(异常处理)

建议24:遵循异常处理的几点基本原则

建议25:避免finally中可能发生的陷阱

建议26:深人理解None,正确判断对象是否为空

建议27:连接字符串应优先使用join而不是+

建议28:格式化字符串时尽搏拿量使用.format方式而不是%

建议29:区别对待可变对象和不可变对象

建议30:[]、()和{}:一致的容器初始化形纯旁式

建议31:记住函数传参既不是传值也不是传引用

建议32:警惕默认参数潜在的问题

建议33:慎用变长参数

建议34:深入理解str()和repr()的区别

显著的优点

Python 语言拥有诸多的优点,这其中,以下几个优点特别显著:

简单易学:Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为Python语言简单易学,所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如,在浙江省 2017年高中信息技术改革中,《算法与程序设计》课程将使用 Python语言替换原有的VB 语言。

语法优美:Python语言力求代码简洁、优美。在Python语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。

丰富强大的库:Python语言号称自带电池(Battery Included),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有升纳相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。

开发效率高:Python的各个优点是相辅相成的。例如,Python语言因为有了丰富强大的类吵凯没库,所以,Python的开发效率能够显著提高。相对于 C、C++ 和 Java等编译语言,Python开发者的效率提高了数倍。实现相同的功能,Python代码的文件往往只有 C、C++和Java代码的1/5~1/3。虽然Python语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用Python语言,很大程度上是因为Python语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python语言在互联网公司使用非常广泛。

应用领域广泛:Python语言的另一大优点就是应用领域广泛,工程师可以使用Python 做很多的事情。例如,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。Python语言介于脚本语言和系统语言之间,我们根据需要,既可以将它当做一孙毁门脚本语言来编写脚本,也可以将它当做一个系统语言来编写服务。

不可忽视的缺点

毫无疑问,Python确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python并不是没有缺点的,最主要的缺点有以下几个:

Python的执行速度不够快。当然,这也不是一个很严重的问题,一般情况下,我们不会拿Python语言与C/C++这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python 特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。

Python的GIL锁限制并发:Python的另一个大问题是,对多处理器支持不好。如果读者接触Python时间比较长,那么,一定听说过GIL这个词。GIL是指Python全局解释器锁(Global Interpreter Lock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。

Python 2与Python 3不兼容: 如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。在Python中,一个槽点是Python 2与Python 3不兼容。因为Python没有向后兼容,给所有的Python工程师带来了无数的烦恼。

上述就是总结的Python语言的优缺点。总体来说,Python目前的发展还是非常不错的。借着人工智能时代的东风,Python开发人员的未来一定会很光明。

1、 学习一门脚本语言

可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:

处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)

遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果

跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量

学会用各种print之类简单粗暴的方式进行调试

学会用Google (phrase, domain, use reader to follow tech blogs)

为什么要学脚本语言,因为他早返们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。

2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具

Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。

Source Insight (或 ctag)

使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。

3、 熟悉Unix/Linux Shell和常见的命令行

如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧

一定要少用少用图形界面。

学会使用man来查看帮助

文件系统结构和基本 *** 作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …

学会使用一些文本 *** 作命令 sed/awk/grep/tail/less/more …

学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd…<</p>

了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息

了解正则表达式,使用正则表达式来查找文件。

对于程序员来说Unix/Linux比Windows简单多了液罩,学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了陆埋饥,相当地相当地降低工作效率。

4、 学习Web基础(HTML/CSS/JS) + 服务器端技术 (LAMP)

未来必然是Web的世界,学习WEB基础的最佳网站是W3School。

学习HTML基本语法

学习CSS如何选中HTML元素并应用一些基本样式(关键词:box model)

学会用 Firefox + Firebug 或 chrome 查看你觉得很炫的网页结构,并动态修改。

学习使用Javascript *** 纵HTML元件。理解DOM和动态网页,网上有免费的章节,足够用了。或参看 DOM 。

学会用 Firefox + Firebug 或 chrome 调试<</p>

在一台机器上配置Apache 或 Nginx

学习PHP,让后台PHP和前台HTML进行数据交互,对服务器相应浏览器请求形成初步认识。实现一个表单提交和反显的功能。

把PHP连接本地或者远程数据库 MySQL(MySQL 和 SQL现学现用够了)

跟完一个名校的网络编程课程,不要觉得需要多于一学期时间,大学生是全职一学期选3-5门课,你业余时间一定可以跟上

学习一个+ Ajax (异步读入一个服务器端图片或者数据库内容)+JSON数据格式。

HTTP: The Definitive Guide 读完前4章你就明白你每天上网用浏览器的时候发生的事情了(proxy, gateway, browsers)

做个小网站(例如:一个小的留言板,支持用户登录,Cookie/Session,增、删、改、查,上传图片附件,分页显示)

买个域名,租个空间,做个自己的网站。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8237442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存