返回介绍

十八、技巧

发布于 2024-06-12 23:50:11 字数 1216 浏览 0 评论 0 收藏 0

查看命令信息

// 例如
help(filter)

列表中取出符合条件的元素

// 取出大于 5 的元素

arr = [1,2,3,4,5,6,7,8]

arr1 = filter(lambda x: x>5, arr)

// 转化为列表
list(arr1)

列表推导式

代替 for 和 if 嵌套循环。最常用的方式

// for 循环列子
list = []

for x in range(10):
 if x % 2 == 0:
    list.append(x*x)
// 等价于上面写法
[x*x for x in range(10) if x%2 == 0]

字典推导式

// 一般写法
d = {}
for i in 'xxx':
  d[i] = i
 
// 字典推导写法
{i:i for i in 'xxx'}

文件读取

# f = open('test.txt',encoding='utf-8')

# data = f.readlines()
# for line in data:
#   print(line.strip('\n'))
  
# f.close()

# 推荐用 with 处理
with open('test.txt') as f:
  for line in f.readlines():
    print(line.strip('\n'))

函数作用域

def test():
    global a // 定义一个全局变量

装饰器

本质是返回一个闭包

def log(func):
    def wrapper():
        print('start')
        func()
        print('end')
    return wrapper
    
@log
def test():
    print('测试')

交换两个变量

>>> x = 10
>>> y = 20
>>> x,y = y,x

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文