【Python学习笔记】五、基本语句

  • Post author:
  • Post category:python


5.1赋值语句

(1)序列解包

Python支持迭代赋值。即把一个序列或可迭代对象中的元素同时赋值给多个变量,如果等号右侧含有表达式,会把所有表达式的值先计算出来,然后再进行赋值。

#多个变量同时赋值

>>> x, y, z = 1, 2, 3

>>> v_tuple = (False, 3.5, ‘exp’)

>>> (x, y, z) = v_tuple

>>> x, y, z = v_tuple

#可以对range对象进行序列解包

>>> x, y, z = range(3)

#使用迭代器对象进行序列解包

>>> x, y, z = iter([1, 2, 3])

#使用可迭代的map对象进行序列解包

>>> x, y, z = map(str, range(3))

#交换两个变量的值

>>> a, b = b, a

#sorted()函数返回排序后的列表

>>> x, y, z = sorted([1, 3, 2])

#字符串也支持序列解包

>>> a, b, c =’ABC’

>>> x = [1, 2, 3, 4, 5, 6]

#切片也支持序列解包

>>> x[:3] = map(str, range(5))

>>> x

[‘0’, ‘1’, ‘2’, ‘3’, ‘4’, 4, 5, 6]

(2)链式复制

将同一个值赋给多个变量

x=y=somefunction();

(3)增量赋值

x+=1等价于x=x+1

5.2条件语句

(1)条件表达式

①关系运算符:>、<、==、<=、>=、!=

• 可以连续使用:a<range<100

• 在Python3.x中不支持<>运算符(表示!=)

• 字符串可以按照字幕顺序排列进行比较(一个字幕的顺序值可以用ord函数查到)

②算术运算符:+、-、*、/、//、%、**

③测试运算符:

• 成员运算符:in、not in

• 同一性运算符:is、is not

④逻辑(布尔)运算符:and、or、not

• 短路求值(惰性求值):布尔运算符只有在需要求值时才进行求值

• 利用短路求值实现三元运算符: a if b else c(相当于C中的b?a:c)

⑤位运算符:~、&、|、 ^、 <<、>>

(2)选择结构

①单分支选择结构


if

test

:

statement

②双分支选择结构

写法1


if

test

:

statement1

else:

statement2

写法2

statement1

if

test

else

statement2

③多分支选择结构

Python中没有switch..case语句


if

test1

:

statement1


elif

test2

:

statement2


elif

test3

:

statement3

else:

statement4

④嵌套选择结构


if

test1

:

statement1


if

test2

:

statement2

else:

statement3


elif

test4

:

statement4

else:

statement5

5.3循环语句

(1)while循环

• while循环一般用于循环次数难以提前确定的情况,也可以用于循环次数确定的情况;


while

test:


<

statements

>


else


:


<

statements

>

• 为了优化程序以获得更高的效率和运行速度,在编写循环语句时,应尽量减少循环内部不必要的计算,将与循环变量无关的代码尽可能地提取到循环之外。

•   对于使用多重循环嵌套的情况,应尽量减少内层循环中不必要的计算,尽可能地向外提。

•   while true可以开启一个无限循环,使用

CTRL+C

来退出当前的无限循环

(2)跳出循环

•   break语句

•   在while循环和for循环中都可以使用。

•   执行break语句将使整个循环提前结束。

•   continue语句

•   执行continue语句将终止当前循环,提前进入下一次循环。

•   pass语句

•   Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句,如下实例

(3)else分句

• 在Python中,while循环和for循环都可以带else子句

• 如果循环因为条件表达式不成立而自然结束(不是因为执行了break语句而结束),则执行else结构中的语句

• 如果循环是因为执行了break语句而导致循环提前结束,则不执行else中的语句


while

test1

:

statement1


if

test2

: break

# Exit loop now, skip “else”below


if

test3

: continue

# Go to top of loop now, to test1

statement2

else:

statement3             # Run if we didn’t hit a”break”

(4)for循环

• for循环可以遍历可迭代对象的项目,如一个列表或者一个字符串。这种遍历称为迭代(Iteration)。

• 优先使用for循环而非while循环


for


<

variable

>


in


<

sequence

>:


<

statements

>


else


:


<

statements

>

• 如果需要遍历数字序列,可以使用内置range()函数。它会生成数列。

5.4其他语句

pass语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句(如果不加pass将会报错)。

一个什么都不做的if语句:

iftrue

:

pass #do nothing

else

:

pass #do something

一个空类:

class aa:

pass

a = aa()



版权声明:本文为Dramaturgy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。