• 变量和赋值语句
      • 在同一条赋值语句中可以引入多个变量
        • 交换变量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. JMeter BeanShell示例

    翻译:https://blog.trigent.com/jmeter-blog-series-jmeter-beanshell-example 在这个例子中,我们将演示在Apache JMeter中使 ...

  2. Day1课后作业:用户登录简单版

    user = "gaojun"password ="123abc"for i in range(3): user = input('请输入用户名:') pass ...

  3. 洛谷 P4362 [NOI2002]贪吃的九头龙

    https://www.luogu.org/problemnew/show/P4362 首先有个很显然的dp:ans[i][j][k]表示i节点用j号头,i节点为根的子树中共有k个点用大头时i节点为根 ...

  4. C++ 自定义结构体的Priority Queue

    比较函数return true 意味着排序需要交换. #include <iostream> #include <queue> #include <vector> ...

  5. python学习之邮件

    分类smtp邮件 html邮件,带附件的邮件. 一 STTP邮件:设置SMTP代理机构,发送人的邮箱和密码,收件人的邮箱地址(email模块):接收端,发送(smtplib模块).SMTP(smtp_ ...

  6. hdu4027Can you answer these queries?(线段树)

    链接 算是裸线段树了,因为没个数最多开63次 ,开到不能再看就标记.查询时,如果某段区间被标记直接返回结果,否则继续向儿子节点更新. 注意用——int64 注意L会大于R 这点我很纠结..您出题人故意 ...

  7. chrome浏览器好用的一些插件

    1. Listen 1(听音乐) 2. The Great Suspender(定时释放chrome 打开的页面内存) 3. Similar Web(页面流量分析) 4. Advertising Te ...

  8. mysqlsla安装和使用介绍

    安装mysqlsla源码路径:https://github.com/daniel-nichter/hackmysql.com源码存放路径:/usr/local/src1.获取源码如果没有git命令,请 ...

  9. 包含日志文件getshell

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

  10. Spring 配置定时器(注解+xml)方式—整理

    一.注解方式 1. 在Spring的配置文件ApplicationContext.xml,首先添加命名空间 xmlns:task="http://www.springframework.or ...