python自动化运维之路_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

引用一个小故事:古代打仗通讯有三种方法,千里马,飞鸽传书,烽火台,就拿烽火台的通讯方法举例子,假如敌人来了,需要在烽火台点狼烟让友军知道有敌人来袭,但是怎么能利用最少的狼烟来精确的表示共有多少个敌人来袭,让友军知道好派相应的人数来支援。

731337-20170109161445213-1056780605.png

备注:0表示不点,1表示点狼烟

由上表可以看出,可以用8根狼烟就能准确的代表1~256个人,以此类推。

9根可以表示2的9次方个敌人约为512人

10根可以表示2的10次方个敌人约为1024个

15根可以表示2的15次方个敌人约为32768个人

16根就可以表示六万多人~~~~

ASCII字符代码表:

731337-20170109152949244-2042307642.png

731337-20170109153039494-801450868.png

十进制: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,提示窗口如下:

731337-20170109165216306-1574710544.png

练习:

【字符串】

>>> 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)

731337-20170109181111291-1405322728.png

1 name = input("youername:")2 age = input("youerage:")3 job = input("youerjob:")4

5 info = '''---personal info----------6 NAME:%s7 AGE:%s8 JOB:%s9 '''%(name,age,job)10 print (info)

循环:

731337-20170113160957931-285537144.png

【for循环】

1 for i in range(5):

2 print ("look", i)

731337-20170113144208463-963149051.png

1. 输入密码场景,判断用户名和密码都输入成功,则显示登陆成功,用户名是xiaoyu则不让登陆

1 user = "chenlijun"

2 passwd = "lijun"

3 newuser = input("name:")

4 newpasswd = input("passwd:")

5 if user == newuser and passwd ==newpasswd:

6 print ("登陆成功!")

7 elif newuser == "xiaoyu":

8 print ("%s已经被拉进黑名单,直到海枯石烂都不让登陆!" %(newuser))

9 else:

10 print ("登陆失败!")

731337-20170113151640088-801785103.png

731337-20170113151654806-897100654.png

731337-20170113151724916-387500724.png

2. 最多让输入三次,输入两次成功则显示成功

1 user = "chenlijun"

2 passwd = "lijun"

3

4 for i in range(3):

5 newuser = input("name:")

6 newpasswd = input("passwd:")

7 if user == newuser and passwd ==newpasswd:

8 print ("登陆成功!")

9 break

10 elif newuser == "xiaoyu":

11 print ("%s已经被拉进黑名单,直到海枯石烂都不让登陆!" %(newuser))

12 break

13 else:

14 print ("登陆失败!")

3. 输入三次都没有登陆成功,则显示被锁定

1 user = "chenlijun"

2 passwd = "lijun"

3

4 for i in range(3):

5 newuser = input("name:")

6 newpasswd = input("passwd:")

7 if user == newuser and passwd ==newpasswd:

8 print ("登陆成功!")

9 break

10 elif newuser == "xiaoyu":

11 print ("%s已经被拉进黑名单,直到海枯石烂都不让登陆!" %(newuser))

12 break

13 else:

14 print ("登陆失败!")

15 else:

16 print ("你已经被CIA,CHIA锁定,直到海枯石烂也不能登陆!")

731337-20170113153905978-1448956364.png

【while循环】

731337-20170113155601713-1094793631.png

备注:前面必须是. 表示空格,否则报错。

1. 要求程序每10s运行一次

1 importtime              #导入time模块

2 count =0               #设置议题计数器

3 whileTrue:              #假如条件为真,就执行以下代码

4 count += 1            #每次循环+1

5 print ("loop", count)

6 time.sleep(10)          #间隔10s,永远会执行下去。

731337-20170113160052338-2020832413.png

2. 当程序到某个条件时,将不在执行下去。

1 count =0

2 run =True

3 whilerun:

4 count += 1

5 print ("loop", count)

6 if count == 4:

7 run =False

8 time.sleep(10)

731337-20170113160834244-1645141611.png

3.continue的用法,跳过循环。

1 for i in range(10):

2 if i%2 ==0:

3 continue

4 print ("这个是奇数", i)

731337-20170113162206900-1467125423.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值