• 《Python基础教程》


    • 第3章 使用字符串

      1. 字符串方法find返回的并非布尔值。如果find像这样返回0,就意味着它在索引0处找到 了指定的子串

      2. join可合并一个字符串列表,不能合并数字列表

        #合并字符串列表
        dirs = '', 'usr', 'bin', 'env'
        print('C:' + '\\'.join(dirs))

        #输出结果
        C:\usr\bin\env
      3. strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果

        #默认删除开头和结尾的空字符串
        names = ['gumby', 'smith', 'jones']
        name = 'gumby '
        if name.strip() in names: print('Found it!')
        #执行结果
        Found it!

        *************************************
        #指定删除开头和结尾的字符串
        s = " I am very very very sorry "
        s.strip(' overys')
        #执行结果
        'I am'
      4. 方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。 这个方法的优势在于能够同时替换多个字符,因此效率比replace高。使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系

        #替换两个字符
        table = str.maketrans('cs', 'kz')
        print(table)
        'this is an incredible test'.translate(table)
        #执行结果
        {99: 107, 115: 122}
        'thiz iz an inkredible tezt'

        *************************************
        #替换字符并删除空格
        table = str.maketrans('cs', 'kz', ' ')
        'this is an incredible test'.translate(table)
        #执行结果
        'thizizaninkredibletezt'
        • 第4章 当索引行不通时

          1. 字典由键及其相应的值组成,这种键值对称为项(item)

          2. 与list、tuple和str一样,dict其实根本就不是函数,而是一个类

          3. 相比于检查列表是否包含指定的值,检查字典是否包含指定的键的效率更高。数据结构 越大,效率差距就越大。

          4. 要对字典执行字符串格式设置操作,不能使用format

            和命名参数,而必须使用format_map

            phonebook = {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
            "Cecil's phone number is {Cecil}.".format_map(phonebook)
            #执行结果
            "Cecil's phone number is 3258."
        • 第5章 条件、循环及其他语句

          1. 带星号的变量最终包含的总是一个列表,在变量和值的个数相同时亦如此,详见以下例子。

            a, *b, c = "abc"
            a, b, c
            #执行结果
            ('a', ['b'], 'c')
          2. 标准值False和None、各种类型(包括浮点数、复数等)的数值0、空序列(如空 字符串、空元组和空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真1, 包括特殊值True2

            bool('') -->False
            bool(0)  -->False
            bool('I think, therefore I am') -->True
            bool(42) -->True
          3. 要获悉字母的顺序值,可使用函数ord。这个函数的作用与函数chr相反

          4. ==用来检查两个对象是否相等,而is用来检查两个对象是否相同(是同一个对象)

          5. 将整数与字符串相加毫无意义,检查一个整数是否小于一个字符串也是一样

          6. x is y是指x和y是同一个对象,x in y是指x是容器(如序列)y的成员;都属于Python比较运算符。

          1. 要结束(跳出)循环,可使用break;语句continue没有break用得多,它结束当前迭代,并跳到下一次迭代开头。

          2. 你可 能编写了一条if语句并想尝试运行它,但其中缺少一个代码块,这些代码不能运行,因为在Python中代码块不能为空。要修复这个问题,只需在中间的代码 块中添加一条pass语句即可

          3. eval是一个类似于exec的内置函数。exec执行一系列Python语句,而eval计算用字符串表示 的Python表达式的值,并返回结果(exec什么都不返回,因为它本身是条语句)

          函数 说明
          chr(n) 返回一个字符串,其中只包含一个字符,这个字符对应于传入的顺序值n(0 ≤ n < 256)
          eval(source[,globals[,locals]]) 计算并返回字符串表示的表达式的结果
          exec(source[, globals[, locals]]) 将字符串作为语句执行
          enumerate(seq) 生成可迭代的索引值对
          ord(c) 接受一个只包含一个字符的字符串,并返回这个字符的顺序值(一个整数)
          range([start,] stop[, step]) 创建一个由整数组成的列表
          reversed(seq) 按相反的顺序返回seq中的值,以便用于迭代
          sorted(seq,cmp[,reverse]) 返回一个列表,其中包含seq中的所有值且这些值是经过排序的
          xrange([start,] stop[, step]) 创建一个用于迭代的xrange对象
          zip(seq1, seq2,...) 创建一个适合用于并行迭代的新序列
        函数 说明
        string.capwords(s[, sep]) 使用split根据sep拆分s,将每项的首字母大写,再以空格为分隔符将它们合并起来
        ascii(obj) 创建指定对象的ASCII表示
      5. split是一个作用与join相反,用于将字符串拆分为序列。如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符 等)处进行拆分

        #使用制定分隔符拆分序列
        '/usr/bin/env'.split('/')
        #输出结果
        ['', 'usr', 'bin', 'env']

        *************************************
        #不使用制定分隔符拆分
        'Using the default'.split()
        #执行结果
        ['Using', 'the', 'default']

Python基础教程-02的更多相关文章

  1. (Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  2. 改写《python基础教程》中的一个例子

    一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...

  3. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  4. python基础教程笔记—即时标记(详解)

    最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...

  5. python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  6. Python基础教程2上的一处打印缺陷导致的代码不完整#1

    #1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...

  7. python基础教程(第二版)

    开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...

  8. python基础教程1:入门基础知识

    写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要 ...

  9. Python基础教程-第3版(文字版) 超清文字-非扫描版 [免积分、免登录]

    此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Python基础教程-第3版 备用下载:Python基础教程-第3版

随机推荐

  1. java面试必问问题总结

    1. 自我介绍 2. get跟load的区别 3. 什么是重载,什么是重写 4. HashTable跟HashMap的区别 5. Jsp九大隐式对象 6. Forword和redirect 的区别 7 ...

  2. HTML5基础-新增标签+新增属性+布局案例

    html5中常用的结构标签 article 文章 header 头部 nav 导航 section 区域 aside 侧边栏 hgroup 区块的相关信息 figure 定义一组内容及标题 figca ...

  3. PTA甲级B1061 Dating

    目录 B1061 Dating (20分) 题目原文 Input Specification: Output Specification: Sample Input: Sample Output: 生 ...

  4. 判定PDF文件是否能够正常打开

    下载iTextSharp.dll using iTextSharp.text.pdf; PdfReader reader = new PdfReader(strPath + "\\" ...

  5. 复原IP地址

    这道题有点不好理解 export default (str) => { // 保存所有符合条件的IP地址 let r = [] // 分四步递归处理ip分段 let search = (cur, ...

  6. Spring学习笔记-高级装配-03

    主要内容: ●Spring profile ●条件化的bean声明 ●自动装配与歧义性 ● Spring表达式语言 本章介绍一些高级的装配技术,可实现更为高级的装配功能. 环境与profile 软件开 ...

  7. R 分析回归(一元回归)

    x <- c(,,,,,,,,,) # build X(predictor) y <- c(,,,,,,,,,) # build Y(dependent variable) mode(x) ...

  8. PAT (Basic Level) Practice (中文)1031 查验身份证 (15 分)

    一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...

  9. PAT (Advanced Level) Practice 1005 Spell It Right (20 分) (switch)

    Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output e ...

  10. 在什么情况下,不写notify()或者notifyAll()就能唤醒被wait()阻塞的线程?

    之前再看java关于线程的某视频时,发现在JDK源码中,join()=join(0)=wait()=wait(0),但是视频中在join()了之后,并没有用notify()或者notifyAll()去 ...