2015年10月25日,终于开始Python自动化运维之路。第一天学完,感觉很充实,同时也算是初识Python了,感觉唯一是类库着实丰富,代码简洁,确实有被人喜爱的理由。


Python概述


Python诞生于1989年的圣诞,是目前全球最受关注的编程语言之一,唯一的缺憾就是,这是作者无聊时开发的“休闲语言”,可以说是出身不好吗。


Python涉及的范围有数据分析、自动化运维、网络编程等多个方面,同时因为其丰富的类库,灵活的语言架构,使得编程人员能更多的关注程序的逻辑功能,减轻编程人员的负担,也减轻了排错的难度。


Python第一课


    1、安装

    Windows系统,https://www.python.org/downloads/官网下载相应版本,

    python-2.7.10.amd64.msi是我选择的版本,

    双击运行,

    选择默认安装路径(C:\python27)即可,

    完成之后配置环境变量,

    【右键计算机】-->【属性】-->【高级系统设置】-->【高级】-->【环境变量】

    -->【修改系统变量Path】 --> 添加C:\python27


    Linux系统,由于Python已经内置,故只需要确定Python的版本


    2、Hello World

    Python的语言简洁只从这一句就能吸引你的眼球,Look!!!

    print "Hello, World"

     只需将上述语句写入一个文本文件,如hello.py(.py的作用,除了区别文件类型,还可以在编      译时产生.pyc字节码文件),运行Python解释器 --- Python hello.py即可执行。

     针对字节码文件,Python会比较.pyc和.py文件功能是否一致,一致则直接调用.pyc文件,否则      重新编译。


     3、内容的规范

    这部分主要是针对以后编程定义的内容做规范指导

    针对Linux系统,在文件开头可以指定解释器,即添加 #!/usr/bin/env python

    同时可以指定内容编码 即添加 -*- coding:utf-8 -*-

    单行注释符 #

    多行注释符 """  """(这个符号同时可以在print语句中做打印多行语句之用) 


    4、参数传入

    对于命令行接受多个参数,需要在Python文件中导入模块,即添加 import sys

    然后输出即可看见传入文件的参数,即使用 print sys.argv


    5、变量趣事

    Python的变量声明同shell一样

    

    Question:变量声明如下name1 = "seiya" name2 = name1,对name1的修改是否对name2生效

    Answer:不生效,name1和name2指向同一片内存地址,对name1的修改只是在内存中重新分配了内存给name1。


    6、Python输入

    raw_input('提示内容')是做接受用户输入的函数

    getpass('提示内容')可在接受用户输入密码时不显示内容,前提得为Python导入getpass模块


    7、流程控制

    Python采用缩进来控制结构

     判断

    if-elif-else

    

    循环

    for i in name_list(列表):

    

    break

    continue

    

    while 条件:

    while的条件可设置flag

    

    8、基本数据类型

    整型int

    浮点型float

    长整型long

    布尔值true、false

    字符串

    

    9、字符串拼接

    Python中type可以查看变量的类型


    以下内存变量赋值结果一样

    name = 'i am %s, age %d' % ('seiya',24)

    等同于

    name = 'i am %s, age %d'

    name % ('seiya',24)

    等同于

    name = 'i am {0}, age {1}'

    name.format("seiya",24) 


    

    name = seiya

    print name[0]

    输出 s

    print name[0:2] 

    输出 s se

    print name[0:]

    输出 alex

    print name[:-1]

    输出 ale

    

    print len(name)输出字符串的字符数量


    

    name = '     seiya'

    print name.strip() 去掉字符串两端空格

    print name.lstrip() 去掉字符串左边的空格

    print name.rstirp() 去掉字符串右边的空格


    

    字符串分割

    name='seiya,saori'

    print name.split(',') 指定,为分隔符


    10、列表

    name_list = ['seiya', 'seven', 'saori']

    name_list = list(['seiya', 'seven', 'saori'])

     列表的索引同字符串一样

    name_list.append('seven') 追加数据后,内存地址不变

    del name_list[0] 删除

    '-'.join(name_list) 按指定连接符将列表改成字符串,-为指定连接符

    判断某个字符串是否在list中,‘Alex’ in name_list 返回布尔值


    11、元组

    name_tuple = (11, 22, 33, 44, 55)

    name_tuple = tuple((11, 22, 33, 44, 55))

    元组内容不可修改,不同于列表


    12、字典

    person = {"name": "seiya", 'age': 24}

    person = dict({"name": "seiya", 'age': 24})

    字典的保存是无序的

    print person['name'] 字典索引方式

    

    for k,v in person.items() 遍历所有元素

         print k

         print v

    person.keys() 显示所有keys,形式为列表

    person.values() 显示所有values,形式为列表


    13、文件操作

    

    file_obj=file('file_path','mode')

    mode 常用的是r,w,r+

    

    file_obj.read()加载所欲内容到内存

    file_obj.readlines()加载所有内容到内存,按行分割

    

    file_obj.write('content')向文件中写内容

    file_obj.close()关闭文件


Python第一课总结

    梦想起航的第一天,多多努力,多多加油。