Python基础教程-02

  • 《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比较运算符。

          image-20200204174625449

          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']

         

     

猜你喜欢

转载自www.cnblogs.com/tarcytime/p/12346001.html
今日推荐