Python_oldboy_自动化运维之路(一)
python简介:
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
python特点:
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力
编译型和解释型:
编译型语言:在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。
优缺点:速度快,不用翻译,底层应用,不跨平台,开发效率低,比如C,C++,Go,swift
解释型语言:是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢
优缺点:跨平台,快速部署,比如ruby,python,php,pel
python环境部署:
http://list.youku.com/albumlist/show?id=28961509&ascending=1&page=1
字符编码介绍:
http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html
引用一个小故事:古代打仗通讯有三种方法,千里马,飞鸽传书,烽火台,就拿烽火台的通讯方法举例子,假如敌人来了,需要在烽火台点狼烟让友军知道有敌人来袭,但是怎么能利用最少的狼烟来精确的表示共有多少个敌人来袭,让友军知道好派相应的人数来支援。

备注:0表示不点,1表示点狼烟
由上表可以看出,可以用8根狼烟就能准确的代表1~256个人,以此类推。
9根可以表示2的9次方个敌人约为512人
10根可以表示2的10次方个敌人约为1024个
15根可以表示2的15次方个敌人约为32768个人
16根就可以表示六万多人~~~~
ASCII字符代码表:

、
十进制:128 64 32 16 8 4 2 1
二进制:1 1 1 1 1 1 1 1 1
换算说明:8位等于1字节,1字节就可以存1个accii码。
举例说明:
十进制48表示的符号是数字0,二进制的表示就是:00110000
十进制55表示的符号是数字7,二进制的表示就是:00110111
那么007在计算机语言的表示就是001100000011000000110111
python基础语法:
Window上在安装Python时已经已经安装了默认的交互式编程客户端,快捷键,idle,提示窗口如下:

