学习 Python 之 变量与运算符
python变量
1. 定义变量
变量由字母数字下划线组成, 但是不能以数字开头
>>> a = "123"
2. 值类型与引用类型
值类型: int, float, str, tuple
引用类型: list, dict, set
3. 声明变量类型
类型 | 解释 | 包 |
---|---|---|
int |
整数 | – |
float |
浮点数 | – |
str |
字符串 | – |
bool |
布尔 | – |
bytes |
字节 | – |
any |
任何数据类型 | – |
... |
与之前类型相同 | – |
List[] |
列表 | typing |
Dict[] |
字典 | typing |
Tuple[] |
元组 | typing |
Set[] |
集合 | typing |
Python是动态语言, 变量不用声明类型即可使用, 但是也可以声明
声明是方便读者看的, 实际类型不一定
name: str = "小明"
age: int = 18
score: float = 4.3
# 可以这么做, 声明只是方便读者阅读
age = "123"
使用Python库声明变量类型
from typing import List, Set, Dict, Tuple
t: Tuple[bytes] = (b"011",)
t1: Tuple[int, int] = (1, 3)
t2: Tuple[int, ...] = (1, 23, 99)
print(t, t1, t2)
s: Set[str] = {"a", "b", "c"}
s1: Set[bool] = {True, False, True}
print(s, s1)
python运算符
1. 算数运算符
算数运算符 | 作用 | 例子 |
---|---|---|
+ |
加 | |
- |
减 | |
* |
乘 | |
/ |
除 | |
// |
地板除 | |
% |
求余数 | |
** |
平方 | 2**2 表示2的平方 |
/ 与 // 的区别
- / 是除法, 结果是float
>>> 2/2
1.0
>>> 3/4
0.75
- // 是先做除法, 然后向下取整, 至少有一方是float型时,结果为float型; 两个数都是int型时, 结果为int型
>>> 2//2
1
>>> 2//0.5
4
2. 取值运算符
取值运算符 | 作用 |
---|---|
= |
赋值 |
+= |
先加再赋值 |
-= |
先减再赋值 |
*= |
先乘再赋值 |
/= |
先除再赋值 |
//= |
先地板除再赋值 |
%= |
先求余数再赋值 |
**= |
先平方再赋值 |
3. 逻辑运算符
逻辑运算符 | 作用 | 例子 |
---|---|---|
and |
且 | |
or |
或 | |
not |
非 |
正数和浮点数为0被认为是False
空序列被认为是False
4. 成员运算符
成员运算符 | 作用 |
---|---|
in |
在 |
not in |
不在 |
判断一个元素是否在一组元素中, 对于字典, 判断key
5. 身份运算符
身份运算符 | 作用 | 例子 |
---|---|---|
is |
是 | |
not is |
不是 |
用来判断变量的内存地址是否相同
使用 id()
函数获取内存地址
6. 关系运算符
关系运算符 | 作用 |
---|---|
== |
等于 |
!= |
不等于 |
>= |
大于等于 |
<= |
小于等于 |
> |
大于 |
< |
小于 |
元组、列表、字符串、都支持, 他们都是一次比较元素的值, 不相等就比出来了
>>> (1, 2, 3) > (6,)
False
7. 位运算符
位运算符 | 作用 |
---|---|
& |
且 |
“` | “` |
^ |
异或 |
~ |
非 |
<< |
左移 |
>> |
右移 |
运算符优先级
8. 类型判断
使用 isinstance()
函数
>>> isinstance(2, int)
True
>>> isinstance(2, (int, str, list))
True
使用 type()
和 ==
>>> type(2) == int
True
9. 海象运算符
:=
用于省略重复计算
可以使用在if中, 使得函数调用的值赋给一个变量, 同时进行条件判断操作, 省去了在外定义变量
使用前:
a = "Python"
l = len(a)
if l > 5:
print(l)
使用后
a = "Python"
if l := len(a) > 5:
print(l)
结果:
6
另一种用法
def add(a, b):
return a + b
l = [r := add(3, 3), r ** 2, add(r, r)]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/122791.html