一、表达式的组成
在python中,表达式是由数字、运算符、变量和函数等组成的代码片段,可以被计算为一个值。以下是一些主要的组成部分。
1、字面量:这些是在代码中直接使用的特定值。例如,2、3.14、'hello'等。
2、变量:变量是用于存储值的标识符。例如,x=5中的x就是一个变量。
在这里穿插一下标识符的知识点:
标识符的概念:用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
标识符命名规则:
python中,标识符命名的规则主要有三类:
(1)内容限定
标识符命名中,只允许出现:英文、中文、数字、下划线(_)这四类元素,其他内容不被允许。注意命名是数字切不可放在开头,命名不推荐使用中文。
(2)大小写敏感
前一篇文章有提过,这就不多说啦~
(3)不可使用关键字
python中有一系列单词,称之为“关键字”,关键字在python中都有特定用途,不可以作为标识符。如下表关键字:
and as assert break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raise return True try while with yield
3、运算符:运算符用于对一个或多个值执行操作。例如,+、-、=、/等。
4、函数:函数是执行特定任务的代码块。Python有许多内置函数,如print()、len()等,也可以定义自定义函数 。
5、括号:括号用于改变运算的优先级。
以下是包含这些组成部分的表达式的例子:
x=4
y=7
z=x+y-5
print(z)
'''在这个例子中,x和y是变量,5和7是字面量,
+和-是运算符,print()是函数,整个x+y-5是
一个表达式,这个表达式被计算为一个值,然后
打印出来。'''
二、运算符
1、算术运算符
算术运算符是处理四则运算的符号,在数字的处理中应用的最多。常用的算术运算符如下表所示:
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 相加 | 5+8 | 13 |
- | 相减 | 15-7 | 8 |
* | 相乘 | 5*12 | 60 |
/ | 相除 | 30/6 | 5 |
% | 取余 | 7%2 | 1 |
// | 取整 | 7//2 | 3 |
** | 幂 | 2**3 | 8 |
2、赋值运算符
赋值运算符主要用来为变量等赋值。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量。在python中常用的赋值运算符如下表所示:
运算符 | 说明 | 实例 | 展开形式 |
---|---|---|---|
= | 简单的赋值运算 | x=y | x=y |
+= | 加赋值 | x+=y | x=x+y |
-= | 减赋值 | x-=y | x=x-y |
*= | 乘赋值 | x*=y | x=x*y |
/= | 除赋值 | x/=y | x=x/y |
%= | 取余数赋值 | x%=y | x=x%y |
//= | 取整数赋值 | x//=y | x=x//y |
**= | 幂赋值 | x**=y | x=x**y |
3、比较运算符
比较运算符,也称关系运算符,用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果返回为假,则返回False。比较运算符通常用在条件语句中作为判断的依据。Python中的比较运算符如下表:
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
> | 大于 | 'a'>'b' | False |
< | 小于 | 123<239 | True |
== | 等于 | 'c'='c' | True |
!= | 不等于 | 54!=77 | True |
>= | 大于或等于 | 479>=339 | True |
<= | 小于或等于 | 34<=11 | False |
4、逻辑运算符
逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and、or和not。
运算符 | 含义 | 用法 |
---|---|---|
and | 逻辑与 | a and b |
or | 逻辑或 | a or b |
not | 逻辑非 | not a |
5、位运算符
位运算符是程序设计中用来对二进制进行操作的一种运算符。位运算符只适用于字符型和整数型变量以及它们的变体,其结果可以取0或1以外的值。
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与运算符。参与运算的两个值, 如果两个相应位都为1,那么该位的结果就为1,否则为0 | 60&13输出结果为12,二进制为0000 1100 |
| | 按位或运算符。只要对应的两个二进制位有一个为1,结果就为1 | 60|13输出结果为61,二进制为0011 1101 |
^ | 按位异或运算符。当两个二进制位相异时,结果为1 | 60^13输出结果为49,二进制为0011 0001 |
~ | 按位异或运算符。对数据的每个二进制位取反,即把1变为0,0变为1 | ~60输出结果位-61,二进制为1100 0011 |
<< | 左移动运算符。将二进制位全部左移若干位,由"<<"右边的数移动指定的位数,高位丢弃,低位补0 | 60<<2输出结果为240,二进制为1111 0000 |
>> | 右移动运算符。将二进制位全部右移若干位,由">>"左边的数移动指定的位数,正数最高位补0,负数最高位补1,无符号数最高位补0 | 60>>2输出结果为15,二进制为0000 1111 |