1、什么是Python?
Python是一门解释型的编程语言,而且是现在世界上最流行的编程语言之一。
2、Python优缺点
优点
-
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
-
易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
-
免费、开源:Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
-
高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
-
可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!
-
面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
-
可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
-
规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。
-
解释型语言:一个用编译型语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
-
丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
缺点
Python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。
3、Python应用场景
-
Web应用开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
-
操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
-
网络爬虫
Python有大量的HTTP请求处理库和HTML解析库,并且有成熟高效的爬虫框架Scrapy和分布式解决方案scrapy-redis,在爬虫的应用方面非常广泛。
-
科学计算
NumPy、SciPy、Pandas、Matplotlib可以让Python程序员编写科学计算程序。
-
桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。
-
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
-
游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
Google、NASA、Facebook都在内部大量地使用Python。
4、安装配置Python
想要进行Python开发,首先需要下载和配置Python解释器。
下载Python
Python官网:Welcome to Python.org
选择下载最新版本的Python
安装Python
双击安装的Python安装包
测试是否安装成功
按住win
+r
输入cmd
进入小黑窗,输入Python,显示正确的版本号则表示安装成功。
5、交互式编程
简单说来,就是直接在终端中运行解释器,而不使用文件名的方式来执行文件。这种交互式的编程环境,我们也可以称之为REPL,即读取(Read)输入的内容,执行(Eval)用户输入的指令,打印(Print)执行结果,然后进行循环(Loop),Python支持交互式编程。
5.1、Python的交互式编程
-
输入Python进行交互式编程
-
输入可识别的指令,打印结果
-
使用
exit()
函数或者快捷键ctrl
+d
退出交互式编程
5.1、交互式编程的优缺点
-
优点:
适合于学习/验证 Python 语法或者局部代码
-
缺点:
-
代码不能保存
-
不适合运行太大的程序
-
6、安装PyCharm
一般情况下,我们都需要借助工具来辅助我们快速的搭建环境,编写代码以及运行程序。
-
IDE的概念 IDE(Integrated Development Environment)又被称为集成开发环境。说白了,就是有一款图形化界面的软件,它集成了编辑代码,编译代码,分析代码,执行代码以及调试代码等功能。在我们Python开发中,最常用的IDE是Pycharm.
pycharm由捷克公司JetBrains开发的一款IDE,提供代码分析、图形化调试器,集成测试器、集成版本控制系统等,主要用来编写Python代码。 下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrains
7、注释的使用
在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己或者其他编码人员解读代码。
注意:注释是给程序员看的,为了让程序员方便阅读代码,解释器会忽略注释。使用自己熟悉的语言,适当的对代码进行注释说明是一种良好的编码习惯。
注释的分类
在Python中支持单行注释和多行注释。
单行注释
以#
开头,#
右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用。
# 我是一条单行注释 我不会被解释器识别
ptint('Hello world!!') # 我是一条输出语句,向控制台输出Hello World!!
多行注释
以'''
开始,并以'''
结束或者以"""
开始,并以"""
结束,我们称之为多行注释。
'''
我是多行注释
凡是被我包围起来的字符都会被视为注释
'''
"""
我也是多行注释
我的作用和上面一样
"""
8、变量以及数据类型
8.1、变量的定义
对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。
定义变量的语法为: 变量名 = 变量值
。(这里的 = 作用是赋值。)
定义变量后可以使用变量名来访问变量值。
如下示例:
# 不使用变量打印三次 "今天天气真好",如果需要变成打印 "今天天气不好" 需要修改三行代码
print("今天天气真好")
print("今天天气真好")
print("今天天气真好")
# 定义一个变量表示这个字符串。如果需要修改内容,只需要修改变量对应的值即可
weather = "今天天气真好"
print(weather) # 注意,变量名不需要使用引号包裹
print(weather)
print(weather)
-
说明:
-
所谓变量名,可以理解为箱子,当需要使用变量值,就把对应的箱子拿来。
-
变量即是可以变化的量,可以随时进行修改。
-
程序就是用来处理数据的,而变量就是用来存储数据的。
-
8.2、变量的类型
程序中: 在 Python 里为了应对不同的业务需求,也把数据分为不同的类型。
-
Number(数字)
-
int(有符号整型)
-
long(长整型,也可以代表八进制和十六进制)
-
float(浮点型)
-
complex(复数)
-
-
布尔类型
-
True
-
False
-
-
Sting(字符串)
-
List(列表)
-
Tuple(元组)
-
Dictionary(字典)
8.3、查看数据类型
-
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别。也就是说在使用的时候 "变量没有类型,数据才有类型"。
-
比如下面的示例里,我们没法预测变量 b 的类型,但是 a 的类型可以根据数据来确认。
a1 = "qwe"
a2 = 123
a3 = 1.1
-
如果临时想要查看一个变量存储的数据类型,可以使用 type(变量的名字),来查看变量存储的数据类型。
a1 = "qwe"
print(a1)
print(type(a1))
a2 = 123
print(a2)
print(type(a2))
a3 = 1.1
print(a3)
print(type(a3))
9、标识符
计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。
命名规则
-
标识符由字母、下划线和数字组成,且数字不能开头。
-
严格区分大小写。
-
不能使用关键字。
命名规范
-
标识符命名要做到顾名思义。
-
标识符命名要做到顾名思义。
-
驼峰命名法,又分为大驼峰命名法和小驼峰命名法。
-
大驼峰命名法,如:
StudentName
-
小驼峰命名法,如:
studentName
-
-
还有一种命名法是用下划线“_”来连接所有的单词,如:
student_name
-
10、输出语句
简单来说,就是将程序的运行结果显示出来。
<span style="background-color:#f8f8f8"><span style="color:#333333"> <span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我是一个输出语句,我的作用就是将括号里面的内容打印输出到控制台"</span>)</span></span>
10.1、格式化输出
目的:简化输出,比如我有如下代码
print("我叫菜鸟进阶站,我今年1岁")
print("我叫菜鸟进阶站,我明年2岁")
print("我叫菜鸟进阶站,我后年3岁")
格式化输出
name = "菜鸟进阶站"
age = 1
print("我叫%s,我今年%d岁" % (name,age))
age += 1
print("我叫%s,我明年%d岁" % (name,age))
age += 1
print("我叫%s,我后年%d岁" % (name,age))
常用的格式化符号
格式符号 | 转换 |
---|---|
%% | 输出 % 号 |
%s | 字符串 |
%d | 有符号十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母0x) |
%X | 十六进制整数(大写字母0X) |
%e | 科学计数法(小写'e') |
%E | 科学计数法(大写“E”) |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
10.2、换行输出
print("Please come close to me") # 一行显示
print("Please \n come close to me") # Please显示一行,come close to me在下一行
11、输入语句
咱们在银行ATM机器前取钱时,肯定需要输入密码,那么怎样才能让程序知道咱们刚刚输入的是什么呢?? 大家应该知道了,如果要完成ATM机取钱这件事情,需要读取用户的输入,并且使用变量保存用户输入的数据。在Python中,我们可以使用input()
函数来获取用户的输入。
示例
name = input("请输入你的名字:")
print("你输入的名字是:%s" % name)
注意:
-
input()
的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示 -
input()
在从键盘获取了数据以后,会存放到等号右边的变量中 -
input()
会把用户输入的任何值都作为字符串来对待