本人最开始接触python是在2013年接触,写过hello word!在此以前对开发类没有多大兴趣,不知道重要性,属于浑浑噩噩,忙忙乎乎,跌跌撞撞的。随后选择了Linux运维做为就业主攻方向。php
通过几年的工做实际状况,愈加以为懂开发的运维是多么的重要。通过再三思虑,决定重拾开发学习。看过php\lua\python;最终选定python做为首选主攻对象。python
经过博客记录python的学习之路。记录这传奇的一辈子。linux
python诞生c++
1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。 就这么一个不经意的打发时间,创造出了一个优秀的语言,python今后诞生。程序员
python地位shell
在编程语言排行榜中,python稳居第4位(2016),远超php\C#。有赶超c++入围前三甲之势。编程
Python能够应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎全部大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司普遍使用Python来作的事通常有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。windows
为何是Python而不是其余语言?python3.x
C 和 Python、Java、C#等网络
C语言: 代码编译获得 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工做
其余语言: 代码编译获得 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行
Python 和 C Python这门语言是由C开发而来
对于使用:Python的类库齐全而且使用简洁,若是要实现一样的功能,Python 10行代码能够解决,C可能就须要100行甚至更多.
对于速度:Python的运行速度相较与C,绝逼是慢了
Python 和 Java、C#等
对于使用:Linux原装Python,其余语言没有;以上几门语言都有很是丰富的类库支持
对于速度:Python在速度上可能稍显逊色
因此,Python和其余语言没有什么本质区别,其余区别在于:擅长某领域、人才丰富、先入为主。
Python的种类
以上除PyPy以外,其余的Python的对应关系和执行流程以下:
PyPy,在Python的基础上对Python的字节码进一步处理,从而提高执行速度!
python环境安装
代码编写
一、入门第一神句
#!/usr/bin/env python # -*- coding:utf-8 -*-
print("Hello Word")
二、解释器
#!/usr/bin/env python
指定解释器位置,与shell脚本开端相似
三、内容编码
# -*- coding:utf-8 -*-
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),在2.x版本不能直接支持中文,须要添加指定字符编码,在3.x版本能够直接支持,能够不用写。但为规范编程,沿用指定内容编码。
四、注释
单行注释:行首#号。
多行注释:行前与行尾以3引号(单双都可)
如:
#!/usr/bin/env python # -*- coding:utf-8 -*-
print("Hello Word") #这是单个注释,不信你试试 ''' 这是多个注释! 不信你试试 ''' print("Hello Word")
五、模块引用
Python有大量的模块,从而使得开发Python程序很是简洁。类库有包括三中:
#!/usr/bin/env python # -*- coding:utf-8 -*- import os print(os.system('df -h')
import os
模块引入语句
print(os.system('df -h')
模块函数与方法使用。
六、变量
一、声明变量
#!/usr/bin/env python # -*- coding:utf-8 -*- name="jason"
name是变量名;"jason"是变量值
变量的做用:昵称,其代指内存里某个地址中保存的内容
做变量定义的规则:
等价变量赋值
#!/usr/bin/env python # -*- coding: utf-8 -*- name1 = "wupeiqi" name2 = name1
七、交互输入
python2.x
#!/usr/bin/env python # -*- coding: utf-8 -*- # 将用户输入的内容赋值给 name 变量 name = raw_input("请输入用户名:") # 打印输入的内容 print name
python3.x
#!/usr/bin/env python # -*- coding: utf-8 -*- # 将用户输入的内容赋值给 name 变量 name = input("请输入用户名:") # 打印输入的内容 print name
案例1:模拟终端用户登录
#!/usr/bin/env python # -*- coding:utf-8 -*- user = "jason" password = "jason" for t in range(3): in_user = input("用户名:") in_passwd = input("密码:") if in_user == user and password == in_passwd: print("登录成功") break else: print("用户名/密码错误,请重试")
案例2:模拟终端用户登录,密码不可见。
#!/usr/bin/env python # -*- coding:utf-8 -*-
import getpass user = "jason" password = "jason" for t in range(3): in_user = input("用户名:") in_passwd = getpass.getpass("密码:") if in_user == user and password == in_passwd: print("登录成功") break else: print("用户名/密码错误,请重试")
#import getpass 密码交互模块
八、流程控制与代码块
代码块:python是一个强制缩进的编程语言。不一样缩进的代码格式代码不一样层级的代码块。
#!/usr/bin/env python # -*- coding:utf-8 -*- age = 20 if age > 20: print("age > 20") elif age < 20: print("age < 20") else: print("age = 20")
九、while/for循环与控制
(1)、while循环
while 条件:
循环代码块
(2)for循环
for 条件:
循环代码块
(3)、break 结束当前循环体
#!/usr/bin/env python # -*- coding:utf-8 -*- for i in range(1,5): if i = 2: break print(i)
(4)、continue 结束当次循环体
#!/usr/bin/env python # -*- coding:utf-8 -*- for i in range(1,5): if i = 2: continue print(i)