火爆的python到底有啥不一样

简介: 下面主要介绍本文的主角Python

1 计算机与程序员

1.1吃瓜群主眼中的程序员

一提到计算机程序员,大部分人的印象可能是修电脑的

或者敲代码的

或者会盗号的黑客

总之,要么是什么电脑都会修的电脑维修店师傅,要么就是能盗号,会破解程序的大神黑客,其实这都是对我们程序员的一种误解

1.2实际上的计算机专业

百度百科的解释:程序员(英文Programmer)是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。

首先关于修电脑这个问题,作为计算机专业的程序员,在专业知识中除了学习软件,硬件开发外,当然也要了解一些计算机构造的基本知识,当然程序员可以会修电脑,但不是必须要求。修电脑和编程没有直接关系。
当然程序员也不一定要敲代码
举个例子:你会开车不代表不会修车或者造车,你会写文章不代表你会造字。


计算机专业是个很宽泛的专业,可以具体细分到很多类别。
计算机主要可以分为==软件方向==(软件工程)和==硬件方向==(计算机科学与技术),软件工程和计算机科学与技术又可以接着细分。现在的人工智能也比较火。

1.3不同"品种"的程序员

在1.2中我们已经介绍了程序员有很多不同的分类,计算机编程语言也有很多种,我们主要根据使用的编程语言对程序员进行分类。

现在主流的高级编程语言主要有下面几种

0、Python
Python被称为胶水语言,哪里都可以用。
有句话说:人生苦短,我用Python。

有程序员网友调侃,python最适合女生学……因为包多!
python有很多方便的库,丢弃c语言复杂的指针,简化语法,它的存在就是解决问题,而不是让你理解语言本身。

1、C

C语言是通用的基础编程语言,编程开发人员加班加点必备武器。
它的特点在于偏向计算机底层操作,多用于性能要求严格的领域。
C语言相对来说会难点,光一个指针就足以把你搞晕。入门一般都是啃着谭浩强的C程序设计。
在硬件、虚拟现实VR/AR,C语言和C++占据主导地位。
2、C++

C++以C发展而来,它比C语言多增加了类、继承、重载、类模板、C++标准库、模板库等。
一句话,C面向过程,C++面向对象。
3、Java

Java可能是目前运用最广的项目语言。
它的特点是,概念简单,无数的库,轻松入门so easy!
可应用于服务端编程、高性能网络程序、分布式计算、安卓移动终端应用开发等。
4、PHP

PHP被程序员网友称为是世界上最好的语言,但是可能也是被黑的最惨的一门语言。
PHP语法和C类似,有很多的模板和框架,简单易懂,也许你可以在短短几天做出web app。
它主要用于web端,快速建站网络开发必备。
5、Javascript

JavaScript是JavaScript 是目前所有主流浏览器上唯一支持的脚本语言,仅用10天的时间设计出来。
在前端开发中,占有不可替代的地位。

当然这些语言不是说只能做某些东西,只是说他们各有所长
下面主要介绍本文的主角Python

2 Python程序员

2.1 Python的前生今世

python发展历程

  • 1991年,第一个正式版解释器诞生(c语言实现)
  • 2000年,Python2。
  • 2008年,Python3。
  • 2021年,Python3.9.x