练习:
【字符串】
>>> name = "lijun"
>>> name
'lijun'
>>> name[0]
'l'
>>> name[0:3]
'lij'
>>> name[0:4] //顾头不顾尾
'liju'
>>> name
'lijun'
>>> age
23
>>> msg="my name is %s and i am %s years old" //空出变量名:%s
>>> msg
'my name is %s and i am %s years old'
>>> msg="my name is %s and i am %s years old" % (name,age)
>>> msg
'my name is lijun and i am 23 years old'
【列表】
>>> names = []
>>> names
[]
>>> names = ["chenlijun","liyongsan","panglicai"] //设置列表
>>> names
['chenlijun', 'liyongsan', 'panglicai']
>>> names[1] //显示列表第二个名
'liyongsan'
>>> names[1]="fanyafeng" //修改列表第二个名字
>>> names
['chenlijun', 'fanyafeng', 'panglicai']
>>> names.append("yongsan") //列表增加一个
>>> names
['chenlijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> names.insert(1,"lijun") //在列表第二个前插入lijun
>>> names
['chenlijun', 'lijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> del names[1] //删除列表第二个名字
>>> names
['chenlijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> names.remove("panglicai") //删除指定的名字
>>> names
['chenlijun', 'fanyafeng', 'yongsan']
>>> names.index("yongsan") //查找列表yongsan的序列号
2
>>> names[2]="liyongsan" //根据序列修改名字
>>> names
['chenlijun', 'fanyafeng', 'liyongsan']
>>> names[names.index("chenlijun")]="lijun" //修改名字,套用变量
>>> names
['lijun', 'fanyafeng', 'liyongsan']
>>> names.append("lijun")
>>> names
['lijun', 'fanyafeng', 'liyongsan', 'lijun']
>>> names.count("lijun") //计数重复的名字
2
>>> names.sort() //排序
>>> names
['fanyafeng', 'lijun', 'lijun', 'liyongsan']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
>>> names[:5]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[:3]
['liyongsan', 'lijun', 'lijun']
>>> names[:-1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[0:-1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
>>> names[0:-1:1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[0:-1:2]
['liyongsan', 'lijun', '4']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
【打印输入的内容】
name = input("name:")
age = input("age:")
job = input("job:")
info = '''-----personal info-------
NAME:%s
AGE:%s
JOB:%s
''' %(name,age,job)
print(info)

Python_oldboy_自动化运维之路(一)的更多相关文章
- Python_oldboy_自动化运维之路(八)
本节内容: 列表生成式,迭代器,生成器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器,生成器 1.列表生成式 #[列表生成] #1.列 ...
- Python_oldboy_自动化运维之路_paramiko,mysql(十二)
本节内容: paramiko mysql 1.paramiko http://www.cnblogs.com/wupeiqi/articles/5095821.html paramiko是一个模块,s ...
- Python_oldboy_自动化运维之路_线程,进程,协程(十一)
本节内容: 线程 进程 协程 IO多路复用 自定义异步非阻塞的框架 线程和进程的介绍: 举个例子,拿甄嬛传举列线程和进程的关系: 总结:1.工作最小单元是线程,进程说白了就是提供资源的 2.一个应用程 ...
- Python_oldboy_自动化运维之路_socket编程(十)
链接:http://www.cnblogs.com/linhaifeng/articles/6129246.html 1.osi七层 引子: 须知一个完整的计算机系统是由硬件.操作系统.应用软件三者组 ...
- Python_oldboy_自动化运维之路_面向对象2(十)
本节内容: 面向对象程序设计的由来 什么是面向对象的程序设计及为什么要有它 类和对象 继承与派生 多的态与多态性 封装 静态方法和类方法 面向对象的软件开发 反射 类的特殊成员方法 异常处理 1.面向 ...
- Python_oldboy_自动化运维之路_面向对象(十)
面向对象编程 OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向 ...
- Python_oldboy_自动化运维之路_全栈考试(七)
1. 计算100-300之间所有能被3和7整除的所有数之和 # -*- coding: UTF-8 -*- #blog:http://www.cnblogs.com/linux-chenyang/ c ...
- Python_oldboy_自动化运维之路_函数,装饰器,模块,包(六)
本节内容 上节内容回顾(函数) 装饰器 模块 包 1.上节内容回顾(函数) 函数 1.为什么要用函数? 使用函数之模块化程序设计,定义一个函数就相当于定义了一个工具,需要用的话直接拿过来调用.不使用模 ...
- Python_oldboy_自动化运维之路_全栈考试(五)
1.执行 Python 脚本的两种方式 [root@localhost tmp]# cat a.py #!/usr/bin/python # -*- coding: UTF-8 -*- print & ...
随机推荐
- 程序集“xxx"中的类型"xxx"的方法“XXXX”没有实现
通过反射调用一个类库时出现这样的报错,检查了一下类中已经实现了此方法,实现的方法如下: public partial class LogList : DockContent, ILogForm { p ...
- SqlServer 允许保存对数据库中表结构的修改
1.Tools-->optisons-->Designers 如下截图
- 用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法
问题: 在自己电脑上用VS2010编写的VC++程序(使用MFC库),不能在其他电脑上运行.双击提示: "无法启动此程序,因为计算机中丢失mfc100.dll 尝试重新安装该程序以解决此问题 ...
- Nginx配置免费SSL证书StartSSL,解决Firefox不信任问题
先在StartSSL上申请免费一年的SSL证书,具体过程网上很多教程.然后把申请到的key和crt文件上传到服务器,比如/usr/local/nginx/certs/. Nginx配置SSL证书 直接 ...
- sqlserver 学习
http://www.cnblogs.com/CareySon/category/411344.html SQL Server查找的最小单位实际上是页.也就是说即使你只查找一行很小的数据,SQL Se ...
- SQL server 变量if,while,存储过程
一.变量 1.if循环 2. 3.while循环 declare @ss int set @ss =2while @ss<10begin print 'Hello' set @ss=@ss+1e ...
- css li 列表
ul,li{list-style-type:none;padding:0;margin:0}
- MySQL的备份与恢复
Linux下的mysql的备份与恢复 备份: 比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump 命令格式如下: [root@linuxsir01 root]# ...
- 支付宝APP支付(Java后台生成签名具体步骤)
/** *支付宝支付 * @param orderId 订单编号 * @param actualPay 实际支付金额 * @return */ private String getOrderInfoB ...
- 贪心(哈夫曼树):HDU 5884 sort
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2QAAAKACAIAAAB8KCy/AAAgAElEQVR4nOy9a5Adx3UmWL+kHxuekU ...