k哥学Python系列一Python入门

Posted 一条有梦想的咸鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k哥学Python系列一Python入门相关的知识,希望对你有一定的参考价值。

前言

各位看博客的园友们,大家好,我就是那个风流倜傥的KK,还记得我那篇2019年的年中总结博客吗?我想有许多看博客的园友是没有读过我那篇文章的,KK很生气,后果很严重(开个玩笑了,怎么可能)。给大家一个传送门2019年终总结,这篇博客总结了KK2019年求职的一些门槛和自己2019年的收获,希望对正在求职的你或者马上需要求职的园友们一些宝贵的建议(虽说是水文,但还是有点作用的),文章结尾的时候我给自己2020年定下了几个目标。

计划二的时候说要学一门后台开发语言,正在看标题的你已经知道是什么开发语言了,没错,你猜对了就是Python,其实我主要是搞前端的,但是对于后端我觉得自己还是有必要进一步了解一下。成为一名全栈工程师也是一种荣誉。原因的话暂时不想解释,后期我会通过博客来说明我为什么会选择Python这门开发语言,我和Python之间有哪些故事。Python这个系列的文章我肯定会写完的,这个请大家放心,希望自己可以给大家带来更多的干货,也希望大家可以多多支持我。

本章目标

  • window系统下搭建Python开发环境
  • 输出基于Python的Hello World
  • 对Python语言有初步了解

Python简介

1、语言简介

Python是一种解释型面向对象动态数据类型的高级程序设计语言,具有20多年的发展历史,成熟且稳定。相信比大多数人的年龄都大,当然包括KK。

1、Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。

2、Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进

3、Python具有丰富和强大的库。它常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

2、语言特点

简单Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身

易学Python极其容易上手,因为Python有极其简单的。

免费、开源Python是一种免费并且开源的语言。

高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性由于它的开源本质,Python已经被移植在几乎所有平台上(经过改动使它能够工作在不同平台上),window,Linux,Mac OS等。

解释性Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。

面向对象:Python既支持面向过程的编程也支持面向对象的编程在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的

可扩展性如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。

可嵌入性可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

丰富的库Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。

Python标准库的主要功能有:

  • 文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能
  • 文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能
  • 操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、写日记(logging)等功能
  • 网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能
  • 网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架
  • W3C格式支持,包含HTML,SGML,XML的处理
  • 其它功能,包括国际化支持、数学运算、HASH、Tkinter等

 开发效率高丰富的库,据说豆瓣开发只用了3个月时间就上线了。

3、发展历史与版本

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间在阿姆斯特丹为了打发无聊的圣诞节而编写的一个脚本解释编程语言。之所以选中Python作为编程的名字,是因为他是一个蒙提·派森的飞行马戏团的爱好者。

 创始人为吉多·范罗苏姆(Guido van Rossum)

Python 2.0于2000年10月16日发布,主要是实现了完整的垃圾回收,并且支持Unicode。

Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。

4、功能与前景

1、常规软件开发

Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。

桌面软件:PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。

2、科学计算

随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛,有更多的程序库的支持。虽然Matlab中的许多高级功能和toolbox目前还是无法替代的,不过在日常的科研开发之中仍然有很多的工作是可以用Python代劳的。

 Python是一门很适合做科学计算的编程语言,97年开始,NASA就大量使用Python进行各种复杂的科学运算,随着NumPy、SciPy、Matplotlib、Enthought librarys等众多程序库的开发,使得Python越来越适合做科学计算、绘制高质量的2D和3D图像。

3、自动化运维、操作系统管理

这几乎是Python应用的自留地,作为运维工程师首选的编程语言,Python在自动化运维方面已经深入人心,比如Saltstack和Ansible都是大名鼎鼎的自动化平台。

在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,RedHatLinux和Fedora的Anaconda安装器。GentooLinux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它WindowsAPI。使用IronPython,Python程序能够直接调用.NetFramework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。

4、云计算

开源云计算解决方案OpenStack就是基于Python开发的。

5、WEB开发

基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。

6、网络爬虫、服务器软件

也称网络蜘蛛,是大数据行业获取数据的核心工具。没有网络爬虫自动地、不分昼夜地、高智能地在互联网上爬取免费的数据,那些大数据相关的公司恐怕要少四分之三。能够编写网络爬虫的编程语言有不少,但Python绝对是其中的主流之一,其Scripy爬虫框架应用非常广泛。

Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

7、数据分析

在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。

8、人工智能

Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。

9、游戏

很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

