python笔记3

线性结构:

一、

1、线性结构:可以迭代,for ...  in;len()可以获取长度;通过下标可以访问;可以切片

2、切片:

 1)、通过索引访问线性结构的一段数据;

  sequence[start:stop]表示返回[start,stop],start默认为0,stop默认为末尾,支持负索引;

  超过上界取末尾,超过下界取开头;

  start一定要在stop左边

  [:]表示从头至尾,全部元素被取出,等效于copy()方式

例:'jasdfajddffls'[4:10]

'hkjsdffilamsldff'[:]

'hhsakdjlfh'[4:22]

b'kasjdf;lfkosadf'[-49:10]

bytearray(b'weklfjhskfasdff')[-2:23]

tuple('wwkashfdfk')[-23:12]

list('wwaskljhf')[-23:1]

2)、步长切片

  [start:stop:step]

  step为步长,可以正,负整数,默认为1

  step要和start:stop同向,否则返回空序列;例如[-9:-10:-1]

shell命令:

!command是在ipython里面执行linux的shell命令

如:!ls -l

魔术方法:

1、用%开头的,ipython内置的特殊方法

        %是line magic,即只能控制一行

    %%是cell magic,notebook的cell,即可以控制一个cell(cell是程序输入的地方)

2、%alias定义一个系统命名的别名

  例:alias ll ls -l

3、%timeit statement(行magic,要接在后面,必须在一行内)

  参数:-n一个循环loop执行语句多少次

        -r循环执行了多少次loop,取最好的结果

4、%%timeit setup——code

  code....

封装和解构:(先封装后解构)

封装:

  将多个值使用逗号分隔,然后组合在一起

  本质上,返回一个元组,只是省掉了小括号

  python特有语法,被很多语言学习和借鉴

  例:t1=(1,2)#定义为元组

    t2=1,2 #将1和2封装成元组

解构:

 1、把线性结构的元素解开,并顺序的赋给其他变量

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

  如:

    lst=[3,5]

    first,second=lst

    print(first,second)

  左边如果超过一个变量就认为是在解构

  如:

    a,*b,d=2,1,4,2,8
    print(b)

  结果:

  [1, 4, 2]

  2、左边的b使用*接收,但不能单独使用。被*变量名收集后组成一个列表,尽可能的拿,而且只能有一个

  3、丢弃变量:这是一个惯例是一个不成文的约定;如果不关心一个变量,就可以定义改变量的名字为'_'。‘_’是一个合法的标识符,也可以作为一个有效的变量使用,但是定义成下划线就是希望不要被使用,除非你明确的知道这个数据需要使用

  如:

    lst=[9,8,7,20]

    first,*second=lst

    head,*_,tail=list  #_是合法的标识符,看到下划线就知道这个变量就是不想被是被使用

原文地址:https://www.cnblogs.com/mapone/p/12023956.html