python 封装和解构

本文介绍了Python中封装和解构的基本概念与实用技巧。封装是将多个值组合在一起的过程,而解构则是将组合的数据结构拆解并赋值给多个变量的方法。文章通过实例演示了如何使用这些技巧,并解释了一些注意事项。

封装

将多个值使用多好分割,组合在一起
本质上,返回一个元祖,只是省掉了小括号

t1 =(1,2)  #定义为元组
t1 =1,2  #将1和2封装为元组

解构

把线性解构的元素解开,病顺序赋给其他变量
左边接纳的变量数要和右边解开的元素一致

lst = [3,5]
first ,second =lst
print(first,second) ->3,5

  • 举例

    a,b = 1,2
    a,b = (1,2)
    a,b = [1,2]
    a,b = [10,20]
    a,b = {10,20}
    a,b = {‘o’:10,‘s’:20}    # 非线性结构也可以解构    a->‘o’    b->‘s’
    a,b = {10,20,30}
    a,*b = {10,20,30}
    [a,b] = (1,2)
    [a,b] = 10,20
    (a,b) = {30,40}
    a,b=‘xy’     ->    a=‘x’; b=‘y’

  • 注意

    使用 *变量名 接收,但不能单独使用
    被 *变量名 收集后组成一个列表

    lst = list(range(10))    head=0  mid=[1,2,3,4,5,6,7,8]  tail=0
    head,*mid,tail = lst    head=1  mid=[1,2,3,4,5,6,7,8]  tail=9
    *lst2 =lst   ->错误,*lst2相当于标识符,不能用*开头
    *body, tail = lst     body->[0,1,2,3,4,5,6,7,8]  tail->9
    head, *tail = lst   head->0  taile->[1,2,3,4,5,6,7,8,9]
    head, *m1, *m2, tail = lst    #这种写法错误,不能使用多个*
    head, *mid, tail = “abcdef”  head=‘a’   mid=[‘b’,‘c’,‘d’,'e;]    tail=‘f’
    type(mid) ->list

丢弃变量

* 如果不关心一个变量,就可以定义改变量的名为_  
* _是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用

,*,t=list(range(10))
print(_)   ->[1,2,3,4,5,6,7,8]   #第二个下划线覆盖第一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值