参考链接:Python自动化运维之路
http://www.cnblogs.com/xiaozhiqi/p/5727727.html
(有些内容觉得对我很有帮助直接拷贝了,非常感谢!)
Python是什么?
Python是一门优雅、简洁,面向对象、直译式的计算机程序语言。吉多·范罗苏姆(Guido van Rossum)为创始人(1989年)。 主要用于大数据分析、自动化维护、Web开发等。
执行脚本传入参数
1 import sys 2 print(sys.argv)
1 C:\Users\linlinda\PycharmProjects\fighting>cd 18Aug 2 3 C:\Users\linlinda\PycharmProjects\fighting\18Aug>dir 4 驱动器 C 中的卷是 Windows 5 卷的序列号是 4A30-72C6 6 7 C:\Users\linlinda\PycharmProjects\fighting\18Aug 的目录 8 9 2016/08/18 17:56. 10 2016/08/18 17:56 .. 11 2016/08/18 14:13 307 file_operation.py 12 2016/08/18 17:56 12 index.py 13 2016/08/18 17:56 27 lib.py 14 2016/08/18 13:30 140 loop_continue.py 15 2016/08/18 11:07 396 string_format.py 16 2016/08/18 14:13 40 test.log 17 6 个文件 922 字节 18 2 个目录 269,820,514,304 可用字节 19 20 C:\Users\linlinda\PycharmProjects\fighting\18Aug>python index.py 21 lib 22 23 C:\Users\linlinda\PycharmProjects\fighting\18Aug>python lib.py 24 ['lib.py'] 25 26 C:\Users\linlinda\PycharmProjects\fighting\18Aug>python lib.py runserver 27 ['lib.py', 'runserver'] 28 29 C:\Users\linlinda\PycharmProjects\fighting\18Aug>python lib.py 8000 30 ['lib.py', '8000']
变量&字符编码
变量
常量我们约定俗成都为大写
- 变量声明:
- Python将所有数据存为内存对象
- Python中,变量事实上是指向内存对象的引用
- 动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)内建函数type()用于返回给定数据项的数据类型
- "="用于将变量名与内存中的某个对象绑定:如果对象实现存在,就直接进行绑定;否则,则由"="创建引用的对象,变量名也是对象存在内存,比如:name='jerry',name这个指针指向jerry,name='tom'的时候,name是指针指向tom,但是jerry仍在内存中存放着,只是没有被变量名指向,到一定时候会被垃圾收集器回收,和java有点像。其中当test='jerry'时,test和name这两个变量名指向内存的地址是一样的。id(test),id(name),变量名是内存引用的标识或符号。
- 变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 变量名对大小写是敏感的。比如Myname和myname是不同变量。
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise','return', 'try', 'while', 'with', 'yield']
- 变量最佳命名方式:
- 使用下划线'_'作为连接,如 name_variables
- 使用大小写,称为驼峰法,如 NameVariables,nameVariables
注意:两种命名方式不要混用,只选你喜欢的一种即可
- 变量命名惯例:
- 以单一下划线开头的变量名(_x)不会被from module import * 语句导入
- 以两个下划线开头但结尾没有下划线的变量名(__x)是类的本地变量
- 前后有双下划线的变量名(__x__)是系统定义的变量名,对python解释器有特殊意义
- 交互式模式下,变量名"_"用于保存最后表达式的结果
字符串的基本操作
- 移除空白 scrip()
- 分割 split()
- 长度 len()
- 索引 obj[]
- 切片 obj[1:] obj[2:4]
PS:元组的元素是不能修改的,但元组的元素的元素是可以修改的
1 tup=(1,2,3,{'k1':'v1'}) 2 print(tup) 3 4 # tup[2]=4 #程序会报错 5 tup[3]['k1']=4 6 print(tup)
输出结果:
"C:\Program Files\Python35\python.exe" C:/Users/linlinda/PycharmProjects/fighting/18Aug/index.py
(1, 2, 3, {'k1': 'v1'})
(1, 2, 3, {'k1': 4})
Process finished with exit code 0
IF...ELSE语句及FOR...循环
注:break是跳出本层循环,continue是跳出本次循环
1 age=21 2 counter=0 3 for i in range(10): #这边的i 是由range()控制的 每次循环都是由range()赋值给i 所以我们自己在循环里给i 赋值并不起作用 4 print("->counter:",counter) 5 if counter < 3: 6 guess_num=int(input("input your guess num:")) 7 if guess_num==age: 8 print("Congratulations!you got it!") 9 break #跳出本层循环 10 elif guess_num>age: 11 print("your num is bigger....") 12 else: 13 print("your num is smaller...") 14 else: 15 continue_confirm=input("Do you want to continue?") 16 if continue_confirm=="yes": 17 counter=0 18 continue #跳出本次循环 19 else: 20 print("bye") 21 break 22 counter += 1 #counter=counter+1
linux中的一些基本操作
在linux中用vim写python文件时,用命令vim test.py 写文件时,进入到test.py文件编写界面时,要先点击字母i进入插入模式,写完之后先按ESC键,再按:键,直接退出输入q,保存退出wq,强制退出前面加个!