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. Hdu oj 1012 u Calculate e

    分析:注意格式. #include<stdio.h> int main() { int i,j,k; double sum=0; printf("n e\n- --------- ...

  2. jQery总结01

    1 jQuery 的基本语法结构是什么? 2 $(document).ready() 与 window.onload 有什么区别? 3 如何实现 DOM 对象和 jQuery对象间的转化?

  3. 自己定义NumberPicker

    1.   项目中要用DatePicker 做时间选择用.但发现有android自带的好搓,就找了下有没有自己定义的时间选择控件. 找来找去发现github上的都时间控件都比較大.比較占手机屏幕的空间, ...

  4. C#可定制的数据库备份和恢复程序 (讲解流程)

    可定制的数据库备份和恢复程序 tashanzhishi [原作] 关键字 数据库 备份 恢复 出处 在我们做数据库系统的程序时,经常需要为客户做一个数据库的备份和恢复程序,特别是对于一些非专业的数据库 ...

  5. HDU 6069 Counting Divisors(2017 Multi-University Training Contest - Team 4 )

    Output For each test case, print a single line containing an integer, denoting the answer.   Sample ...

  6. hdu 1874(最短路 Dilkstra +优先队列优化+spfa)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. Docker 探索安装WordPress+Mysql8.0

    拉取MYSQL,注意默认是8.0版本,连接加密方式有变化 docker pull mysql 运行MYSQL docker run --name wordpress-mysql -p 3306:330 ...

  8. 使用JQuery制作幻灯片(轮播图)

    1.首先看一下目录结构 images文件夹放所需要播放的图片. js文件夹放jquery库和main.js 2.html代码: <!DOCTYPE html> <html lang= ...

  9. 题解报告:hdu 1850 Being a Good Boy in Spring Festival(尼姆博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850 Problem Description 一年在外 父母时刻牵挂春节回家 你能做几天好孩子吗寒假里 ...

  10. Nmap linux端口扫描神器

    #简介 Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以 ...