Python 基础部分--了解Python

关注Hello Code 公众号

一.为什么要学习Python

作为初学者,比起其他编程语言,Python是最容易上手的.Python追求的是找到最好的解决方案,而其他语言追求的是多种解决方案. Python在语言上非常解决自然语言,所以在阅读性是极佳的.不需要了解太多语法,你也看明白代码意思.

同时,Python功能也是非常强大的,使用Python编写代码时,你不需要太多计算机基础功底.不需要去关心程序底层实现细节.因为Python 有非常丰富的库,其中有官方提供的,也有开发者提供的第三方框架.也许你苦思冥想的功能,早有人已经将这个模块替你写好.你只要找到它,并调用它就行.作为一种动态解释性语言,让人们在写代码的时候可以更多的关注业务逻辑细节,而不需要花太多精力去关注数据类型定义、程序运行效率等

Python开发者不需要去造轮子的事情,你只要能将汽车跑起来就行.

二.Python工作分类

非常幸运的时,Python是一门语言,利用这门语言可以做到很多不同的事.相比前些年大火的移动端开发者,就明显多了很多选择.移动端开发者在工作的选择上只要安卓开发者或iOS开发者.今年像极了独木桥上拥挤的移动开发者,有人被挤下去,有人不断学习继续前行.但终归移动开发只能有1个方向而已.竞争压力便是不小的.

  • 网站后端程序员,利用Python开发网站,例如国内用户活跃度不错的网站,豆瓣,知乎,国外的Youtube等.
  • 自动化运维,运维工作开始趋向自动化,批量来处理大量的运维任务.而Python在系统管理上强大的优势,比如强大的开发能力以及完整的工具链.让越来越多运维人员开始学习Python.
  • 数据分析师:Python能快速开发让越来越多数据分析师,选择Python作为开发语言.
  • 游戏开发者:一般作为游戏脚本内嵌在游戏中,这样的利用游戏的高性能引擎,又可以利用脚本化开发的优点,只需要修改脚本即可调整游戏内容,不需要重新编译游戏.非常方便.
  • 自动化测试.
  • 网站开发
  • 爬虫工程师

三.选择IDE工具(编程工具)

环境搭建好,不同计算机不同的环境搭建方式.可以根据自己的设备搭建.推荐使用PyCharm,不管是windows用户还是Mac用户都支持.社区版是免费的,专业版需要付费.我们使用社区版即可.对于开发而言,没有太多区别.

官方下载地址:https://www.jetbrains.com/pycharm/?fromMenu

四.编译器与解释器理解

关于编译器与解释器之间的异同,是Python面试中最为常见的一道面试题.作为Python开发者有必要了解.

不管是编译器还是解释器,它们的目的都是为了将高级语言代码翻译成机器可以识别的二进制机器码.在计算机底层传递的数据,只有0/1.所以需要把你写的代码翻译成不同的0/1.

那编译器与解释器有什么区别了?

  • 举个例子,就像大家去餐馆吃饭,编译器方式,就等所有菜都上齐,你才开吃.而解释器,就是上一个菜吃一个菜.

编译器: 运行速度快,但任何改动都需要整体重新编译.但是可以脱离编译器环境运行.代表语言:C语言

解释器:运行速度相对而言不够快,但是部分改动不需要整体编译.不能脱离解释器环境运行.代表语言:Python语言

五.Python 运行机制

注意: 这个问题在面试中也是常见问题

Python语言作为动态解释型语言,它的运行机制如下图:

都会吐槽解释器型语言慢,但是Python也是此下了功夫来解决问题的.那就是使用pyc文件.

我们在写Python代码时,文件后缀一般以.py为后缀.在执行Programe 时,解释器都是逐行读取你写的源代码,并一行一行开始解释运行.每执行一次,就需要重复这个过程.就是在这样重复的过程中,造成资源浪费.于是为了减少这样重复性的工作,Python就引入了pyc文件.

pyc文件就是,将Python解释py文件的结果保存下来,这样就不用每次都去解释一次,直接使用pyc文件就可以了.这样就可以间接性提高程序运行速度.

小编OS:

想要获取更多技术文章/视频关注公众号! 持续更新关注公众号!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【专业技术】 Linux下如何学习c语言?

引言   尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的开发者,他们为了编写、移植或维护应用程序而必须学习新技能。   本文是为...

4126
来自专栏python学习指南

计算机系统结构——01结论

1.1 计算机系统的层次结构 从使用语言的角度,一台由软、硬件组成的通用计算机系统可以被看成是按功能划分的多层机器级组成的层次结构。具体的计算机系统,其层次数的...

2378
来自专栏包子铺里聊IT

[包子分享] 构架模式: Microservices Architecture

http://baozitraining.org ---- ? 微服务构架是近年来比较流行的服务端应用构架,由其非常好的可伸缩性,稳定性以及灵活的协同开发模...

3066
来自专栏Cloud Native - 产品级敏捷

敏捷开发真正的重点不是 User Story 的拆分, 而是开发人员的能力

谈到敏捷开发, 许多人纠结的第一个问题便是: User Story 如何的划分? 更有不少人, 一遇到在 User Story 上有延迟交付或交付的质量不佳时,...

2727
来自专栏顶级程序员

相较其他语言,Python到底好在哪儿?

就个人发展而言,选择学习的技术与要就读的大学可谓同等重要。如果决定做错了,那往往会收到一堆麻烦,而不是想要的高薪工作。我想,现在你点开这篇文章,就代表你已考虑选...

1183
来自专栏领域驱动设计DDD实战进阶

DDD实战进阶第一波(十五):开发一般业务的大健康行业直销系统(总结篇)

1853
来自专栏我是攻城师

如何学好一门编程语言或技术?

3745
来自专栏大数据挖掘DT机器学习

腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

作者:reetsee.com首席运营官 http://blog.csdn.net/qq_17754181/article/details/45179667 至...

4975
来自专栏全华班

二代蜘蛛侠

爬虫程序, 二代蜘蛛侠,此版本完全重新开发,比上一代更加强大(性能,易用,架构,分布式,简洁,成熟)

1783
来自专栏GA小站

IOS APP跟踪归因的挑战

首先,我们要明确APP用户可以从哪些媒介获取,一个是WAP投放,一个In-app投放,对于国内用户来说,还有一个短信、

1562

扫码关注云+社区

领取腾讯云代金券