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 & ...
随机推荐
- win32画线考虑去锯齿
整理日: 2015年2月16日 这几天一直在研究win32 SDk下画线去锯齿,之前一直用的QT的画线接口函数,里面有去锯齿的效果,可是突然项目要求不能用QT的只能用win32 SDK下的GDI画线接 ...
- matlab常用小函数(二)
numel 元素个数 assert 表达式为假时输出某个字符串 int2str 整形转化为字符串型 numel(A) 返回A中的元素个数,A可以是任何的数据结构,如向量.矩阵.元胞.结构体等 asse ...
- bzoj 1067: [SCOI2007]降雨量 模擬
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2010 Solved: 503[Submit][Status] ...
- 【Ireport】利用Ireport5.2的table组件迅速制作表格导出pdf
转载请注明网址.Ireport table dataset Ireport在半年前还是4.7,今天无意发现,居然出到了5.2就搞一把. 首先,去下载Ireport,并进行安装.这个我就不演示了.下载完 ...
- 【转】 MEF 和 MAF
今天在MSDN上看了一下微软这俩个可扩展框架,微软技术高手真很有才! MEF 和 MAF区别: 早期的 .NET Framework 版本引入了 Managed Add-in Framework (M ...
- HDOJ/HDU 2561 第二小整数(水题~排序~)
Problem Description 求n个整数中倒数第二小的数. 每一个整数都独立看成一个数,比如,有三个数分别是1,1,3,那么,第二小的数就是1. Input 输入包含多组测试数据. 输入的第 ...
- vijosP1059 积木城堡
vijosP1059 积木城堡 链接:https://vijos.org/p/1059 [思路] 01背包. 刚开始想麻烦了,想的是二分答案然后01背包判断是否可行,但是首先答案不满足单调性所以不能二 ...
- apply和call详解
1. apply和call的区别在哪里 2. 什么情况下用apply,什么情况下用call 3. apply的其他巧妙用法(一般在什么情况下可以使用apply ...
- verilog 双向IO实现
网上搜索了一番,示例挺多,但发现都写的是 input in; output out; 然后 assign io= (oe)?out:1'bz;就有点想不明白了,当IO方向为输出时,应该输出out的值 ...
- 用Delphi直接获取bmp图片的像素
用Delphi直接获取bmp图片的像素,并存储显示出.(此像素主要用在LED上显示).希望高手能给出代码啊!! function getImagePixels(f: string): Integer; ...