相信有好多朋友们都是第一次了解python吧,可能大家也听过或接触过这个编程语言。那么到底什么是python呢?它在什么机缘巧合下诞生的呢?又为什么在短短十几年时间内就流行开来呢?就请大家带着疑问,让我们来探索python的奥秘吧!

一:python发展史与优缺点

  1.发展史

  python,英文翻译为巨蟒,爬虫。是荷兰计算机学家吉多·范罗苏姆(著名的G叔),在1989年圣诞节期间,为了打发圣诞节的无趣,开发的一个脚本解释程序,结合了Unix shell和C的习惯。。而python这个名字就是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。

  python第一个公开发行版发行于1991年,还不太成熟。在1994 1月,Python 1.0 增加了 lambda, map, filter 和 reduce。在2000年10月,python2.0发布,稳定版本是Python 2.7,加入了内存回收机制,构成了现在Python语言框架的基础。2004年, 目前最流行的python的WEB框架Django 诞生。自从2004年以后,python的使用率呈线性增长。Python 3于2008年12月3日发布,不完全兼容Python 2。好多种语法进行了大规模翻新。现在python已经更新到python3.7版本。

  在众多的编程语言中,为什么python会不断地上升,成为现今世界最流行的语言之一呢。让我们先来看几个图来体会一下python的重要性:

  

  2.优缺点

  哈哈,有没有体会到python的重要性,下面就向大家介绍为什么python这么受人追捧:
  (1)Python语言简洁、易读、可扩展性。

  (2)Python语言开源,每个人都能为python做贡献。

  (3)Python有一些很高级,开源的科学计算软件包,比如Anaconda。

  (4)Python库很多,不仅仅有很简单的库,还有很多高级库,比如著名的计算机视觉库Opencv、三维可视化库VTK、医学图像处理库ITK都与python有关。

  (5)Python是个"胶水语言",可以和其他众多语言相配合使用。

  (6)Python的缩进风格对于一些"代码洁癖"的人来说很友好。

  (7)Python方向众多,而且每一个方向都有与其有关的实用高级库。

  (8)Python可移植性很好,在多个平台,如Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台都能够很好地运行。

  (9)Python一定程度上可以当作伪代码,也是利用过了其简洁的风格。

  (10)在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。就让用户不再需要担心如何编译程序,如何确保连接转载正确的库等等。

  (11)Python的面向对象机制功能强大。

  但是python作为编程语言也是有缺点的,如下:

  (1)运行速度一直是python的诟病,虽然现在有了多进程与多线程技术。

  (2)Python的开源性让Python语言不能加密,这也造成python语言有时候不太安全,使得众多黑客技术人员都在研究python,python也成为一种有关网络信息安全的语言。

  (3)Python的库比较多,这也造成了解决一个问题的可供选择的范围大,不同人可能会利用不同的python技术解决同一个问题。

  

  综上,python是一种优点众多的语言,而python在很多领域都有了很大的突破,在系统编程,图形处理,数学建模计算,文本处理,数据库编程,网络编程,Web编程,多媒体应用,黑客编程,自动化运维,网络爬虫,数据分析,机器学习,人工智能方面应用广泛。

二:python程序员与工程师薪资

  只有不断磨练自己的技术,并融入实践,发现问题,思考问题,突破问题,才能从一个小码农逐渐变为工程师水平。这里主要向大家介绍不同学历毕业后适合的python岗位以及一些比较python岗位的薪资。

  1.毕业大学生毕业适合的python岗位

   web开发、爬虫、数据分析、自动化运维等(主要偏向应用)。

  2.研究生毕业适合的python岗位

   web开发、数据分析、科学运算、机器学习,人工智能初级及中级(偏向数据之类)。

  3.研究上以上适合的python岗位

   web开发,更高级的数据分析,机器学习,人工智能等。

  4.一些python岗位的薪资

   我们先用一小段简单代码抓取一些网上python薪资图片,查看下python的就业岗位薪资:

     代码如下:
   

 import requests
