python学习笔记

1:raw_input和input区别:

     raw_input:将所有输入作为字符串看待,返回字符串类型

  input:Equivalent to eval(raw_input(prompt))可以看出input把输入的当成表达式,输入需要是合法的表达式。

例如:

假如未定义zz

>>> raw_input()
zz
'zz'
>>> input()
zz

Traceback (most recent call last):
  File "<pyshell#63>", line 1, in <module>
    input()
  File "<string>", line 1, in <module>
NameError: name 'zz' is not defined

input 转化为:eval(raw_input())->eval('zz')->表达式zz,zz未定义错误。

2:数值转换为字符串的三种形式:str/repr/``
>>> temp = 100000000000
>>> "hi:" + str(temp)
'hi:100000000000'
>>> "hi:" + repr(temp)
'hi:100000000000L'
>>> "hi:" + `temp`
'hi:100000000000L'

str 转换为合理的用户可理解的字符串,repr创建一个python表达式表示值的字符串,``等同于repr

3:原始字符串:

使用原始字符串(字符串前加r)可以避免特殊字符的处理比如'\'等:

>>> path = "C:\Python27\ncc.txt" \\ \n被转换为换行符
>>> open(path,'w')

Traceback (most recent call last):
  File "<pyshell#99>", line 1, in <module>
    open(path,'w')
IOError: [Errno 22] invalid mode ('w') or filename: 'C:\\Python27\ncc.txt'
>>> path = r"C:\Python27\ncc.txt"
>>> open(path,'w')
<open file 'C:\Python27\ncc.txt', mode 'w' at 0x02075EE8>

4:定义字节流

buffer = b'\x18\x01\x00'

转换为字符串:

Str1 = buffer.decode('ASCII')

分割字符串:

Str1.split('\x01')

>>> type(b'\x18\x01\x00')

<class 'bytes'>

>>> type((b'\x18\x01\x00').decode('ASCII'))

<class 'str'>

posted @ 2014-09-22 22:38  平凡之路  阅读(372)  评论(0)    收藏  举报