python

导航

python的表达式

来源 :中华考试网 2020-09-16

  Python的表达式写法与C/C++类似。只是在某些写法有所差别。

  主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。

  Python使用and, or, not表示逻辑运算。

  is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。

  Python支持“列表推导式”(list comprehension),比如计算0-9的平方和:

1
2
>>> sum(x * for in range(10))
285

  Python使用lambda表示匿名函数。匿名函数体只能是表达式。比如:

1
2
3
>>> add=lambda x, y : x + y
>>> add(3,2)
5

  Python使用y if cond else x表示条件表达式。意思是当cond为真时,表达式的值为y,否则表达式的值为x。相当于C++和Java里的cond?y:x。

  Python区分列表(list)和元组(tuple)两种类型。list的写法是[1,2,3],而tuple的写法是(1,2,3)。可以改变list中的元素,而不能改变tuple。在某些情况下,tuple的括号可以省略。tuple对于赋值语句有特殊的处理。因此,可以同时赋值给多个变量,比如:

1
>>> x, y=1,2 # 同时给x,y赋值,最终结果:x=1, y=2

  特别地,可以使用以下这种形式来交换两个变量的值:

1
>>> x, y=y, x #最终结果:y=1, x=2

  Python使用'(单引号)和"(双引号)来表示字符串。与Perl、Unix Shell语言或者Ruby、Groovy等语言不一样,两种符号作用相同。一般地,如果字符串中出现了双引号,就使用单引号来表示字符串;反之则使用双引号。如果都没有出现,就依个人喜好选择。出现在字符串中的\(反斜杠)被解释为特殊字符,比如\n表示换行符。表达式前加r指示Python不解释字符串中出现的\。这种写法通常用于编写正则表达式或者Windows文件路径。

  Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的类型有str, bytes, list, tuple等。它的语法是...[left:right]或者...[left:right:stride]。假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:

  nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。

  nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。

  nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。

  nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改变新的列表不会影响到nums。

  nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素,且步长为2。

分享到

相关资讯