欢迎加入linux_Python学习群

群号:478616847 目录: 什么是Python Python开发环境安装 第一个程序 HelloWord! 初识数据类型 初识条件语句 Pass continue break 一、 什么是Python
刚接触Python的我们第一个问题肯定就是到底什么是Python?Python能做什么?为什么Python现在这么火?
来大家看
这 货就是Python,在看的观众肯定要骂了,你就给我看着个?哈哈,没错这个就是Python的代言人。
其实Python有很多优秀的特点:
(1)Python 是一门简明并强大的面向对象编程的语言、
(2)简单易学适合快速开发各种程序
(3)Python在WEB开发,软件开发,科学运算,大数据分析,自动化运维等方面得到了广泛的应用
Python的创始人为 吉多范罗苏姆 1989年的圣诞节期间,他为了打发时间,决心开发一个新的脚本解释程序作为ABC语言的一种集成,
这门语言结合了JAVA和Shell的优势特性,并且属于解释型语言的它在可移植性、可扩展性、可嵌入性都有独特的优势。那么有人要问 什么是解释型语言?
解释型语言与编译型语言的区别
编译型:
优点:编译器一般会有预编译的过程对代码进行优化,因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译,编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就好有问题,需要根据运行的操作
系统环境编译不同的可执行文件。
解释型:
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码直接修改即可,无需再次编译,快速部署无需停机维护
缺点:性能方面不如编译型语言
Python的种类
CpythonPython的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。 Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。 IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似) PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
Python在热门语言中的排名:
下面的图片就是今年Python跟各大热门语言对比的排名,我们的Python现在处于第四位,并且同JAVA/C/C++/一起成为程序员最热爱的四大语言之一。
总而言之用一句话总结Python,就是学的快,用的多。

二、Python开发环境安装
下面我们开始安装我们的Python环境,首先我们去Python官网下载安装包,官方下载地址https://www.python.org/downloads/ 选择对应的版本下载即可,安装非常傻瓜式,
下一步下一步即可,Linux自带Python2.6,我们可以使用yum 和apt进行安装其它版本。
(1)配置windows 命令行运行python2.7,和3.5环境
右键计算机-选择管理-选择高级系统设置-选择高级-选择环境变量-选择系统变量中的Path-选择编辑,如下图添加python3.5和2.7的安装路径即可,记住分隔符是分号“;”

进入到最后添加版本的安装目录中复制python.exe,粘贴,并更改名称3.5改成python3.exe,2.7改成python2.exe,记住更改的是在Path变量中添加到最后Pthon版本的执行文件

结果

三、第一个程序 HelloWorld!
(1) 第一句代码,print("Hello World"),在python3.5环境中输入print("Hello World")注意中英文字符,此时我们看到下面返回了Hello World,那么 print()就是python中的输出语句

了解一下Python内部的执行过程(无需深究):