近些年,编程语言Python的热度越来越高,因为Python简单,学起来快,是不少程序员入门的首选语言。

在网络游戏开发中,Python也有很多应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,Python非常适合编写1万行以上的项目,而且能够很好的把网游项目的规模控制在10万行代码以内。

10、金融分析与交易

金融分析包含金融知识和Python相关模块的学习,学习内容囊括Numpy\\Pandas\\Scipy数据分析模块等,以及常见金融分析策略如“双均线”、“周规则交易”、“羊驼策略”、“Dual Thrust 交易策略”等。

量化交易,就是以数学模型替代人的主观判断来制定交易策略。通常会借助计算机程序来进行策略的计算和验证,最终也常直接用程序根据策略设定的规则自动进行交易。

Python 由于开发方便,工具库丰富,尤其科学计算方面的支持很强大,所以目前在量化领域的使用很广泛。市面上也出现了很多支持 Python 语言的量化平台。通过这些平台,你可以很方便地实现自己的交易策略,进行验证,甚至对接交易系统(由于政策原因,现在很多交易接口暂停开放)。

5、Python的就业方向

  • 发展前景一:Linux运维
  • 发展前景二:Python Web网站工程师
  • 发展前景三:Python自动化测试
  • 发展前景四:数据分析
  • 发展前景五:人工智能

6、发展前景

在过去的十年里,Python语言获得了最大的增长幅度——十年语言之冠。

语言当前排行:

 排行发展:

7、资源

官网:https://www.python.org/

菜鸟教程:https://www.runoob.com/python/python-tutorial.html

廖雪峰官方Python教程:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959735620448

纯洁的微笑Python教程:http://www.ityouknow.com/python.html

Python社区:http://www.python88.com/forum/python

Window平台下搭建Python开发环境

一、下载安装包

1、上python官网下载python运行环境(https://www.python.org/downloads/),建议下载稳定版本,不推荐使用最新版本。

2、上pycharm官网下载最新版的IDE(http://www.jetbrains.com/pycharm/download/#section=windows),官网提供了mac、windows和linux三种版本。

 

3、上postgresql官司网下载最新版的数据库(https://www.postgresql.org/download/windows/  打开页面后,点击Download the installer进入下载页,然后选择版本和操作系统,再点击下载。

二、安装python运行环境

安装python运行环境,双击python-3.5.2.exe

一般采用自定义安装比较好,不然自动安装会把环境安装到个人目录里,有时要找起来很麻烦另外第二个红框前面的勾记录打上,不然需要手动在windows环境变量的路径中添加python安装路径。

 

 

完成安装然后我们打开CMD,在里面输入python,就可以直接进入进行编码了我们可以输入print(\'hello world!\')来测试一下python运行,如下图

 如果输入python出现下面错误

 那就得手动将python安装路径添加到系统环境变量中,这里的操作系统主要是window7的系统

打开开始菜单,对计算机点右键找到属性

 

 

 

 选中后点击编辑,在最后面分别添加刚才的安装路径然后打开新的CMD(要开新的cmd才有效),输入python就可以看到刚才的提示进入编码界面了。

三、安装pycharm IDE软件

双击pycharm安装包,一般按正常的默认安装项就可以了

 

 

 

四、 安装postgresql数据库

双击安装文件,然后按默认项安装就可以了

 最后一步这个勾最好去掉,不然会弹出安装各种插件的窗口,一般来说那些插件我们暂时都用不上,不用进行安装。

PyCharm 实现Hello World

 1、打开PyCharam,选择create New project这个选项,新建一个项目,注意目录不要放在中文的文件夹

 2、选择Pure python,选择自己需要保存的路径(不要有中文路径),选择Create就可以了

 3、右键文件夹,选择New——Python File就可以

 4、输出Hello World,Python使用print()方法实现打印功能

print(\'Hello World!\')

5、控制台输打印

使用Python输出Hello World!我们已经实现了。基本上对Python有了一定的了解,本篇博客的许多内容都是参考来的,学习Python仅仅只是个开始,但是学习编程还有很长的路需要走。

参考文章:https://www.cnblogs.com/best/p/10468777.html

 

以上是关于k哥学Python系列一Python入门的主要内容,如果未能解决你的问题,请参考以下文章

Python入门系列之字符编码

数据分析从入门到“入坑“系列利用Python学习数据分析-Python语法基础

[Python 3系列]基础入门

跟着强哥学ElasticsearchElasticserach 入门1.2

Python系列之入门篇——HDFS

python——入门系列索引与切片