python代码优化 减少if else
时间: 2024-01-10 16:20:32 浏览: 140
在Python中,可以使用一些技巧来减少if-else语句的使用,从而提高代码的可读性和维护性。以下是一些常用的方法:
1. 使用字典映射代替多个if-else语句:
```python
def get_discount(code):
discounts = {
'SALE20': 0.2,
'SALE30': 0.3,
'SALE50': 0.5
}
return discounts.get(code, 0)
discount = get_discount('SALE30')
print(discount) # 输出:0.3
```
2. 使用多态来替代if-else语句:
```python
class Animal:
def sound(self):
pass
class Dog(Animal):
def sound(self):
print("Woof!")
class Cat(Animal):
def sound(self):
print("Meow!")
def make_sound(animal):
animal.sound()
dog = Dog()
cat = Cat()
make_sound(dog) # 输出:Woof!
make_sound(cat) # 输出:Meow!
```
3. 使用列表推导式或生成器表达式来过滤数据:
```python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 使用列表推导式
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # 输出:[2, 4, 6, 8, 10]
# 使用生成器表达式
even_numbers_gen = (num for num in numbers if num % 2 == 0)
print(list(even_numbers_gen)) # 输出:[2, 4, 6, 8, 10]
```
这些方法可以帮助你减少if-else语句的使用,使代码更加简洁和易于理解。
阅读全文