时间: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表达式。