Python学习笔记---基础汇总部分

         一直在做java,但是现在研究openstack,有研究源码提供API的任务,所以先看python基础,别到时侯干着急,下面只是我看书时候的一些笔记以及动手做时候的截图,并没有什么自己特别的思考整理,也就是说是给自己看的,误入的请绕行。

         学习一门语言,肯定首先要了解它的背景,与其它语言简单的比较,看它最适合应用的范围地方。第二点就是要学习语言细节,包括语法、数据结构、开发环境等一系列。再往深入了说,是要往它的设计思路上面考虑。

        现在只是看它的语言细节。

      

        python知识点,由于基础教程这本书当时粗略的看过一遍,所以,和python核心编程这本书对比着看。

    一    基础知识
    1:在3.0中,1/2 的值是0.5,要想实现整除操作,必须要用双斜线,所谓的整除,就是结果保留整数位上的数字。在用双斜线的情况下,浮点数也会执行整除。
    

    2:取余运算&幂
    
    
    3:变量,想要使用变量,直接赋值就可以了,变量名可以包含字母数字下划线,但是不能以数字开头。
    

    4:语句是做某事,而表达式是某事

    5:input函数
        
        当输入第一行,然后回车的时候,第二行如下,然后可以在光标处输入数字了
    
    
    6:if语句
    if后面跟判断表达式,然后加上冒号,然后加上后面的逻辑
    在解释器里面执行,需要按两次回车才会执行
    

    7:函数
    幂函数 pow()、四舍五入函数round(),绝对值函数abs(),还有向下去整函数floor(),例如32.9 floor一下得到32.与floor函数相对的是ceil函数,这个函数把32.9得到33.
    

    8:模块
    使用import。或者使用from math import sqrt,后面就可以直接写函数名字而不必要写模块名字了。

    也可以使用变量名来引用函数

    除非必要,还是直接使用import的好,如果使用了from ... import
..这个,别的都没法子用了。

    9:保存并执行程序
    可以从IDLE中直接 file --》 new window,打开一个文本编辑器,没有命令提示符。

    10:注释是#

    11:字符串
        a:如果字符串里有单引号的话,要用双引号或者是转义字符
    
        b:repr函数就是用反斜引号,输出包含数字的句子时比较有用
        

        c:3.0中已经不是用反引号了,直接使用repr函数
        d:长字符串,如果字符串跨越多行,那么可以用三个单引号来表示
        e:或者在每一行后面加上斜杠,表示换行符本身被转义了。
        f:原始字符串



        二  数据结构--列表
        1:基本数据结构是序列,sequence
        序列的索引从0开始,也可以从最后一个元素标记为-1,倒数第二个计数为-2

    2:序列分为元组和列表,元组不能更改,是两者的主要区别

    3:python的内建序列6种
        a:列表
        b:元组
        c:字符串
        d:Unicode字符串
        e:buffer对象
        f:xrange对象
    
    4:关于序列的写法
        可以看到序列的使用方式。
        另外序列和映射(如字典),是两种主要的容器。

    5:通用序列操作
        a:索引indexing
        b:分片slicing
        c:加
        d:乘
        e:成员资格
        f:计算长度,找出最大元素和最小元素等内建函数

    6:索引
        a:对于序列,可以正序从0开始计数,也可以从最后的元素-1开始计数,逆序的时候,第一个元素可以由index为0得到或者是通过序列长度
        例如:

        另外,还可以直接在字符串字面值后面加上索引,另外如果一个函数直接返回一个序列,那么可以直接对返回结果做     索引操作。例如:
        

    7:分片
    a:
        索引用来访问单个元素,分片操作用来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现。
    
    可以看到分片里面,包含第一个索引,但是不包含最后一个索引号代表的元素。

    

    可以看到,想要得到从某一个索引开始到最后所有的值,可以这么写,省略最后的索引。

    b:设置更大的步长
     可以看到,步长可以设置,另外当步长为副的时候,是从右到左提取元素,这时候第一个索引值一定要大于第二个索引值。完全是方向问题

    c:两种相同类型的序列用加号链接
    

    d:乘法,表示将序列重复n次
    

    创建一个占10个元素空间的空列表
    

    None是内建值,表示什么都没有
    

    e:成员资格--in
    

     可以看到,多个字符检查成员资格也可以。

    f:长度,最大最小值
    

    8:列表  ---mutable
        a:list函数
            根据字符串创建列表
            注意的是,用join这种方式的时候,参数值必须是字符型的列表,数字是不行滴,也就是说,列表中的元素必须用单引号引起来的那种。

        b:基本列表操作
            1:改变列表,元素赋值 删除操作两种方式,可以通过赋值操作得到。


    9:列表方法
    python里面,函数是指内建的,例如上面的del函数,可以直接使用,但是方法是指特定对象特有的。列表提供了以下几个方法:
    a:append,在列表尾部追加新对象
    b:count,计数某个元素出现的次数
    c:extend方法,直接在列表的尾部一次性追加另一个序列中的多个值。这个和加号的那个链接操作不一样,链接操作返回一个新的列表,原先的两个不变,而extend方法会改变被扩展列。
    d:index找到某个值在列表中第一个匹配的索引位置,如果找不到会返回异常。
    e:insert方法,插入值到列表中
    f:pop方法,删除指定元素,并返回。默认情况下会删除最后一个。
    ------栈,可以用pop方法以及append方法实现,而队列可以用insert(0,。。)以及pop(0)实现

    g:remove方法只是删除第一次出现的值
    h:reverse方法,将列表中的元素逆序存放
    i:sort方法需要注意点,会对列表做出改变,另外,想要先复制然后再做操作的时候,不能仅仅复制引用,要用切片的方式复制所有例如 y = x[ : ]。而sorted函数会返回sort好的列表,不该办原来的列表顺序。
    j:想要根据元素的长度排序或者逆序排序
    注意点,布尔值必须写作True,不能改变大小写

   