from bs4 import BeautifulSoup def get_message(url):
m = 1
r = requests.get(url)
soup = BeautifulSoup(r.text,'lxml')
for i in soup.select('.image-block span'):
this_img = requests.get(str(i.attrs['dataurl']))
with open('{name}.jpeg'.format(name = m),'wb') as f:
f.write(this_img.content)
m = m + 1 def main():
get_message('https://cloud.tencent.com/developer/news/327697') if __name__ == '__main__':
main()

  一共用了18行不到吧(其实为了美观,有些空白行不占内存)。

  结果如下:

  

  

  额,好像有些模糊,我们再用python处理下图像灰度化:

  

 from PIL import Image
import numpy as np
img = Image.open("E://python学习//1.jpeg")
img_array = np.array(img)
arr1 = img_array[:]
print(arr1.shape)
for x in range(1,arr1.shape[0]):
for y in range(1,arr1.shape[1]):
a = img_array[x,y][1]
b = img_array[x,y][2]
c = img_array[x,y][1]
arr1[x,y] =(a,a,a)
image_arr = Image.fromarray(arr1)
image_arr.show()

  暂时比较清晰了,下面是其他岗位信息:

  

  

Python基础学习笔记(一)python发展史与优缺点,岗位与薪资的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  3. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  4. python 基础学习笔记(6)--函数(2)

                                                                                                        ...

  5. Python基础学习笔记(十三)异常

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...

  6. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  7. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  8. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  9. Python基础学习笔记(九)常用数据类型转换函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ...

随机推荐

  1. ListView 控件总结

     1.ListView类           1.常用的基本属性:         (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有 ...

  2. springBoot综合开发

    作者:纯洁的微笑出处:www.ityouknow.com 版权所有,欢迎保留原文链接进行转载:) 上篇文章介绍了Spring boot初级教程:spring boot(一):入门篇,方便大家快速入门. ...

  3. Deque 和Queue

    概述 接口,一个线性结合,支持在集合首尾add , remove , deque 是double  ended queue 的缩写,意味双端队列,接口提供的方法有两种类型,如果失败,一种抛出异常,一种 ...

  4. jdk1.8HashMap底层数据结构:散列表+链表+红黑树,jdk1.8HashMap数据结构图解+源码说明

    一.前言 本文由jdk1.8源码整理而得,附自制jdk1.8底层数据结构图,并截取部分源码加以说明结构关系. 二.jdk1.8 HashMap底层数据结构图 三.源码 1.散列表(Hash table ...

  5. vue教程二 vue组件(1)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script ...

  6. H3C模拟器单臂路由配置实例

    单臂路由:用802.1Q和子接口实现VLAN间路由 单臂路由利用trunk链路允许多个VLAN的数据帧通过而实现 网络拓扑图: RTA配置: SW1配置: PC1/2配置如图: 但是值得注意的是,在配 ...

  7. java-极光推送教程

    一.准备工作: 1.访问极光推送官网:https://www.jiguang.cn/accounts/login/form 2.注册登陆,拿到appKey和masterSecret 3.创建一个应用, ...

  8. 从boosting谈起

    Boosting 将一些表现效果一般(可能仅仅优于随机猜测)的模型通过特定方法进行组合来获得一个表现效果较好的模型.抽象地说,模型的训练过程是对一任意可导目标函数的优化过程. Adaptive boo ...

  9. ssm执行流程

    SSM运行流程 1:服务器启动,创建springmvc的前端控制器DispatcherServlet,创建Spring容器对象. 加载spring-servlet.xml .applicationCo ...

  10. 实现ssr服务端渲染demo

    最近在研究SSR服务器端渲染,自己写了的小demo. 项目布局 ├── build // 配置文件 │   │── webpack.base // 公共配置 │   │── webpack.clien ...