Python语法和注意点

2019-12-22  本文已影响0人  wangyu2488

2019年11月17日

一.元组 ()不可以修改 tuple

a = (21, 32, 43, 45)

二.列表 [] 可以修改 list 可以重复

n_list = []
for x in range(10):
    if x % 2 == 0:
        n_list.append(x ** 2)
print(n_list)

三.集合 {} set 不可重复

n_set = {x for x in range(100) if x % 2 == 0 if x % 5 == 0}
print(n_set)

四.字典 {} dict { key value}

2019年11月27日

1.字符串格式化

image.png
print("a | b = {0:b}".format(a | b))  # 0b11111110

2.终端命令参数输入


image.png

3.三元运算符

result = '及格' if score >= 60 else '不及格'

4.列表推导式

n_list = [x for x in range(100) if x % 2 == 0 if x % 5 == 0]
# 字典 推导式
input_dict = {'one': 1, 'two': 2, 'three': 3, 'four': 4}

output_dict = {k: v for k, v in input_dict.items() if v % 2 == 0}
print(output_dict)

keys = [k for k, v in input_dict.items() if v % 2 == 0]
print(keys)

5.生成器 yield

# 生成器  yield   不直接返回所有数据,而是返回一个生成器对象(一种可迭代的对象)  __next__()
def square(num):
    for i in range(1, num + 1):
        yield i * i

for i in square(5):
    print(i, end=' ')

二.Lambda表达式就是 函数类型

1.未使用之前

# 函数类型返回
def calculate_fun(opr):
    # 定义相加函数
    def add(a, b):
        return a + b
    # 定义相减函数
    def sub(a, b):
        return a - b
    if opr == '+':
        return add
    else:
        return sub

f1 = calculate_fun('+')
f2 = calculate_fun('-')

print(type(f1))

print("10 + 5 = {0}".format(f1(10, 5)))
print("10 - 5 = {0}".format(f2(10, 5)))

2.使用Lambda表达式 Lambda体 只能有一条语句

def calculate_fun(opr):
    if opr == '+':
        return lambda a, b: (a + b)
    else:
        return lambda a, b: (a - b)

f1 = calculate_fun('+')
f2 = calculate_fun('-')

print(type(f1))

print("10 + 5 = {0}".format(f1(10, 5)))
print("10 - 5 = {0}".format(f2(10, 5)))

3.三大基础函数

from functools import reduce

# 1.filter()  过滤
users = ['Tony', 'Tom', 'Ben', 'Alex']

users_filter = filter(lambda u: u.startswith('T'), users)
print(list(users_filter))

number_list = range(1, 11)
nmber_filter = filter(lambda it: it % 2 == 0, number_list)
print(list(nmber_filter))

# 2.map()  映射
users_map = map(lambda u: u.lower(), users)
print(list(users_map))

# users_map = map(lambda u: u.lower(), users_filter)
users_map = map(lambda u: u.lower(), filter(lambda u: u.startswith('T'), users))

print(list(users_map))

# 3.reduce()  聚合
a = (1, 2, 3, 4)
a_reduce = reduce(lambda acc, i: acc + i, a)  # 10
# a_reduce = reduce(lambda acc, i: acc + i, a, 2)  # 12
print(a_reduce)

如果您发现本文对你有所帮助,如果您认为其他人也可能受益,请把它分享出去。

上一篇下一篇

猜你喜欢

热点阅读