• 变量和赋值语句
      • 在同一条赋值语句中可以引入多个变量
        • 交换变量a 和b 的值
          • a,b = b,a

      • Python换行可以使用转义字符\,下一行的缩进量相同
        • )\

    • 帮助文档
      • help()

    • 控制语句
      • 条件式语句
        • 如果只有一条语句,可以不用换行
          • :print('smaller')

        • 模块测试语句
          • if __name__ == "__main__":

            main()

    • 字符串及其运算
      • 运算符
        • ] #Retruns "eat"

      • 格式化字符串
        • 格式
          • <formtt string> % <datum>

        • 指定字符宽度以及左右对齐
            • print( "%6s" % "four" ) #右对齐

              print( "%-6s" % "four" ) #左对齐

            • ):

              print( "%-3d%12d" % ( exponent, 10 ** exponent ) )

        • 浮点数
          • %<field width>.<precision>f

          • precision 为小数点的精度
          • 示例
            • print( "Your salary is $%0.2f." % salary )

    • 对象和方法的调用
      • 显示某一对象的所有方法
        • 在 IDLE 中使用 dir 命令
          • 示例
            • dir(str)

    • 内建Python集合及操作
      • 对集合应用模式匹配
        • 模式匹配将一个结构赋值给另一个形式完全相同的结构
          • rgTuple = ( ( <r>, <g>, <b> ), <string> )

            ( ( r, g, b ), hexString ) = rgTuple

    • 编写新的函数
      • 递归函数
        • 运行示例
          • def ourSum( lower, upper, margin = 0 ):

            """Returns the sum of the numbers from lower to upper,

            and outputs a trace of the arguements and return values

            on each call."""

            blanks = " " * margin

            print( blanks,str(lower)+ str(upper) )

            if lower > upper:

            print( blanks, 0 )

            else:

            , upper, margin + 4 )

            print( blanks,result )

            return result

            if __name__ == "__main__":

            )

          • 输出
      • 嵌套函数的定义
        • 示例
          • def factorial(n):

            """ Returns the factorial of n. """

            def recurse(n, product):

            : return product

            , n * product)

            )

      • 高阶函数
        • 高阶函数接收一个函数作为参数,并且以某种方式应用该函数
        • map 函数
          • 输入:一个函数和一个可迭代对象
          • 输出:对可迭代对象的每一项应用参数函数,得到一个新的可迭代对象,并返回
          • 示例
            • ]

              newList = list( map( str, oldList ) ) #Returns ['1', '2', '3', '4']

        • filter 函数
          • 输入:一个布尔函数的一个可迭代对象
          • 功能:对可迭代对象的每一项应用布尔函数,如果其为真,则将其加入到新的可迭代对象中。
          • 示例
            • def isPositive( number ):

              """判断是否为正数"""

              : return True

              else: return False

              ]

              newList = list( filter( isPositive, oldList ) ) #[2,3,5,1000]

      • 使用 lambda 创建匿名函数
        • lambda <argument list> : <expression>

        • 示例
          • , oldList ) )

        • functools.reduce 高阶函数
          • 功能:通过应用带有两个参数的函数来将一个可迭代对象转换为单个的值,该函数的两个参数是下一项和前一次应用该函数的结果
          • 示例
            • import functools

              ) )  #120

    • 捕获异常
      • 确保用户输入整数
        • def safeIntegerInput( prompt ):

          """Pormpts the user for an integer nad returns the

          integer if it is well-formed. Otherwise, prints an

          error message and repeats this process."""

          inputString = input( prompt )

          try:

          number = int( inputString )

          return number

          except ValueError:

          print( "Please Enter in the correct number format:", inputString )

          return safeIntegerInput( prompt )

    • 文件及其操作
      • 使用 pickle 读写对象
        • 可以直接对对象进行储存与读取操作
        • 示例
          • import pickle

            #写入文件

            ] ]

            fileObj = open( "items.dat", "wb" )

            for item in lyst:

            pickle.dump( item, fileObj )

            fileObj.close()

            #读取文件

            lyst = list()

            fileObj = open( "items.dat", "rb" )

            while True:

            try:

            item = pickle.load( fileObj )

            lyst.append( item )

            except EOFError:

            fileObj.close()

            break

            print( lyst )

    • 创建新的类
      • 所有的 Python 类都位于层级之中, object 在这个层级的根部
      • 示例
        • class Counter(object):

          """Models a counter"""

          # Class variable

          # Constructor

          def __init__(self):

          """Set up the counter."""

          self.reset()

          #Mutator methods

          def reset(self):

          """Sets the counter to 0. """

          ):

          """Adds amount to the counter."""

          self._value += amount

          ):

          """Subtracts amount from the counter"""

          self._value -= amount

          #Acessor methods

          def getValue(self):

          """Return the counter's value."""

          return str( self._value )

          def __str__(self):

          """Returns the string representation of the counter."""

          return str(self._value)

          def __eq__(self, other):

          """Returns True if self equals other or False otherwise."""

          if self is other: return True

          if type(self) != type(other): return False

          return self._value == other._value

        • 类变量 instances
          • 记录了所创建的 Counter 对象的数目
          • 除了最初的赋值以外,在其他时候,类变量必须有一个类名作为其前缀
        • 实例变量 self._value
          • 加下划线的目的是为了便于区别
        • __str__
          • 覆盖了 object 中的 str 函数
        • __eq__
          • 相当于 ==

