1. Python语言概述

  Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,语言默认后缀为.py。经过多年发展,已经在系统编程网络爬虫人工智能科学计算系统运维WEB开发等多个领域广泛应用。在网络爬虫方面,Python的常用框架有grabscrapypyspider等多种网络爬虫框架和爬虫系统,在人工智能方面有TensorFlowPyTorch等多种开发框架,在科学计算方面有诸如NumpyMatplotlibpandas等多项典型数据库。在多个应用领域,Python不免与其他语言有所重叠,在整体代码运行效率上,可能不及C/C++Java 等语言,但是在语言入门难度上,Python要比其他语言要友好很多,而且随着现在硬件更新换代,除非对代码运行非常苛刻的领域,在大众应用领域,代码运行效率已相差不大。Python也被成为“胶水语言”(glue language),Python提供了丰富的—API和工具,因此编写程序时可以轻松使用C/C++等语言来编写扩充模块,同时Python编译器本身也可以被集成到其他需要脚本语言的程序内。

​ Python经过发展,现在已经更新到3.7.1版本,需要注意的是,在Python2.x和Python3.x语言已经存在很大差别,而且Python2.7将于2020年1月1日终止支持。

2. Python使用注意事项

  Python是解释类语言,而诸如C/C++ 等为编译类语言,这也是Python代码运行效率低的本质原因。基于上述考虑,Python在书写规则上对代码的整洁,特别是缩进规则上要求就较为严格:

if age < 21:
print("这句话在if语句内执行,可看做是if的子语言")
print("这句话与if语句平级")

3. Python学习工具

  语言学习,选择一个好的文本编辑器和IDE对今后学习是比较有帮助的。

  • 文本编辑器

      Windows自带有notepad(记事本),打开速度很快,但是对代码高亮和函数支持很差,因此不建议使用,当下比较实用的有notepad++sublimevscodeatom 等等。

    • notepad++体积小巧,能够支持多种语言,而且打开速度较快,支持中文,不过插件较少。

      Notepad++

    • sublime界面美观,多种语言支持,而且打开速度很快,比notepad++要强大,有2.0和3.0版本,其中2.0免费,3.0付费,但是根据使用体验,3.0其实偶尔提醒你购买,大家可以网上寻找破解,不过还是建议大家支持正版;另外sublime是个人开发,开发速度比较慢,而且对中文支持不是很友好。

      Sublime Text

    • vscode和atom分别是微软和GitHub社区开发,背后都具有庞大的开发群体,因此软件更新速度和插件的丰富度都较前两者要好很多,本人现在正在使用vscode,背靠微软大山,因此文本编辑器具有较浓的微软扁平化的风格,另外vscode可以当做一个小型的IDE,自己假如安装有Python,通过定义Python文件的位置,可以直接在编辑器内进行编译,很方便,不过当插件安装较多时,编辑器打开速度比较慢;atom依据GitHub,个人暂时没有使用过,据网上说,atom比较占内存,因此配置较低不建议使用。

      VScode Atom

  • IDE

      当下较为著名的IDE有Visual StudioPyCharmJuputerSpyder等,Visual Studio毋庸置疑,宇宙第一IDE,微软开发,现在将要发布19版本,功能强大,之前版本不支持Java,据说在新版本中将会支持,当然,安装文件占据内存也是很大的,所以内存有限的同志请止步;PyCharm相对来说比较小巧,和Java开发IDE中的IntelJ 是一家产品,而且PyCharm对Python支持较好,在当下Python的开发者中比较流行,本人现在使用的就是PyCharm。需要注意,两款IDE都是商业版软件,收费,网上也可以找到破解,不过还是鼓励大家支持正版;Jupyter是当下比较流行的网页开发环境,网上也有相关的插件安装教程,很多程序命令也是基于ipynb格式(jupyter)默认格式,个人使用感觉,还是偏向于前两者,因为Jupyter会是不是出现卡顿等情况,即出现int[*]的情况;Spyder和前面的Jupyter都可以通过安装Anaconda获得,据说比较擅长科学计算,具体功能特点暂时没尝试过,所以在此不进行赘述,个人有兴趣可以自行查找。

  • 个人学习路线

      个人喜好不同,可能会选择不同的学习方法,此处介绍下我的学习路程,本人学习同时依靠书籍和视频,书籍比较慢,但是比较系统,而且练习题较多,视频速度快(此处指的是培训视频),但是知识点较碎,不利于知识系统的整体性把握,因此我是先大致过一遍书籍,然后在进一步观看视频,书籍内容基础系统,因此理解难度不大,视频内容难度系数较高,可以在对整体知识有个大致把握之后在进行拔高。无论是书籍还是视频,内容相差不大,因此不必过多取查找。

    我使用的书籍是《Python编程:从入门到实践》,网上就可以找到,个人觉得讲的很基础,而且很系统;培训视频大家网上查找,一般也都能在网上找到。

    总之,无论差异性多大,最终都应回归到学习->练习->总结->学习的循环中。

