Python基础


时间:2014.04.04

地点:基地二楼

------------------------------------------------------------------

一、长字串处理

若长字串需跨多行书写,可用三引号对(‘’‘ ’‘’或者“”“ ”“”)框起来,例:

print '''Hello world!!!
         Hello python!!!
         Hello c++'''
这里单引号或双引号对任选一种,另外,在一种方式下包含另外一种时无需转义,所以很方便。

------------------------------------------------------------------

二、长语句书写

有时一条语句很长,比如表达式或字串的书写需要跨行,可在行末加反斜杠表示跨行书写,即若一行之中最后一个字符为反斜杠,那换行符本身会发生转义,知道这里是跨行编写的语句,该反斜杠会被忽略。

------------------------------------------------------------------

三、原始字符串

普通的字符串中反斜杠可能会发生转义,但很多场景下,我们不想它发生转义,比如路径地址字符串中 C:\Program Files\nosoft\file

这时我们可以这样书写

print r"C:\Program Files\nosoft\file"
即原始字符串以r开头,现在反斜杠就不会发生转义了,有一点值得注意,就是在原始字符串结尾处不要输入反斜杠,这样反斜杠还是会对引号转义,Python会认为字符串还没有结束。

------------------------------------------------------------------

四、Unicode字符串

Python中普通字符在内部以8位ASCII编码,而Unicode字符以16位Unicode编码存储。就像原始字符串一样,我们在前面加上u前缀即可

print u'Hello world !'
总结,原始字符串加上r前缀,Unicode字符串加上u前缀

------------------------------------------------------------------

五、input 和raw_input

input和raw_input都是用于人机交互,二者区别在于

input和用户交互时不会对类型做转换,用户输入什么就是什么,比如:

number=input("In put a number ")
但如果这样呢:

name=input("In put a name: ")
这时你得输入 一个字符串对象,注意是字符串对象,要这样 "Andnew" ,如果你输入 Andnew 则会出错,它不是一个合法的Python对象。但对于用户来说不喜欢输入带引号的对象,因此一个好的办法是使用

name=raw_input("In put a name: ")
该函数会将用户的一切输入包括数子包装秤字符串对象赋值。

总的一条是,如果我们队input有特别需要,否则,我们还是用raw_input 吧。

------------------------------------------------------------------

六、字符串表示:str和repr函数

str函数用于把值转换为字符串形式,以便于用户理解。

repr函数则创建一个字符串,以合法的Python表达式形式表示。repr(x)相当于 ·x` 这里用的是反引号, 比如:

print str(10000L)   #将打印 10000
print repr(10000L) #将打印10000L,即按表达式的形式转换成字符串
而对于 str("Hello world") 和repr("Hello world") 则是一样的效果

那么究竟区别如何呢,看这段代码:

temp=42
print "value is: "+`temp`    #对的,将temp加上了反引号
print "value is: "+repr(temp) #错得,不能将字符串和数字相加


当然我们可以用

print "value is: "+repr(temp) 
总结:str repr和反引号都能将Python值转换为字符串,str让字符串易于阅读,和repr和反引号则将结果字符中转换为合理的Python表达式。









相关内容

    暂无相关文章

评论关闭