(2)解释器
我们会shell的童鞋都知道在linux中执行shell文件都需要指定解释器,那么我们执行python文件的时候也需要加上解释器,就跟shell脚本一样,我们用vim创建一个hello.py
的文件,给他执行的权限,写入如下内容,写入后就可以像shell一样执行python文件了。
1 #!/usr/bin/env python 2 3 print "hello,world" 执行脚本内容(3)编码
我们知道在我们的计算机中使用的是二进制,所以在Python解释器加载.py 文件中的代码时,会对内容进行编码(默认ascill)ASCII(American Standard Code for InformationInterchange,
美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示
256 个符号。我们来看下对应关系表

我们从这张表中可以看到,没有中文,那中国人写中国字怎么办,等中国人们得到计算机时,已经没有可以利用的字节状态来表示汉字,况且有6000多个常用汉字需要保存呢。但是这难不倒
智慧的中国人民,我们不客 气地把那些127号之后的奇异符号们直接取消掉, 规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一
个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊
的 字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符
了。 中国人民看到这样很不错,于是就把这种汉字方案叫做 "GB2312"。GB2312 是对 ASCII 的中文扩展。
但是中国的汉字太多了,我们很快就就发现有许多人的人名没有办法在这里打出来,特别是某些很会麻烦别人的国家领导人。于是我们不得不继续把 GB2312 没有用到的码位找出来老实不
客气地用上。 后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不 是扩展字符集里的内
容。结果扩展之后的编码方案被称为 GBK 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
那么其他国家也是像中国一样增加自己国家的编码这样弄得非常乱,后来出现了标准组织,将全球的文字都收录了进去,推出了Ubicode编码格式,此编码中规定,所有字符最少用16位表
示,也就是两个字节,那么对于使用字母的国家很显然占用了更高的空间所以UTF-8推出,它就是对Unicode编码压缩和优化,其中 规定 了 ascii码中的内容用1个字节保存,欧洲字符用两
个字节保存,东亚的字符韩文中文一类的用三个字节保存。
所以!在Python3以前我们要打印中文就需要增加另一行注释,如下但是在Python3中不需要加,因为python3默认是Unicode编码。
1 #!/usr/bin/env python 2 # -*- coding: utf-8 *- 3 4 print("你好 世界")、 注释变量
变量定义的规则: 变量名只能是 字母、数字或下划线的任意组合 变量名的第一个字符不能是数字以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if','import', 'in', 'is', 'lambda', 'not', 'or', 'pass','print', 'raise', 'return', 'try', 'while', 'with', 'yield']
注释:单行注视:# 被注释内容 多行注释:""" 被注释内容 """
四、初识数据类型字符串(str)
什么是字符串,字符串就是由0个或多个字符组成的有限序列,上面所打印的“Hello World”就是一个字符串,通常以串作为操作的整体。
单引号,双引号,和转义
在一般的时候 ‘Hello,world!’ 和 “Hello,world!” 是没有什么区别的,那么为什么会两个都可以用呢?是因为在某些情况下,他们会派上用处
1 >>> "Hellow,world" 2 'Hellow,world' 3 >>> 'Hellow,world' 4 'Hellow,world' 单引号和双引号 在下面的代码中,第一段字符串包含了单引号,所以呢整体就不能用单引号包括起来,如果这样做的话,解释器就会抱怨(它这么做也是对的)>>> "Let's go!" "Let's go!"
>>> 'Ler's go!' SyntaxError: invalid syntax
虽然上面的代码,用双引号执行时成功的,但是我们不一定要这么来去做,这里就涉及到转义(\),这样做Python就会明白其中一个单引号是一个字符
>>> 'Ler\'s go!'
"Ler's go!"
字符串拼接
在很多的时候我们都会用到字符串拼接,因为在输出一句话的时候往往需要调用多个变量的值,那么拼接的方法也有很多
1 #第一种 2 3 >>> a="Hello" 4 >>> b="World" 5 >>> print(a,b) 6 Hello World 7 8 #第二种 9 >>> a+b 10 'HelloWorld' 字符串拼接注 !python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,
万恶的+号每出现一次就会在内从中重新开辟一块空间。
我们可以发现上面的两种方法都不方便,因为加入我要输出一段很长很长的话,中间需要调用变量的时候怎么办?别担心我们还有第三种方法,下面就是字符串格式化,格式
化有两大中方式,第一种不受位置的影响,也就是说.format(two=b,one=a)也是可以的,但是第二种方法必须按照位置进行排序,而且%s和%d代表着接受不同的替换字符类型,
1 >>>a = "Hello" 2 >>>b = "World" 3 4 >>> print("{one},{two}".format(one=a,two=b)) 5 Hello,World 6 7 >>> print("%s,%s,%d"%(a,b,11)) 8 Hello,World,11 9 10 %s 字符串 (采用str()的显示) 11 12 %r 字符串 (采用repr()的显示) 13 14 %c 单个字符 15 16 %b 二进制整数 17 18 %d 十进制整数 19 20 %i 十进制整数 21 22 %o 八进制整数 23 24 %x 十六进制整数 25 26 %e 指数 (基底写为e) 27 28 %E 指数 (基底写为E) 29 30 %f 浮点数 31 32 %F 浮点数,与上相同 33 34 %g 指数(e)或浮点数 (根据显示长度) 35 36 %G 指数(E)或浮点数 (根据显示长度) 字符串格式化字符串内置方法
在python中有一句经典的话,一切接对象,举个例子比如我们有一个尺子,还有一只笔,那么尺子是用来测量东西的,笔是用来写东西画东西的,那么他们都有不同的功能,
我们换句话来说尺子这类东西有量东西的功能,笔这类东西有鞋写东西的功能,那么回到python,字符串这类东西也有很多功能:python中把字符