• Python学习week4-python的封装与解构


    1、python的封装与解构

    1.1、封装

    # 封装是将默认一些操作封装为某种数据结构;

    • 将多个值使用逗号分割,组合在一起;
    • 本质上返回一个元组,只是省略了小括号;
    • pyhton的语法特性,被其他语言借鉴;
    t1=(1,2) # 定义元组
    t2=1,2  # 将1和2封装成元组

    1.2、解构

    # 把线性数据的元素解开,并顺序的赋值给其他变量;

    # 左边接收的变量数要和右边解开的元素个数一致;

    lst=[1,2,3]
    a,b,c=lst
    print(a,b,c) # ==> 1 2 3
    
    a,b={'x':1,'y':2}
    print(a,b) # ==> x y
    
    # a,b={1,2,3} # 报错too many values to unpack (expected 2)
    # print(a,b)
    
    [a,b]=1,2
    print(a,b) # ==> 1 2
    
    # 使用*变量名接收,但不能单独使用
    # 被*变量名接收后组成一个列表
    lst=list(range(5))
    a,*b,c=lst
    print(a,b,c) # ==> 0 [1, 2, 3] 4

    1.3、丢弃变量

    # 丢弃变量:是一个不成文的约定,并不是标准;如果不关心一个变量(或者不需要调用它)就可以定义该变量的名字为'_';

    # '_'是一个合法的标识符,也可以作为一个有效的变量使用;

    lst=list(range(5))
    a,*_,c=lst
    
    print(a,c) # ==>0 4
    print(_) # ==> [1, 2, 3]

    # 练习:实现冒泡和选择排序(基本实现)

    l=[1,9,8,5,6,7,4,3,22]
    for i in range(len(l)):
        flag=False
        for j in range(len(l)-1):
            if l[j]>l[j+1]:
                l[j],l[j+1]=l[j+1],l[j]
                flag=True
        if not flag:
            break
    
    print(l)
    
    '''
    运行结果:
    [1, 3, 4, 5, 6, 7, 8, 9, 22]
    '''
    for i in range(len(l)):
        maxindex=i
        for j in range(i+1,len(l)):
            if l[j] > l[maxindex]:
                maxindex=j
        if maxindex !=i:
            l[i],l[maxindex]=l[maxindex],l[i]
    
    print(l)
  • 相关阅读:
    一次线上bug引起的反思
    本地调试接口返回信息不对 以及 jar冲突问题
    404问题记录
    Intelij IDEA 配置Tomcat时找不到 “Application Server”
    java多线程处理问题
    DataTemplate和ControlTemplate的关系
    WP模板
    wp中的动画
    wp中的位图
    2013.7.22-7.28开发资料汇总
  • 原文地址:https://www.cnblogs.com/soulgou123/p/9494315.html
Copyright © 2020-2023  润新知