python中的语句:

赋值语句

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if)配合使用。

for语句,遍列列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。

while语句,当条件为真时,循环运行语句块。

try语句。与except, finally, else配合使用处理在程序运行中出现的异常情况。

class语句。用于定义类型。

def语句。用于定义函数和类型的方法。

pass语句。表示此行为空,不运行任何操作。

assert语句。用于程序调适阶段时测试运行条件是否满足。

with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加锁,然后在语句块运行退出后释放锁。

yield语句。在迭代器函数内使用,用于返回一个元素。

raise语句。抛出一个异常。

import语句。导入一个模块或包。常用写法:from module import name, import module as name, from
module import name as anothername

特别说明,以上划分也不是很严格,有的内容,有的朋友不认为属于语句。这没关系,反正就是那个东西,在编程中使用。不纠结于名词归类上。总之这些都是要掌握的,才能顺利编程呢。

赋值语句

实例:

>>> hiekay = 1

>>> python = 2

>>> x, y = hiekay, python #相当于x=hiekay,y=python

>>> x

1

>>> y

2

>>> x, y #输出的是tuple

(1, 2)

>>> [x, y] #这就是一个list

[1, 2]

>>> [a, b] = [hiekay, python]

>>> a

1

>>> b

2

>>> a, b

(1, 2)

>>> [a, b]

[1, 2]

换一种方式,以上两种赋值方法交叉组合一下:

>>> [c, d] = hiekay, python

>>> c

1

>>> d

2

>>> c, d

(1, 2)

>>> f, g = [hiekay, python]

>>> f

1

>>> g

2

>>> f, g

(1, 2)

居然也行。其实,赋值,就是对应着将左边的变量和右边的对象关联起来。

有这样一个有趣的问题,如果a=3,b=4,想把这两个变量的值调换一下,也就是a=4,b=3。在有的高级语言中,是要先引入另外一个变量c做为中间变量:

a = 3

b = 4

c = a #即c=3

a = b #a=4

b = c #b=3

python 更牛逼,不需要中间变量:

>>> hiekay = 100

>>> python = 200

>>> hiekay, python = python, hiekay

>>> hiekay

200

>>> python

100

神奇吧。

序列赋值

其实上面实验的赋值,本质上就是序列赋值。如果左边的变量是序列,右边的对象也是序列,两者将一一对应地进行赋值。

>>> [a, b, c] = (1, 2, 3) #左右序列一一对应,左边是变量,右边是对象

>>> a

1

>>> b

2

>>> c

3

>>> (a,b,c) = [1,2,3]

>>> a

1

>>> b

2

>>> c

3

>>> [a,b,c] = "kay" #不要忘记了,str也是序列类型的数据

>>> a

"k"

>>> b

"a"

>>> c

"y"

>>> (a,b,c) = "kay"

>>> a,c

("k", "y")

>>> a,b,c = "kay" #与前面等价

>>> a,b

("k", "a")

>>> a,b = "kay" #报错了,因为左边和右边不是一一对应

Traceback (most recent call last):

File "", line 1, in

ValueError: too many values to unpack

>>> (a,b),c = "hi","kay" #注意观察,这样的像是是如何对应的

>>> a,b,c

("h", "i", "kay")

>>> string = "hiekay"

>>> a,b,c = string[0],string[1],string[2] #取切片也一样

>>> a,b,c

("h", "i", "e")

>>> (a,b),c = string[:2],string[2:]

>>> a,b,c

("h", "i", "ekay")

总结: 变量与值 一一对应 .

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信