Python运算符和结构

# 运算符

## 基本运算符

算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除。下表列出了Python支持所有基本算术运算符。

| 运算符 | 说明                                            | 实例        | 结果      
| ------ | ----------------------------------------------- | ----------- | --------- 
| +      | 加 - 两个对象相加                               | 12.45 + 15  | 27.45     
| -      | 减 - 得到负数或是一个数减去另一个数             | 4.56 - 0.26 | 4.3       
| *      | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | 5 * 3.6     | 18.0      
| /      | 除 - x除以y(和数学中的规则一样)               | 7 / 2       | 3.5       
| //     | 整除(只保留商的整数部分)                      | 7 // 2      | 3         
| %      | 取余,即返回除法的余数                          | 7 % 2       | 1         
| **     | 幂运算/次方运算,即返回 x 的 y 次方             | 2 ** 4      | 16

## 比较运算符

比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)。

| 比较运算符 | 说明                                                         
| ---------- | ------------------------------------------------------------ 
| >          | 大于,如果`>`前面的值大于后面的值,则返回 True,否则返回 False。 
| <          | 小于,如果`<`前面的值小于后面的值,则返回 True,否则返回 False。 
| ==         | 等于,如果`==`两边的值相等,则返回 True,否则返回 False。    
| >=         | 大于等于(等价于数学中的 ≥),如果`>=`前面的值大于者等于后面的值,则返回 True,否则返回 False。 
| <=         | 小于等于(等价于数学中的 ≤),如果`<=`前面的值小于或者等于后面的值,则返回 True,否则返回 False。 
| !=         | 不等于(等价于数学中的 ≠),如果`!=`两边的值不相等,则返回 True,否则返回 False。 
| is         | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 
| is not     | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 

多变量赋值:

```python
x , y, z= 30, 20, 10
x = y = z = 10
```

# 赋值运算符

赋值运算符用来把右侧的值传递给左侧的变量(或者常量);可以直接将右侧的值交给左侧的变量,也可以进行某些运算后再交给左侧的变量,比如加减乘除、函数调用、逻辑运算等。

| 运算符 | 说 明            | 用法举例 | 等价形式                              
| =      | 最基本的赋值运算 | 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                            
| &=     | 按位与赋值       | x &= y   | x = x & y                                         

## 逻辑运算符

高中数学中我们就学过逻辑运算,例如 p 为真命题,q 为假命题,那么“p且q”为假,“p或q”为真,“非q”为真。

| 逻辑运算符 | 含义                           | 基本格式 | 说明  
| and        | 逻辑与运算,等价于数学中的“且” | a and b  | 当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。 
| or         | 逻辑或运算,等价于数学中的“或” | a or b   | 当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。 
| not        | 逻辑非运算,等价于数学中的“非” | not a    | 如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。 

基本示例

```python
print(True and False)  # False
print(True or False)   # Ture
```

什么情况下是False

```python
print(1 or False)
# 在python中Ture是1,False是0
print('int(True):'+str(int(True)))
print('int(False):'+str(int(False)))
# 在python中0表示False
print('bool(0):'+str(bool(0)))
print('bool(1):'+str(bool(1)))
print('bool(2):'+str(bool(2)))
print('bool(3):'+str(bool(3)))
# 在python中没有null,只有None,而None也是False
print('bool(none):'+str(bool(None)))
```

# 位运算符

Python位运算按照数据在内存中的二进制位(Bit)进行操作,它一般用于底层开发(算法设计、驱动、图像处理、单片机等),在应用层开发(Web 开发、Linux 运维等)中并不常见。

| 位运算符 | 说明     | 使用形式 | 举 例      
| &        | 按位与   | a & b    | 4 & 5                            
| \|       | 按位或   | a \| b   | 4 \| 5                           
| ^        | 按位异或 | a ^ b    | 4 ^ 5                            
| ~        | 按位取反 | ~a       | ~4                               
| <<       | 按位左移 | a << b   | 4 << 2,表示整数 4 按位左移 2 位 
| >>       | 按位右移 | a >> b   | 4 >> 2,表示整数 4 按位右移 2 位 

- **按位与运算符**:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。

- **按位或运算符**: 只要对应的二个二进位有一个为1时,结果位就为1。

- **按位异或运算符**:当两对应的二进位相异时,结果为1

- **左移动运算符**:运算数的各二进位全部左移若干位,由右边的数字指定了移动的位数,高位丢弃,低位补0。

- **右移动运算符**:把左边的运算数的各二进位全部右移若干位,右边的数字指定了移动的位数 

# 三元运算符

Python提供了一种更加简洁的写法,如下所示:

```python
max = a if a>b else b
```

这是一种类似于其它编程语言中三目运算符`? :`的写法。Python 是一种极简主义的编程语言,它没有引入`? :`这个新的运算符,而是使用已有的 if else 关键字来实现相同的功能。

使用 if else 实现三目运算符(条件运算符)的格式如下:

```
exp1 if condition else exp2
```

condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。
 

在Python中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句。  

```python
# 0=剪刀 1=石头 2=布
nums = ["剪刀","石头","布"]
# 你出的
ops = int(input("请输入剪刀石头布:"))
# 电脑出的
cpu = random.randint(0,2)
# 计算必赢结果
win = ops + 1
win = 0 if win == 3 else win
print("你出%s,电脑出%s" %(nums[ops],nums[cpu]))
if cpu==win:
    print("电脑赢了")
elif ops == cpu:
    print("平局")
else:
    print("你赢了")
```
 

# 循环结构

## for循环

Python中的循环语句有 2 种,分别是 while 循环和 for 循环,而for循环它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 循环的语法格式如下:

```python
for 迭代变量 in 字符串|列表|元组|字典|集合:
    代码块
```

示例:通过for循环计算100以内的和

```python
sum = 0
for i in range(100):
    print(i)
    sum+=i+1
print(sum)
```

## while循环

而while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。

while 语句的语法格式如下:

```python
while 条件表达式:
    代码块
```

这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。

while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块...如此循环,直到条件表达式的值为假(False),才终止循环。  

```python
sum = 0  # 求和
num = 0  # 当前数值
while num <= 100:
    sum += num
    num = num + 1
    break
else:
    print("OK")
print(sum)
```

> 无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值