2015年10月25日,终于开始Python自动化运维之路。第一天学完,感觉很充实,同时也算是初识Python了,感觉唯一是类库着实丰富,代码简洁,确实有被人喜爱的理由。
Python概述
Python诞生于1989年的圣诞,是目前全球最受关注的编程语言之一,唯一的缺憾就是,这是作者无聊时开发的“休闲语言”,可以说是出身不好吗。
Python涉及的范围有数据分析、自动化运维、网络编程等多个方面,同时因为其丰富的类库,灵活的语言架构,使得编程人员能更多的关注程序的逻辑功能,减轻编程人员的负担,也减轻了排错的难度。
Python第一课
1、安装
Windows系统,
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第一课总结
梦想起航的第一天,多多努力,多多加油。