三 数据结构--元组
    1:要创建元组,只要用逗号分隔了一些值,就自动创建了元组,通过括号括起来
        只有一个值的元组,必须加上一个逗号
    2:元组是用括号,而列表是用[]
    3:tuple函数---和序列中的list函数类似,给定一个序列,转换成元组
        
    基本操作和序列的一样
    
    4:
       
四 数据结构--字符串
1:基本操作就和序列中的一样,但是字符串是不可变的,所以一些赋值操作不可用
    2:字符串格式化,直接读精简版的,到时候具体用到再读3.4节详细的
        字符串格式操作符:%,左侧放置格式化字符串,右侧放置想要格式化的值
    
    3:常用方法
        a:find方法可以在一个较长的字符串中查找子字符串,还可以指定起始点等
        b:join方法,是split方法的逆方法,这个需要注意下,用来在队列中添加元素
        

        c:lower方法--title方法
        d:replace方法,所有项都要替换
        e:split方法,join的逆方法,将字符串分割成序列
        f:strip方法去除两端的空格,就像是Java中的trim方法
        g:translate方法只处理单个字符,但是可以同时进行多个替换
       
五 数据结构--字典
1:创建字典,大括号,每一项用:分隔表示键值对
        
    2:dict函数可以通过其它的字典或者键值对来产生新的字典,或者关键字参数
        
    
    3:字典方法
        a: clear方法,清空字典
        b:copy,浅复制,深复制到话用deepcopy
        c:get方法,这个比较好的地方就是,查询不到的话不会返回异常
        d:has_key方法,判断是不是有给出的键
        e:items,iteritems
        f:pop
        g:popitem随机弹出一个元素
        h:update方法
        i:values返回字典中的值,用列表的形式
六 条件,循环,和其它语句
1:print函数,打印多个参数,只要中间用逗号分隔就行了
    2: ,一定要注意3.0以后,print必须加上括号了。
    
    3:序列解包

    4:

    5:语句块,以 : 开始,缩进相同
    
    6:运算符
        a:相等运算符用 ==
        b:is判断同一性而不是相等性,也就是是不是两个参数指向同一个对象
        c:while循环
        d:for循环,和Java的foreach循环很像
        e:zip函数,挺有用的


    7:列表推导式——利用其他列表创建新列表的方法,类似for循环
    
    8:python中空代码块是违法的,所以要加上pass
    
    9:python中无法删除值,
        注意del删除的是名字本身


    10:动态的创建代码字符串exec


你可能感兴趣的:(python,数据结构,import,insert,join,语言)