Python语言认识和实用工具(1)
1. Python语言概述
Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,语言默认后缀为.py。经过多年发展,已经在系统编程、网络爬虫、人工智能、科学计算、系统运维、WEB开发等多个领域广泛应用。在网络爬虫方面,Python的常用框架有grab、scrapy和pyspider等多种网络爬虫框架和爬虫系统,在人工智能方面有TensorFlow、PyTorch等多种开发框架,在科学计算方面有诸如Numpy、Matplotlib、pandas等多项典型数据库。在多个应用领域,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++、sublime、vscode和atom 等等。
notepad++体积小巧,能够支持多种语言,而且打开速度较快,支持中文,不过插件较少。
sublime界面美观,多种语言支持,而且打开速度很快,比notepad++要强大,有2.0和3.0版本,其中2.0免费,3.0付费,但是根据使用体验,3.0其实偶尔提醒你购买,大家可以网上寻找破解,不过还是建议大家支持正版;另外sublime是个人开发,开发速度比较慢,而且对中文支持不是很友好。
vscode和atom分别是微软和GitHub社区开发,背后都具有庞大的开发群体,因此软件更新速度和插件的丰富度都较前两者要好很多,本人现在正在使用vscode,背靠微软大山,因此文本编辑器具有较浓的微软扁平化的风格,另外vscode可以当做一个小型的IDE,自己假如安装有Python,通过定义Python文件的位置,可以直接在编辑器内进行编译,很方便,不过当插件安装较多时,编辑器打开速度比较慢;atom依据GitHub,个人暂时没有使用过,据网上说,atom比较占内存,因此配置较低不建议使用。
IDE
当下较为著名的IDE有Visual Studio、PyCharm、Juputer、Spyder等,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)的更多相关文章
- Python语言的PyCharm开发工具的简单使用
1.创建一个新的项目 创建一个目录或者文件夹 设置模板:制作一个常用的,模板 # @Author:lnx# @version V1.0# -*- coding:UTF-8 -*- 搜索/替换快捷键 代 ...
- python语言基础语法笔记<note1库安装和工具安装>
Python是一门入门简单的编程语言,它的安装和搭建也非常简单.在大部分的发行Linux版本上都预装了python2,部分也预装了python3,需要查看Linux上是否安装Python,只需要在 命 ...
- 每位iOS开发人员不容错过的10大实用工具
内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...
- 动态语言的灵活性是把双刃剑 -- 以Python语言为例
本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题.这两个问题,本质都是因为动态语言(动态类型语言)的特 ...
- Python语言学习之C++调用python
C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...
- C、C++、C#、Java、php、python语言的内在特性及区别
C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...
- Python中调用自然语言处理工具HanLP手记
手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...
- 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统)
以前,你可能看过很多的文章,开始搭建一个图像处理的编程环境. 结果,按照教程一步一步做的时候,总是出现各种各样的问题. 就算成功了,后续开发过程中要用到不同版本的opencv,不同版本python,更 ...
- [Linux实用工具]munin-node插件配置和插件编写
前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx) 这次介绍一下mun ...
随机推荐
- test框架搭建
http://blog.csdn.net/huilan_same https://github.com/huilansame/Test_framework
- jenkins下载插件失败解决办法
- ListView无障碍识别整个listView,不识别item,设置了setContentDescription也没实用
点击ListView的时候.无障碍识别到的是整个listView,不会读点击的那个item. 解决的方法是在getView里手动设置: <span style="font-size:1 ...
- mount -o remount,rw /
init=/bin/sh mount -o remount,rw /; sed -i 's/指定字符串/&希望插入的字符串/' 文件 在一文件中指定的字符后插入内容 sed -i 's/指定的 ...
- Spring Boot 特性 —— SpringApplication
转自:https://blog.csdn.net/cqdz_dj/article/details/52910317
- mysql如何查询最新插入的数据
在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法.但是在具体生成id的时候,我们的操作顺序一般是:先在 ...
- Spark2.0.2+Zeppelin0.6.2 环境搭建 初探
0.抱怨与其他(此部分与标题没有太多联系): 首先一点想说的是版本问题,为什么标题我会写清楚版本号呢!原因就是版本不对真的很会坑人. 就在写这篇博客的同一天,我还写了另一篇,是 Hadoop2.7.3 ...
- Codeforces 609D 被二分教做人
传送门:http://codeforces.com/problemset/problem/609/D (如需转载,请注明出处,谢谢O(∩_∩)O) 题意: Nura想买k个小玩意,她手上有 s 个bu ...
- ABP的一些特性 (Attribute)
大家应该很熟悉Attribute这个东西吧,ABP里面扩展了一些特性,做过滤权限,返回内容等进行控制,在这里小记下,方便后续查看. [DontWrapResult] //ABP默认对返回结果做了封装 ...
- 6.10---mybatis的实体---接口---接口映射---主配置文件