简单讲解Python中的字符串与字符串的输入输出

318次阅读  |  发布于5年以前

字符串
字符串用''或者""括起来,如果字符串内部有'或者",需要使用\进行转义


    >>> print 'I\'m ok.'
    I'm ok.

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。当然如果不需要转义,可以使用r'':


    >>> print '\\\t\\'
    \  \
    >>> print r'\\\t\\'
    \\\t\\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''…'''的格式表示多行内容:


    >>> print '''line1
    ... line2
    ... line3'''
    line1
    line2
    line3

如果写成程序,就是:


    print '''line1
    line2
    line3'''

可能出现的问题
中文编码问题


    # coding = utf-8

结果报错:


    SyntaxError: Non-ASCII character '/xe6'

所以最后改成了


    # coding=utf-8

唉....

Unicode编码问题


    Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
    [GCC 4.8.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> len('中文')
    6
    >>> len(u'中文')
    2
    >>>

注意: 这个问题是由python编码导致的,详细的编码问题详见字符串和编码,但是在python 3.x中这个编码问题就不存在了:


    Python 3.4.0 (default, Jun 19 2015, 14:20:21) 
    [GCC 4.8.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> len('中文')
    2
    >>> len(u'中文')
    2
    >>>

输出


    >>> print 'hello, world'
    hello, world

    >>> print 'The quick brown fox', 'jumps over', 'the lazy dog'
    The quick brown fox jumps over the lazy dog

    >>> print '100 + 200 =', 100 + 200
    100 + 200 = 300

输入


    >>> name = raw_input()
    Michael

    >>> name
    'Michael'

    >>> print name
    Michael

    >>> name = raw_input('please enter your name: ')
    please enter your name:

注意: raw_input返回的永远是字符串,也就是说你输入一个int型,返回的是一个数字字符串,你需要进行转换:


    >>> number = raw_input("输入一个整数:")
    输入一个整数:123
    >>> number
    '123'
    >>> number = int(raw_input("输入一个整数:"))
    输入一个整数:123
    >>> number
    123

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8