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 ...
随机推荐
- cocos2d-html5开发之本地数据存储
做游戏时常常须要的一个功能呢就是数据的保存了,比方游戏最高分.得到的金币数.物品的数量等等.cocos2d-html5使用了html5.所以html5的数据保存方法是对引擎可用的: html5本地数据 ...
- linux下查看监听port相应的进程
使用netstat查看进程PID [root@test ~]# netstat -anp|grep 5001 tcp 0 0 :::5001 :::* LISTEN 12886/java 之后各位看官 ...
- 【POJ 1201】 Intervals(差分约束系统)
[POJ 1201] Intervals(差分约束系统) 11 1716的升级版 把原本固定的边权改为不固定. Intervals Time Limit: 2000MS Memory Limit: ...
- BasePath问题-nginx负载均衡配置
在配置nginx+tomcat好后.将项目加入到webapps中.发现訪问主页时,css与js訪问不到,导致主页布局出错.细致分析原因后发现css与js的地址是basePath得出的.而basePat ...
- bzoj1179 [Apio2009]Atm——缩环最长路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1179 tarjan 缩环,然后求到有酒吧的点的最长路即可: 但一开始想缩环后用拓扑序求答案, ...
- TCP打开文件传输(服务器端并发code)
#include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/types. ...
- springboot配置过滤器和拦截器
import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Http ...
- tpshop编辑框中上传图片过大变模糊
tpshop编辑框中上传图片过大变模糊 图片超过2500的高就会变模糊 设置最大的高度修改一下
- 2015 多校赛 第四场 1010 (hdu 5336)
Problem Description XYZ is playing an interesting game called "drops". It is played on a r ...
- 在Winform中怎么实现图片的旋转,比如说实现仪表盘功能,看代码吧,看太不懂的欢迎问
; //旋转的角度 //Timer定时器 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; ...