Python教程: Python 介绍

发布时间:2019-09-10 09:14:46编辑:auto阅读(1727)

    Python教程: Python 介绍


    1、Python 命令行解释提示符下

    输入control + p 命令提示符向上查找

    输入control + n 命令提示符向下查找


    2、在交互模式中,最后打印的表达式的值被赋予给变量_


    3、在字符串第一个引号前添加r字符,可以避免通过\转义字符

    print r'C:\some\name'


    4、使用三个引号包含的字符串可以跨越多行

    “””…””"

    ‘’’…’''


    注:字符串的首行将自动包含行的结尾换行符,通过在行首添加\可以避免

    print """\

    Usage: thingy [OPTIONS]

         -h                        Display this usage message

         -H hostname               Hostname to connect to

    """


    5、字符串连接 (+, *)

    'abc' + 'def'# 字符串连接,可以连接变量

    'abc' * 3 # 字符串重复

    'Py' 'thon'# 两个字符串字面值自动连接,不包括变量或表达式


    # 字符串连接

    >>> text = ('Put several strings within parentheses '

                'to have them joined together.')

    >>> text

    'Put several strings within parentheses to have them joined together.'


    6、字符串索引

    字符串的下标从0开始索引,字符串是没有分割字符的类型,一个字符是一个简单的长度为1字符串

    >>> word = 'Python'

    >>> word[0]  # character in position 0

    'P'


    7、负数从字符串右侧开始计数

    >>> word[-1]  # last character

    'n'

    注:-0相当于0,负数从-1开始


    8、字符串支持切片,索引获取单个字符,切片获取子字符串

    >>> word[0:2]  # characters from position 0 (included) to 2 (excluded)

    'Py'

    >>> word[2:5]  # characters from position 2 (included) to 5 (excluded)

    'tho'

    注:切片的开始参数总是被包含,结尾总是被排除的。


    9、字符串切片默认值,第一个索引省去默认为0,第二个索引省去默认为切片的长度;

    >>> word[:2]  # character from the beginning to position 2 (excluded)

    'Py'

    >>> word[4:]  # characters from position 4 (included) to the end

    'on'

    >>> word[-2:] # characters from the second-last (included) to the end

    'on'


    10、最简单理解字符串切片原理是记住字符之间的位置,左侧的字符是0,右侧的字符是n就是索引n:

     +---+---+---+---+---+---+

     | P | y | t | h | o | n |

     +---+---+---+---+---+---+

     0   1   2   3   4   5   6

    -6  -5  -4  -3  -2  -1


    11、使用较大的索引将会出现如下错误

    >>> word[42]  # the word only has 7 characters

    Traceback (most recent call last):

      File "<stdin>", line 1, in <module>

    IndexError: string index out of range


    12、Python字符串是不可以被修改的,给字符串索引位置赋值将会出现如下错误!

    >>> word[0] = 'J'

      ...

    TypeError: 'str' object does not support item assignment

    >>> word[2:] = 'py'

      ...

    TypeError: 'str' object does not support item assignment


    # 如果需要,你可以创建一个新的字符串。


    13、Python 2.0以后引入了新的存储文本的数据类型,Unicode对象。他可以很好的存储、维护Unicode数据并提供自动转换。

    Unicode常被用来解决国际化。


    14、Unicode字符串的建立

    >>> u'Hello World !'

    u'Hello World !'


    # 字符串前面的小写的u是被支持用来创建Unicode字符的,如果你想使用特殊字符,请参考Unicode-Escape。例如:

    >>> u'Hello\u0020World !'

    u'Hello World !'


    注:\u0020表示Unicode字符0x0020(空格)


    15、原始模式字符串,字符串引号前添加'ur'前缀,Python使用Raw-Unicode-Escape编码。如果使用了不对等条件的反斜线将退出\uXXXX转换。

    >>>

    >>> ur'Hello\u0020World !'

    u'Hello World !'

    >>> ur'Hello\\u0020World !'

    u'Hello\\\\u0020World !'

    主:原始模式是非常实用的,例如:正则表达式需要原始模式


    除了Python标准的编码,Python提供了完整的方式从一个已知的编码建立Unicode编码。


    16、内建函数unicode()提供访问所有已注册的Unicode编码(C0ders and DECoders).一些已知的编码Latin-1, ASCII, UTF-8, and UTF-16能被转换。

    字符2个变量长度的编码存储Unicode字符在一个或者更多的字节。默认编码通常被设置为ASCII, 通过传递字符区间在0-127,传递其他字符将被拒绝并产生一

    个错误,当一个Unicode字符打印、写到一个文件、或通过str()转换,转换将空间使用默认编码。

    >>>

    >>> u"abc"

    u'abc'

    >>> str(u"abc")

    'abc'

    >>> u"ü"

    u'\xe4\xf6\xfc'

    >>> str(u"ü")

    Traceback (most recent call last):

      File "<stdin>", line 1, in ?

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)


    通过使用指定编码可以转换一个Unicode字符串到一个8位的字符串,Unicode提供一个encode()方法带一个编码名字的参数,小写的字母编码是被推荐的。

    >>>

    >>> u"ü".encode('utf-8')

    '\xc3\xa4\xc3\xb6\xc3\xbc'


    17、如果你有一个指定编码的数据想要产生一个相等的Unicode字符串,你可以使用unicode()方法,第二个参数带上编码名称。

    >>>

    >>> unicode('\xc3\xa4\xc3\xb6\xc3\xbc', 'utf-8')

    u'\xe4\xf6\xfc'


    18、列表

    列表通过在尖括号之间使用逗号分隔值,列表可以包含不同类型的值,但同行是相同的。

    >>> squares = [1, 4, 9, 16, 25]

    >>> squares

    [1, 4, 9, 16, 25]


    19、列表和字符串一样属于序列类型,同样可以被索引和切片

    >>> squares[0]  # indexing returns the item

    1

    >>> squares[-1]

    25

    >>> squares[-3:]  # slicing returns a new list

    [9, 16, 25]


    20、返回一个新列表的拷贝

    >>>

    >>> squares[:]

    [1, 4, 9, 16, 25]


    21、列表支持操作符

    >>> squares + [36, 49, 64, 81, 100]

    [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]


    22、不像字符串,列表可以改变自己的内容

    >>> cubes = [1, 8, 27, 65, 125]  # something's wrong here

    >>> 4 ** 3  # the cube of 4 is 64, not 65!

    64

    >>> cubes[3] = 64  # replace the wrong value

    >>> cubes

    [1, 8, 27, 64, 125]


    23、列表可以使用append()方法在结尾添加元素

    >>> cubes.append(216)  # add the cube of 6

    >>> cubes.append(7 ** 3)  # and the cube of 7

    >>> cubes

    [1, 8, 27, 64, 125, 216, 343]


    24、列表的切片可以被赋值,甚至可以改变列表的长度和清空列表

    >>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    >>> letters

    ['a', 'b', 'c', 'd', 'e', 'f', 'g']

    >>> # replace some values

    >>> letters[2:5] = ['C', 'D', 'E']

    >>> letters

    ['a', 'b', 'C', 'D', 'E', 'f', 'g']

    >>> # now remove them

    >>> letters[2:5] = []

    >>> letters

    ['a', 'b', 'f', 'g']

    >>> # clear the list by replacing all the elements with an empty list

    >>> letters[:] = []

    >>> letters

    []


    25、内建的len()函数可以被应用到列表

    >>>

    >>> letters = ['a', 'b', 'c', 'd']

    >>> len(letters)

    4


    26、列表可以嵌套列表(建立一个列表包含其他列表)

    >>>

    >>> a = ['a', 'b', 'c']

    >>> n = [1, 2, 3]

    >>> x = [a, n]

    >>> x

    [['a', 'b', 'c'], [1, 2, 3]]

    >>> x[0]

    ['a', 'b', 'c']

    >>> x[0][1]

    'b'


    # /doc/tutorial/introduction.html






关键字