python替代if
时间: 2023-07-03 18:27:15 浏览: 61
在 Python 中,可以使用字典来替代 if 语句。具体方法是将每个条件作为字典的键,将对应的值作为执行该条件时要执行的代码。然后使用字典的 get 方法来获取要执行的代码并执行。
举个例子,假设我们要根据不同的输入值执行不同的代码:
```
def func1():
print("This is function 1.")
def func2():
print("This is function 2.")
def func3():
print("This is function 3.")
input_value = "value1"
if input_value == "value1":
func1()
elif input_value == "value2":
func2()
else:
func3()
```
可以使用字典来实现相同的功能:
```
def func1():
print("This is function 1.")
def func2():
print("This is function 2.")
def func3():
print("This is function 3.")
input_value = "value1"
conditions = {
"value1": func1,
"value2": func2,
"default": func3
}
result = conditions.get(input_value, conditions["default"])()
```
在这个例子中,我们首先定义了三个函数 func1、func2 和 func3,然后定义了一个 conditions 字典,其中包含了三个键值对。键 "value1" 和 "value2" 分别对应 func1 和 func2 函数,表示当输入值为 "value1" 或 "value2" 时,应该执行相应的函数。而键 "default" 对应 func3 函数,表示当输入值不为 "value1" 或 "value2" 时,应该执行 func3 函数。
最后,我们通过 get 方法获取要执行的函数并执行。如果输入值在字典中存在对应的函数,则获取到的值是该函数;否则获取到的值是 default 键对应的函数 func3。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)