Python 技巧

来源:互联网 发布:excel数据库教程 编辑:程序博客网 时间:2024/06/05 09:46

一、%r:可替代 %s、%d 等

>>> s = 'abc'>>> i = 1>>> '%r is %r' % (s, i)"'abc' is 1">>> '%r is %r' % (i, s)"1 is 'abc'"

二、元组拆包

  • 元组在Python中的作用:不可变的列表;无名称的字段的记录
  • 任何可迭代元素均可使用元组拆包
  • 用途
    1. 平行赋值
    2. *tuple 作为函数参数
>>> from math import hypot>>> data = (3,4)>>> hypot(*data)5.0
  1. 函数以元组形式返回多个值
  2. _占位符,*处理剩余元素(可为空)

三、namedtuple

  • 构建有名字的类
  • 构建带字段名的元组
>>> from collections import namedtuple>>> People = namedtuple('People', 'name sex age')>>> man = People('wang', 'man', 15)>>> manPeople(name='wang', sex='man', age=15)>>> man.name'wang'# 三个常用的属性、方法:_fields、_make()、_asdict()>>> data = ('lin', 'woman', 22)>>> woman = People._make(data)  # 使用元组快速构建>>> womanPeople(name='lin', sex='woman', age=22)>>> woman._asdict()  # 以一种友好的方式输出OrderedDict([('name', 'lin'), ('sex', 'woman'), ('age', 22)]) >>> woman._fields('name', 'sex', 'age') # 显示People的所有属性

四、字典推导

In [8]: codes = [(86, "China"),   ...: (91, 'India'),   ...: (1, 'United States'),   ...: (62, 'Indonestia'),   ...: (81, 'Japan')   ...: ]In [9]: country_code = {country: code for code,country in codes}In [10]: country_codeOut[10]: {'China': 86, 'India': 91, 'Indonestia': 62, 'Japan': 81, 'United States': 1}
原创粉丝点击