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

yipeiwu_com6年前Python基础

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

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

相关文章

Python实现剪刀石头布小游戏(与电脑对战)

具体代码如下所述: srpgame.py #!/urs/bin/env python import random all_choice = ['石头','剪刀','布'] win_l...

python 类详解及简单实例

python 类详解 类 1.类是一种数据结构,可用于创建实例。(一般情况下,类封装了数据和可用于该数据的方法) 2.Python类是可调用的对象,即类对象 3.类通常在模块的顶层进...

使用python判断你是青少年还是老年人

今天来给大家讲讲python中最基本的 if 条件语句,这几乎是所有编程语言中都存在的语句,只是语法结构稍有不同。 程序之所以能自动处理很多的事情,if条件语句在这里...

python 计算平均平方误差(MSE)的实例

我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下: MSE=1n∑i=1n(yi−mxi−b)2 最...

python读取大文件越来越慢的原因与解决

python读取大文件越来越慢的原因与解决

背景: 今天同事写代码,用python读取一个四五百兆的文件,然后做一串逻辑上很直观的处理。结果处理了一天还没有出来结果。问题出在哪里呢? 解决: 1. 同事打印了在不同时间点的时间,在...