云计算Python自动化运维开发实战:行和缩进

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算Python自动化运维开发实战:行和缩进相关的知识,希望对你有一定的参考价值。

学习Python时,遇到的第一个需要注意的地方是,不使用括号来表示代码的类和函数定义块或流程控制。代码块是由行缩进,这是严格执行表示方式。 缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量。在这个例子中,两个功能块都很好使用:

if True:

print "True"

else:

print "False"

在本例中的第二块将产生一个错误:

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

因此,在Python中所有的连续线缩进的空格数同样的会结成块。

多行语句:

Python语句通常用一个新行结束。 但是,Python允许使用续行字符()来表示,该行应该继续下去(跨行)。

例如:

total = (item_one +

item_two +

item_three)

包含在[],{}或()括号内的陈述并不需要使用续行符。 例如:

days = [‘Monday‘, ‘Tuesday‘, ‘Wednesday‘,

‘Thursday‘, ‘Friday‘]

可以使用三引号"""或‘‘‘来打印多行语句,写什么格式就打印什么格式。 比如:

print(‘‘‘hello this

is

a

test 多行语句‘‘‘)

打印结果如下:

hello this

is

a

test 多行语句

继续符( \ ):

Python 语句,一般使用换行分隔,也就是说一行一个语句。一行过长的语句可以使用反斜 杠( \ ) 分解成几行,比如:

if (weather_is_hot == 1) and \

(shark_warnings == 0):

send_goto_beach_mesg_to_pager()

引号:

Python可以使用单引号(‘),双引号(“)和三(‘‘‘或”””)引号,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。三重引号可以用于跨越多个行的字符串。 例如:

word = ‘word‘

sentence = "This is a sentence."

paragraph = """This is a paragraph. It is

made up of multiple lines and sentences."""

注释:

单行注释: 一个井号(#),“#”号之后字符到本行结束都是注释,Python解释器会忽略它们。比如:

#!/usr/bin/python

First comment

print "Hello, Python!" # second comment

运行结果:

Hello, Python!

使用三引号完成多行注释:

‘‘‘

comment1

comment2

‘‘‘‘

等待用户:

方式1:raw_input()

程序的下面一行显示的提示,按回车键退出,等待用户按下回车键:

#!/usr/bin/python

raw_input("Press the enter key to exit.")

一旦用户按下键时,程序结束。这是一个很好的技巧,保持一个交互式对话,直到用户完成应用程序运行。

方式2:input()

上面两种等待用户输入的方式区别是:

raw_input不解释用户输入

input会解释用户的输入

在一行中多个语句:

分号( ; ) 允许在单行写入多条语句,不管语句是否启动一个新的代码块。下面是使用分号示例:

import sys; x = ‘foo‘; sys.stdout.write(x + ‘‘)

多个语句组作为套件:

一组单独的语句, 在Python单一的代码块被称为序列。复杂的语句,如if, while, def, and class,那些需要一个标题行和套件。 标题行开始与声明(关键字),并终止与冒号(:),接着是一个或多个线构成该套件。

例如:

if expression :

suite

elif expression :

suite

else :

suite

命令行参数:

很多程序可以运行,它们提供有关如何运行的一些基本信息。 Python中可以使用 -h 做到这一点:

$ python -h

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...

Options and arguments (and corresponding environment variables):

-c cmd : program passed in as string (terminates option list)

-d : debug output from parser (also PYTHONDEBUG=x)

-E : ignore environment variables (such as PYTHONPATH)

-h : print this help message and exit

[ etc. ]

你也可以设定你的脚本,它应该以这样的方式接受各种选项

如果想对python脚本传参数,需要模块:sys

参数个数:len(sys.argv)

脚本名: sys.argv[0]

参数1: sys.argv[1]

参数2: sys.argv[2]

#vim test.py

import sys

print “脚本名:”,sys.argv[0]

for i in range(1,len(sys.argv)):

print “参数”,i,sys.argv[i]

#python test.py hello world

脚本名:test.py

参数 1 hello

参数 2 world

以上是关于云计算Python自动化运维开发实战:行和缩进的主要内容,如果未能解决你的问题,请参考以下文章

云计算Python自动化运维开发实战: 交互模式编程

云计算学习笔记,云计算Python自动化基本用法

linux培训需要多长时间

云计算学习大纲是什么?怎么学习云计算?

实战:基于Python构建运维自动化平台

自动化运维|云原生架构下的产品自动化发布快速部署和持续交付实战之路