前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python 变量与运算符 (2020最新)

Python 变量与运算符 (2020最新)

作者头像
Gorit
发布2021-12-08 21:22:06
发布2021-12-08 21:22:06
30600
代码可运行
举报
运行总次数:0
代码可运行

抽时间把之前写的不好的一篇文章改成使用 markdown 语法重新梳理一下, 简单粗暴梳理

一、变量

1.1 变量使用要求

  • 使用变量之前需要赋值
  • 变量名可以包括字母、数字、下划线、但变量名称不能以数字开头
  • Ptrhon 变量是大小写敏感的

1.2 变量示例

代码语言:javascript
代码运行次数:0
复制
a = "123"
print(a) # 123
代码语言:javascript
代码运行次数:0
复制
b = 2
c = 3
a = b + c
print(a) # 5

二、运算符

2.1 注释

很多语言都支持注释,Python 也不例外

Python 中的注释包含

  1. 单行注释
  2. 多行注释
代码语言:javascript
代码运行次数:0
复制
# 我是单行注释,单行注释使用 # 即可
print("Hello World")

# Hello World

Python 中多行注释 ‘’’ ‘’’ or “”" “”"

代码语言:javascript
代码运行次数:0
复制
'''
	我是多行注释
'''

"""
    我是多行注释
"""

2.2 算数运算符

操作符

名称

示例

+

1+1

-

3-4

*

4*5

/

9/3

//

整除

3//4 (不保留小数点)

%

取余

3%4

**

2**3 (2的三次幂)

代码语言:javascript
代码运行次数:0
复制
print(1+1)
print(3-2)
print(4*5)
print(3/4)
print(3//4)
print(4%3)
print(5**3)

# 2
# 1
# 20
# 0.75
# 0
# 1
# 125

2.3 比较运算符

操作符

名称

示例

>

大于

2 > 1

>=

大于等于

2 >= 4

<

小于

1 < 2

<=

小于等于

5 <= 2

==

等于

3 == 4

!=

不等于

3 != 5

代码语言:javascript
代码运行次数:0
复制
print(2 > 1)  # True
print(2 >= 4)  # False
print(1 < 2)  # True
print(5 <= 2)  # False
print(3 == 4)  # False
print(3 != 5)  # True

2.4 逻辑运算符

  • and 同真与为真
  • or 同假或为假
  • not 取反

操作符

名称

示例

and

(3 > 2) and (3 < 5)

or

(1 > 3) or (9 < 2)

not

not (2 > 1)

代码语言:javascript
代码运行次数:0
复制
print((3>2) and (3<5)) # True
print((2<1) or (2>4)) # False
print(not (2>3)) # True

2.5 位运算符

操作符

名称

示例

~

按位取反

~4

&

按位与

4 & 5

|

按位或

4 | 5

^

按位异或

4 ^ 5

<<

左移

4 << 2

>>

右移

4 >> 2

代码语言:javascript
代码运行次数:0
复制
'''
    按位取反的操作是在原数字的基础加1,然后取反
    比如 4 -> 5  再去取反 得到 -5
    比如 -4 -> -3 再去取反 得到 3
'''
a = 4
b = 5
print(bin(a),bin(b)) # 0b100 0b101
print(bin(~a),~a) # -0b101 -5
print(~4,~(-4)) # -5 3

'''
    按位与:
    将数字转换为 二进制,然后每一位进行对比,只有同为 1 的时候,当前位置的值不会变化
'''

a = 4
b = 5
print(bin(a),bin(b)) # 0b100 0b101   => 0b100
print(a&b) # 4

'''
    按位或  |
    和按位与相反,只有不同的时候,数字才保留
'''

a = 7
b = 3

print(bin(a),bin(b)) # 0b111 0b11 => 0b100
print(a|b)  # 7


'''
    按位异或 ^
    只有 相同位置对应的不一样,结果才为 1
'''
a = 6
b = 3

print(bin(a),bin(b)) # 0b110 0b11  
print(a^b) # 5

a^=b
b^=a
a^=b

print(a,b) # 3 6


'''
    移位:对二进制操作
    <<

    >>
'''

a = 3

print(a<<1) # 3 * 2 = 6
print(a<<2) # 3 * (2**2) = 3 * 4 = 12
print(a<<3) # 3 * (2**3) = 3 * 8 = 24


b = 8
print(8>>1)  # 8/2  =  4
print(8>>2)  # 8/(2**2) = 2
print(8>>3)  # 8/(2**3) = 1

2.6 三元运算符

Python 中的三元运算符有一点点不一样哦

代码语言:javascript
代码运行次数:0
复制
a = 123
b = 321

# if a
#     small = a
# else:
#     small = b

# 三元运算符
small = a if a<b else b

print(small)

2.7 其他运算符

操作符

名称

示例

in

存在

'A' in ['A', 'B', 'C']

not in

不存在

'h' not in ['A', 'B', 'C']

is

"hello" is "hello"

not is

不是

"hello" is not "hello"

  • in 、not in 的使用
代码语言:javascript
代码运行次数:0
复制
words = ['A','B','C']
if 'A' in words:
    print('A' + ' exists')
if 'D' not in words:
    print('D'+ ' exists')

A exists
D exists
  • is、not is 的使用

比较两个变量均指向不可变类型

代码语言:javascript
代码运行次数:0
复制
a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False

比较两个变量指向可变类型

代码语言:javascript
代码运行次数:0
复制
a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False

解答

  • is,is not 对比两个变量的内存地址
  • ==, != 对比的是两个白那辆的值
  • 对比两个变量,指向的都是地址不可变类型(str 等),那么is,is not 和 ==,!= 是完全等价的
  • 对比的两个变量,指向的是地址可变类型(list,dict,tuple等),则两者是有区别的。

2.8 运算符优先级

  • 一元运算符优于二元运算符,例如 2** -3 等价于 3 ** (-2)
  • 先算数运算,后移位运算符,最后位运算,例如 1<<3 + 2&7 等价于 1<<(3+2))&7
  • 逻辑运算符后结合,例如 3<4 and 4<5 等价于 (3<4) and (4<5)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抽时间把之前写的不好的一篇文章改成使用 markdown 语法重新梳理一下, 简单粗暴梳理
  • 一、变量
    • 1.1 变量使用要求
    • 1.2 变量示例
  • 二、运算符
    • 2.1 注释
    • 2.2 算数运算符
    • 2.3 比较运算符
    • 2.4 逻辑运算符
    • 2.5 位运算符
    • 2.6 三元运算符
    • 2.7 其他运算符
    • 2.8 运算符优先级
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档