python表达式

Python06

python表达式,第1张

表达式是什么?所有人都知道。“1+1=2”,这个“1+1”就是最典型的表达式

用来指定数据做哪种运算的符号是“运算符”,进行运算的数据称为“操作数”。例如:“2+3"中的“+”是运算符,“2”和“3”是操作数。

运算符根据操作数的个数分为单目运算符和双目运算符:

单目运算符,只有一个操作数,例如“-100”中 的“-”,单目运算符位于操作数的前面;

双目运算符,具有二哥操作数的运算符,例如“100-30”中的“-”,双目运算符位于二个操作数之间。

1、input命令

print命令用于输出数据,而input命令与print命令相反,它是让用户由“标准输入”设备输入数据,如果没有特别设置,标准输入设备是指键盘。input命令是非常常用的命令,比如,教师若要用电脑计算成绩,则首先要从键盘输入学生成绩。语法如下:

            变量 = input([提示字符串])

            用户输入的数据存储在指定的变量中。

            “提示字符串”表示输出一段提示信息,用来告诉用户如何输入。输入数据时,当用户按下Enter键后被认为是输入结束,input命令会把用户输入的数据存入变量中。

            例如,让用户输入数学成绩并输出程序:

2、运算符

python支持以下几种运算符(常用):

    算术运算符:用于执行普通数学运算的运算符

        例如:假设变量a = 10,变量b = 20

    关系运算符:用于二个表达式之间的比较,若比较结果为真,返回True;否则为False

        例如:假设变量a=10,变量b=20

            赋值运算符:先给变量赋值,在运算的运算符

                    例如:假设变量a=10,变量b=20

    逻辑运算符:用于逻辑运算的运算符

                例如:假设变量a=10,变量b=20

    按位运算符:把数字看成二进制来计算的

        例如:假设变量a = 60(换成二进制为111100), 变量b = 13(换成二进制为1101)

    运算符优先级:自上而下,依次升高

python正则表达式是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本。最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。

1950 年,数学家斯蒂芬·科尔·克莱尼利用称之为“正则集合”的数学符号来描述此模型。肯·汤普逊将此符号系统引入编辑器 QED,随后是 UNIX 上的编辑器 ed,并最终引入 grep。自此以后,正则表达式被广泛地应用于各种 UNIX 或类 UNIX 系统的工具中。目前,许多程序设计语言都支持利用正则表达式进行字符串操作。

正则表达式常用的特殊字符:

\:将下一个字符标记为一个特殊字符、一个原义字符(Identity Escape,有 "^"  "$"  "("   ")"  "*"  "+"  "{"  "|" 共计12个)、一个向后引用(backreferences)或一个八进制转义符。例如“n”匹配字符“n”,“\n”匹配一个换行符,“\\”匹配“\”,“\(”则匹配“(”。

^:匹配输入字符串的开始位置。如果设置了正则表达式的多行属性,“^”也可以匹配“\n”或“\r”之 后的位置。

[a-z]:字符范围,匹配指定范围内的任意字符。例如“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。

\s:匹配任何空白字符,包括空格、制表符、换页符等,等效于“[\f\n\r\t\v]”。注意 Unicode 正则表达式 会匹配全角空格符。

运算符和操作数一起构成表达式,操作数可以使用标识符表示,如a=3b=2c=a*bpython表达式是python程序最常见的代码。

Python代码由表达式和语句组成,并由Python解释器负责执行。(推荐学习:Python视频教程)

它们的主要区别是“表达式”是一个值,它的结果一定是一个Python对象。当Python解释器计算它时结果可以是任何对象。例如42,1+2,int(‘123’),range(10)等。

表达式的优先级

表达式是有优先级的,最简单的如我们赋值运算符中的数学算式:“0 * 1 + 2”和“0 + 1 * 2”结果一定不一样,在“0 + 1 * 2”中优先运算“1 * 2”。

当然并非是只有赋值运算才优先级,并且在各种运算符之间也有优先级。#在下面这个运算中,假设a、b、c都是ture值,因为and 的优先级大于 or ,所以最后结果是a#

>>>a or b and c

a

#在下面这个运算中,假设a、b、c、d都是ture值#

#因为 + 的优先级大于 and 大于 or ,所以最后结果是a + b的结果#

>>>a + b or c and d

a + b

#用括号表现优先级就是:先运行a + b,再运行c or d 得到 d ,最后运行(a+b) or d#

>>>(a + b) or (c and d)

a + b。