zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    手写vite
    单点登录的实现原理
    vue中和react中key的用法
    手写MVVM
    rtvue-lowcode:一款基于uniapp框架和uview组件库的开源低代码开发平台
    博图TIA中ModbusRTU_CRC校验程序的实现
    博图TIA中ModbusRTU Over TCP/IP通讯的实现
    webpack之file-loader和url-loader的区别
    Webpack中Loader和Plugin的区别?编写Loader,Plugin的思路?
    spark-sql 与hive 常用函数
  • 原文地址:https://www.cnblogs.com/allenzhaox/p/3201813.html
Copyright © 2011-2022 走看看