通过菜鸟和牛客已经了解过基础语法了,本篇只记录不了解的新名词和觉得好的总结点。了解方式为跟GPT KIMI的对话,让GPT以我能理解的方式进行解答,并收录其回答的内容。
三元运算符
三元运算符是编程语言中的一种条件运算符,用于基于条件表达式的结果选择两个值中的一个。在Python中,三元运算符由三个部分组成:条件表达式、问号(`?`)和冒号(`:`)。其基本语法如下:
```python
a if condition else b
```
这里的`condition`是一个布尔表达式,`a`是当条件为真(True)时的返回值,而`b`是当条件为假(False)时的返回值。
### 示例:
```python
x = 10
y = 5
result = "x大于y" if x > y else "x不大于y"
print(result) # 输出 "x大于y",因为 x 的值是 10,大于 y 的值 5
```
在这个例子中,我们比较了`x`和`y`的值。如果`x`大于`y`,`result`将被赋值为字符串`"x大于y"`;否则,将被赋值为字符串`"x不大于y"`。
三元运算符是简洁的条件表达式,常用于需要快速做出选择的情况。然而,当条件逻辑变得复杂时,使用传统的`if-else`语句可能更清晰易懂。
布尔表达式
布尔表达式是编程中用来表示逻辑条件的表达式,它最终的计算结果为布尔值:`True` 或 `False`。布尔表达式可以包含各种逻辑运算符,如比较运算符、逻辑运算符、位运算符等,以及变量、常量和其他表达式。
以下是一些常见的布尔表达式示例:
1. **比较运算符**:
- `==` 等于
- `!=` 不等于
- `>` 大于
- `<` 小于
- `>=` 大于等于
- `<=` 小于等于
```python
x = 5
y = 3
condition = x > y # True,因为 5 大于 3
```
2. **逻辑运算符**:
- `and`:逻辑与,两个条件都为 `True` 时结果为 `True`
- `or`:逻辑或,两个条件中至少有一个为 `True` 时结果为 `True`
- `not`:逻辑非,反转布尔值
```python
condition1 = x > 3
condition2 = y < 5
combined_condition = condition1 and condition2 # True,因为两个条件都为 True
```
3. **位运算符**(在某些情况下):
- 位运算符通常用于整数的位级操作,但它们也可以作为布尔表达式的一部分。
```python
a = 0b1101 # 二进制表示为 1101
b = 0b1011 # 二进制表示为 1011
condition = a & b != 0 # True,因为位与结果不是0
```
4. **成员资格运算符**:
- `in`:检查一个值是否存在于序列(如列表、元组、字符串等)中。
- `not in`:检查一个值不存在于序列中。
```python
numbers = [1, 2, 3, 4, 5]
condition = 3 in numbers # True,因为 3 在列表中
```
5. **身份运算符**:
- `is`:检查两个引用是否指向同一个对象。
- `is not`:检查两个引用是否不指向同一个对象。
```python
a = [1, 2, 3]
b = a
condition = a is b # True,因为 a 和 b 引用同一个列表对象
```
布尔表达式在控制流语句(如 `if`、`while`)中非常有用,它们帮助程序根据不同的条件执行不同的代码路径。
原码
原码是一种用计算机来表示数字的方式。就像我们用0、1、2、3等数字来数数一样,计算机用0和1来表示所有的数字。但是,计算机需要一种特别的方式来区分一个数字是正数还是负数。
原码就是这样一种方式:
- 最左边的一位,我们叫它“符号位”,用来表示数字是正数还是负数。如果是0,就表示这是一个正数;如果是1,就表示这是一个负数。
- 剩下的位,我们叫它们“数值位”,用来表示数字的大小。
比如:
- 正数3,在原码中表示为:0011
- 负数3,在原码中表示为:1011
这样,计算机就可以通过看最左边的位来知道这个数字是正的还是负的了。但是,计算机里还有其他更复杂的表示数字的方式,比如补码,它可以让计算机更快地做加减法。不过,原码是最基本的一种方式,也是最容易理解的。
Python标准警告总结¶
- Warning:警告的基类
- DeprecationWarning:关于被弃用的特征的警告
- FutureWarning:关于构造将来语义会有改变的警告
- UserWarning:用户代码生成的警告
- PendingDeprecationWarning:关于特性将会被废弃的警告
- RuntimeWarning:可疑的运行时行为(runtime behavior)的警告
- SyntaxWarning:可疑语法的警告
- ImportWarning:用于在导入模块过程中触发的警告
- UnicodeWarning:与Unicode相关的警告
- BytesWarning:与字节或字节码相关的警告
- ResourceWarning:与资源使用相关的警告
海象运算符
"海象运算符"(Walrus Operator)是 Python 3.8 引入的一个新特性,其符号是 `:=`。这个名称来源于其外观类似于海象的两个长牙。海象运算符主要用于在表达式内部进行变量赋值,同时保持代码的简洁。
在 Python 中,通常不允许在表达式中包含赋值操作,比如不能在 `if` 语句的条件部分直接赋值。但是,使用海象运算符,你可以在条件表达式中进行赋值和使用这个值,这在处理需要重复使用某个计算结果的场景时非常有用。
### 示例:
不使用海象运算符时,你可能需要这样写代码:
```python
# 计算列表的长度,然后检查长度是否大于 3
length = len(my_list)
if length > 3:
print(f"The list has more than 3 items: {length}")
```
使用海象运算符,你可以将赋值和条件判断合并到一行中:
```python
# 使用海象运算符在 if 条件中直接计算并使用列表的长度
if (length := len(my_list)) > 3:
print(f"The list has more than 3 items: {length}")
```
在这个例子中,`:=` 左边的 `length` 被赋值为 `my_list` 的长度,然后立即在 `if` 条件中使用这个值。
海象运算符可以用于任何需要在表达式中进行赋值的场景,比如循环、条件语句等,它使得代码更加紧凑和高效。