截止到2022年5月4日,根据python官方网站(https://www.python.org/)消息,Python3.10已经发布。
在这里插入图片描述
Python是目前非常流行的一种编程语言,但它并不是一种新语言,三十年前就已经开发出来(1991年)。
可以看到python进行了两个重大的更新,也就是Python2到Python3的更新,如果按照大家的正常思维来想,应该python2到python3是向下兼容的,在python2开发的软件在python3版本也可以运行。实际上python2和python3
是两个完全不相同的版本,并不互相兼容,所以在进行python开发时,一定要注意版本选择。
大部分情况下我们使用的都是Python3.X版本,但Python的版本并不是越高越好,不建议使用最新发布的版本,可能会存在一下BUG和漏洞,目前比较稳定的版本为Python3.7

2.2 Python声名鹊起

Python在发布之初还只是一个小众语言,当时(指上个世纪九十年代)的流行语言主要还是C语言。但是在2021年5月发布的最新==编程语言排名表==可以发现Python的热度已经到达第2名,仅次于编程语言鼻祖C语言,而且还在处于上升趋势。

上图编程语言排名图来自网页 https://tiobe.com/tiobe-index/

上图编程语言排名图来自网页 https://tiobe.com/tiobe-index/

上图为2001年1月-2021年5月主流编程语言排名占比可以看出在2018年后,python语言的上升趋势很明显主要原因有:

  1. 部分国内外中小学已经把python列为学习科目
  2. 少儿编程培训机构对python的宣传
  3. 人工智能的发展火热

不难看出,既然可以在中小学生中推广,必然说明Python相对其他编程语言来说十分简单,也很有潜力

上图编程语言排名图来自网页 https://tiobe.com/tiobe-index/
上图为近十年每年评选出的明星语言,可以看到在2018和2020年python均为明星语言,表现已经和C语言不分伯仲

2.3 Python:我长这样谁用啊?

目前使用python语言的主要知名公司有

  • Google:==python==,java和c是其主要三大开发语言
  • NASA:使用python进行数据分析运算
  • 豆瓣,知乎
  • Dropbox:使用python处理十亿级别数据
  • YouTube:用python构建网站

2.4 Python为何受人追捧

  • 动态,解释性语言

在python使用数据时,无需提前定义,可提前执行脚本

  • 开源,跨平台

python支持linux,mac,window等多种平台运行

  • 学习成本低

语法简单,上手性墙

  • 开发效率高,工具多多

python开发效率非常高,内置多种第三方工具库

  • 扩展性强

被称为"胶水语言",可以使用python去实现其他语言的功能,连接在一起

2.5 Python并不是十全十美

正如世界上没有完美的人一样,python作为一种高级编程语言,也并不是没有缺点

  • 动态,解释性语言

动态性对于后期维护不方便

  • 运行效率

python的运行效率相对其他c,java,go语言来说很低

  • 代码维护

代码维护效率低

  • 多线程

python的多线程存在问题

  • 语法古怪

python的语法相对于其他语言来说过于固定格式。

2.6 Python与其他语言对比分析

在这里插入图片描述
上述表格中,灰色为缺点,蓝色为优点
相对于C和shell,python的第三方工具库十分丰富,且可以自动管理内存,无需人工操作

3 Python广泛的应用领域

在讲如何成为python程序员之前,我们先说一下python程序员能干啥

3.1 Python与人工智能

当下,在人工智能方面,python可以说是如日中天,人工智能学习所需要的工具python基本都有。
人工智能以计算机技术为基础,所以也要以编程语言为依托,python恰好是适合这样应用场景的语言==之一==。某种程度上来说也是最适合的。
在这里插入图片描述
Python为人工智能领域提供了一大批工具:

  • Tensorflow,pytorch,MXNet
  • Scikie-learn,numpy,dcikit-image,NLTK ...

借助python,可以在人工智能领域开发过程中减少大量代码的编写

3.2 Python与大数据

Python在处理大数据方面优势十分明显。
Python由于能够很好的支持协程(Coroutine)操作,基于此发展起来很多并发库,在大数据处理和数据可视化方面潜力巨大。
在这里插入图片描述

3.3 Python与爬虫

爬虫是python的特点之一,利用python的爬虫库,可以轻易的快速爬取个人所需要的数据。
python常用的爬虫库有:

  • urllib
  • Requests
  • Scrapy
  • Pyspuder
  • Scrapy-redis

在这里插入图片描述
关于爬虫这里多说一句,为了防止"面向监狱"编程,一定要学习计算机信息安全法

3.4 Python与网站开发

Python对网站开发提供了多种框架,例如:

  • Diango
  • Flask
  • web.py
  • tornado
  • 数据库,前端

在这里插入图片描述

3.5 Python与数据分析

python在数据分析方面有明显优势
在这里插入图片描述
常用的数据分析库有:

  • pandas
  • Numpy,scipy
  • matplotlib,seaborn,pyecharts
  • Scikit-learn(机器学习)

4 如何成长为Python程序员

4.1 从Python语言学起

在基础阶段,要先掌握Python的基础语法,数据类型,函数和面向对象,这基本在所有语言都是通用的
在进阶阶段,要掌握Python的I/O,异常,进程/协程,语言特性等相关思想
同时,我们也要对Python的工具有所了解

4.2 掌握数据结构

数据结构在计算机算法领域十分重要,也是程序员在面试过程中常考的内容,可以提现一个程序员的语言功底

在这里插入图片描述

4.3 涉猎C/C++/java

python由于封装性过高,我们无法通过python去了解代码的底层逻辑,并且在实际工作中不可能只是用Python一种语言,所以对于其他高级语言也要有所了解。

4.4 选择Python应用方向

Python的应用方向主要由三个

4.4.1 web方向

web方向主要所学有数据库原理,web基础知识,web框架,组件,消息队列,前端等等

4.4.2 web方向

Python在爬虫领域应用广泛,主要所学内容有网络基础,抓包共苦,爬虫框架,反爬等,同时也要注意遵守法律规定。切勿违法乱纪。

4.4.3 AI方向

AI方向除了对Python有所掌握外,也要对数学知识精通,了解AI主要算法和常用AI框架

4.4 Python编码

在Python进行代码编写时,一定要注意Python编码规范,我们在实际工作中,大概率是团队协作开发,所以,有一个良好的编码风格十分重要。帮助后续开发节约大量时间

5 Python专家答疑解惑

5.1 问题1 学习python有哪些学习课程?

问:学习python有哪些学习课程?
答:目前python的学习课程有很多,学习那些,怎样学主要取决于大家学习Python的目的。首先要找到自己的定位,然后去学习相关基础知识,可以看一下图灵系列的python图书或者Python的官方文档。

5.2 问题2 如果不是专业的程序员,可以在哪里找到Python的学习资源

问:如果不是专业的程序员,可以在哪里找到Python的学习资源

答:github网站()提供了很多国内外程序员的开源项目,大家可以下载下来学习

5.3 问题3 学习完Python后,并没有感觉收获很多?

问:学习完Python后,并没有感觉收获很多?

答:学习Python不能从众,人云亦云,一定要有自己的兴趣爱好。同样也可以去github下载优秀开源代码进行学习分析。

5.4 问题4 Python近期的就业情况和发展前景?

问:Python近期的就业情况和发展前景?

答:从上面Python的使用情况排名来看,Python还是十分火热的,就业机会和岗位也很多。

5.5 问题5 高级语言都是相似的,Python擅长的领域有哪些?

问:高级语言都是相似的,Python擅长的领域有哪些?

Python擅长与Web开发,且在爬虫方向没有竞争对手 在AI,数据分析,自动化运维方向也具有很多优势。
相关文章
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
1月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
116 80
|
2月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
162 59
|
22天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
40 14
|
1月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
83 2
|
1月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
57 10
|
1月前
|
机器学习/深度学习 人工智能 Java
Python 语言:强大、灵活与高效的编程之选
本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。
|
1月前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
49 12
|
1月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!