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 & ...
随机推荐
- Linux内核监控模块-0-开篇简介
最近做了一个关于Linux内核编程的项目,主要实现的功能是对文件系统的监控. 我采用的方式是将监控的功能做成一个可加载模块(LKM)的形式,动态加载到Linux内核中.在这个内核层的“监控模块”中,我 ...
- 区分html与css中的属性
CSS中id与Class的区别 1.在CSS文件里书写时,ID加前缀"#":CLASS用"." 2.id一个页面只可以使用一次:class可以多次引用. 3.I ...
- 关于mysql授权账号权限时的空密码问题
-root ~]$ mysql -uroot -p Enter password:ERROR 1045 (28000): Access denied for user ‘root’@'localhos ...
- jQuery实现Twitter的自动文字补齐特效
上图效果可以使用jQuery插件Typeahead.js来实现,这款jQuery插件来自于Twitter的一个新的项目,支持远程和本地的数据集.比较有特色的地方在于你可以将数据集使用本地存储(loca ...
- python重要的函数代码块
注意:现在python3.3.5中print打印语句有了新写法: 1. python指定生成随机数 >>> import random >>> >>&g ...
- Codeforces Round #206 (Div. 2)
只会做三个题: A:简单题,不解释: #include<cstdio> using namespace std; int k,d; int main() { scanf("%d% ...
- Python connect zookeeper use the kazoo module
doc:http://kazoo.readthedocs.org/en/latest/basic_usage.html eg: from kazoo.client import KazooClient ...
- asp.net 类库中获取session c#类中获取session
asp.net 类库中获取session c#类中获取session 1. 先引入命名空间 using System.Web; using System.Web.SessionState; 在使用H ...
- SQL*Net more data from client
SQL*Net more data from client The server is waiting on the client to send more data to its client sh ...
- .classpath 和.project文件含义
.classpath文件是在建立eclipse工程时创建的描述工程配置情况的文件,包括: * 源码路径 * 编译结果的输出路径 * 所使用的外部库的路径 -----------------下面是 ...