数据结构( Pyhon 语言描述 ) — — 第1章:Python编程基础的更多相关文章

  1. 数据结构( Pyhon 语言描述 ) — —第10章:树

    树的概览 树是层级式的集合 树中最顶端的节点叫做根 个或多个后继(子节点). 没有子节点的节点叫做叶子节点 拥有子节点的节点叫做内部节点 ,其子节点位于层级1,依次类推.一个空树的层级为 -1 树的术 ...

  2. 数据结构( Pyhon 语言描述 ) — — 第5章:接口、实现和多态

    接口 接口是软件资源用户可用的一组操作 接口中的内容是函数头和方法头,以及它们的文档 设计良好的软件系统会将接口与其实现分隔开来 多态 多态是在两个或多个类的实现中使用相同的运算符号.函数名或方法.多 ...

  3. 数据结构( Pyhon 语言描述 ) — —第9章:列表

    概念 列表是一个线性的集合,允许用户在任意位置插入.删除.访问和替换元素 使用列表 基于索引的操作 基本操作 数组与列表的区别 数组是一种具体的数据结构,拥有基于单个的物理内存块的一种特定的,不变的实 ...

  4. 数据结构( Pyhon 语言描述 ) — — 第7章:栈

    栈概览 栈是线性集合,遵从后进先出原则( Last - in first - out , LIFO )原则 栈常用的操作包括压入( push ) 和弹出( pop ) 栈的应用 将中缀表达式转换为后缀 ...

  5. 数据结构( Pyhon 语言描述 ) — — 第4章:数据和链表结构

    数据结构是表示一个集合中包含的数据的一个对象 数组数据结构 数组是一个数据结构 支持按照位置对某一项的随机访问,且这种访问的时间是常数 在创建数组时,给定了用于存储数据的位置的一个数目,并且数组的长度 ...

  6. 数据结构( Pyhon 语言描述 ) — —第11章:集和字典

    使用集 集是没有特定顺序的项的一个集合,集中的项中唯一的 集上可以执行的操作 返回集中项的数目 测试集是否为空 向集中添加一项 从集中删除一项 测试给定的项是否在集中 获取两个集的并集 获取两个集的交 ...

  7. 数据结构( Pyhon 语言描述 ) — — 第6章:继承和抽象类

    继承 新的类通过继承可以获得已有类的所有特性和行为 继承允许两个类(子类和超类)之间共享数据和方法 可以复用已有的代码,从而消除冗余性 使得软件系统的维护和验证变得简单 子类通过修改自己的方法或者添加 ...

  8. 数据结构( Pyhon 语言描述 ) — — 第3章:搜索、排序和复杂度分析

    评估算法的性能 评价标准 正确性 可读性和易维护性 运行时间性能 空间性能(内存) 度量算法的运行时间 示例 """ Print the running times fo ...

  9. 数据结构( Pyhon 语言描述 ) — — 第2章:集合概览

    集合类型 定义 个或多个其他对象的对象.集合拥有访问对象.插入对象.删除对象.确定集合大小以及遍历或访问集合的对象的操作 分类 根据组织方式进行 线性集合 线性集合按照位置排列其项,除了第一项,每一项 ...

随机推荐

  1. Codeforces Round #541 (Div. 2) C.Birthday

    链接:https://codeforces.com/contest/1131/problem/C 题意: 求给的n个数,相邻差值最小的排列方式.1-n相邻. 思路: sort后隔一个取一个,取到底后再 ...

  2. Retrofit实现Delete请求

    //设置取消关注 @Headers("Content-Type:application/x-www-form-urlencoded") @HTTP(method = "D ...

  3. Codeigniter CI 框架的一些优化思考

    前段时间使用CI做了两个小项目,对CI的流程和设计理念也有了一些新的认识.CI架构的一些基本优化这里就不做介绍了,如搬离system 文件夹等. 最近有一个稍微大一点的系统,也准备拿CI来做.设计时遇 ...

  4. gin实现spring boot url拦截器

    1.定义中间件 func middle(c *gin.Context) { fmt.Println("我是中间件") c.Next() } 2.对要拦截的路由进行分组并引入中间件 ...

  5. WORD操作的问题

    最近有个小项目主要是对文档,特别是WORD的操作,读取表格数据存到数据库: 再把数据库的数据读出来写入WORD,下载下来,诸如此类的东西,说来很是简单. 想了想是用什么开发呢? C#常用的,没话说,也 ...

  6. 一张图告诉你,只会NodeJS还远远不够!

    NodeJS看似小巧简单,却威力无边,一张图,秒懂!!! 可能很多人还不会安装,但至少已经会了javascript,或者至少会了jquery,那么js还可以干更多的事情!js还可以干更多的事情!js还 ...

  7. node.js0-5初级者

    伴着<妈是心中的茉莉花> 这里,我用的sublime记事本,所以用的运行方法是终端.(后来发现git 可以省去cd切换目录). 安装node.js  官网说的很清楚. 这里我们可以在js文 ...

  8. 【Web应用-迁移】迁移 Web 应用到新的应用服务计划的相关限制和说明

    现象描述 当前 Web 应用所在的应用服务计划和目标应用服务计划属于同一个资源组,但是通过 Portal 点击 “更改应用服务计划”,依旧看不到目标应用服务计划. 问题分析 导致上述问题的原因是,用户 ...

  9. 面向阿里云专家的 Azure 云服务介绍

    本文是面向阿里云专家的 Azure 云服务介绍,参考本文可以帮助大家“按图索骥”在 Azure 的平台上找到能满足自己需求的服务. 在公有云计算蓬勃发展的同时,中国也出现了越来越多的本土公有云平台.针 ...

  10. 包含日志文件getshell

    包含日志文件getshell     一.包含日志文件漏洞利用概述           当我们没有上传点,并且也没有url_allow_include功能时,我们就可以考虑包含服务器的日志文件.    ...