Python语言认识和实用工具(1)的更多相关文章

  1. Python语言的PyCharm开发工具的简单使用

    1.创建一个新的项目 创建一个目录或者文件夹 设置模板:制作一个常用的,模板 # @Author:lnx# @version V1.0# -*- coding:UTF-8 -*- 搜索/替换快捷键 代 ...

  2. python语言基础语法笔记<note1库安装和工具安装>

    Python是一门入门简单的编程语言,它的安装和搭建也非常简单.在大部分的发行Linux版本上都预装了python2,部分也预装了python3,需要查看Linux上是否安装Python,只需要在 命 ...

  3. 每位iOS开发人员不容错过的10大实用工具

    内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...

  4. 动态语言的灵活性是把双刃剑 -- 以Python语言为例

    本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题.这两个问题,本质都是因为动态语言(动态类型语言)的特 ...

  5. Python语言学习之C++调用python

    C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...

  6. C、C++、C#、Java、php、python语言的内在特性及区别

    C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...

  7. Python中调用自然语言处理工具HanLP手记

    手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...

  8. 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统)

    以前,你可能看过很多的文章,开始搭建一个图像处理的编程环境. 结果,按照教程一步一步做的时候,总是出现各种各样的问题. 就算成功了,后续开发过程中要用到不同版本的opencv,不同版本python,更 ...

  9. [Linux实用工具]munin-node插件配置和插件编写

    前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx)   这次介绍一下mun ...

随机推荐

  1. 9.JAVA编程思想 多形性

    欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040241 "对于面向对象的程序设计语言,多型性是第三种最主要的特 ...

  2. VIM 移动

    基础 字符移动 k 上移 k h 左移 h l l 右移 j j 下移 你也可以使用键盘上的方向键来移动,但这么做h j k l的存在就失去了意义 之所以使用h j k l来控制方向,其主要目的是让你 ...

  3. DirectFB编程【转】

    本文转载自:http://www.cnblogs.com/274914765qq/p/4358088.html DirectFB编程 一.简介 DirectFB是一个轻量级的提供硬件图形加速,输入设备 ...

  4. Python 下的数据结构实现

    既然采用了 Python 编程语言实现数据结构,就要充分发挥 Python 语言的语法特性. 参考<Python 算法教程><数据结构与算法 -- Python 语言描述>: ...

  5. B1208 [HNOI2004]宠物收养所 平衡树||set (滑稽)

    这个题是一道splay裸题,但是我不太会写,所以用set直接水过去!!!哈哈哈哈,美滋滋. set总结: set是一个集合,然后里面没用重复的元素.里面有一些函数: begin()     ,返回se ...

  6. jsp页面动态展示list-使用<select>和<c:forEach>标签

    转自:https://blog.csdn.net/zhugewochuang/article/details/80276466 后台:搜索数据放入list,然后为这个list提供响应的get和set方 ...

  7. 一个豆瓣 API 的反向代理配置,旨在解决豆瓣屏蔽小程序请求问题(豆瓣接口 403 问题)

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  8. Fishnet(几何)

    http://poj.org/problem?id=1408 题意:给出 a1 a2 ... an                b1 b2 ... bn                c1 c2 . ...

  9. unity3D 使用欧拉角控制视野注意点

    变量声明: public PlayerInput p; //表示控制代码用来获得用户是否按下 public float rotateSpeed = 50f; //旋转速度 private GameOb ...

  10. 一个能让cin和scanf 一样快的方法:

    cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱.正因为这个兼容性的 ...