python补充(1)
1.当我们要在终端打印字符串时我们会用print
>>> x = 10
>>> x
10
>>> print x
10
>>> x='10'
>>> x
'10'
>>> print x
10
>>>
>>> x
10
>>> print x
10
>>> x='10'
>>> x
'10'
>>> print x
10
>>>
《python核心编程》上是这样解释的:
当仅用变量名时,这是为了让非字符串对象也能以字符串的方式显示在屏幕上--该对象显示的是该对象的字符串表示,而不仅仅是字符串本身。
2.接受用户输入:raw_input函数返回的是一个字符串
>>> raw_input("please input your name:")
please input your name:dhuang
'dhuang'
>>>
please input your name:dhuang
'dhuang'
>>>
3.有用的_
在python的解释器中,下划线_表示最后一个表达式的值。
4.输出重定向
print函数是将对象打印在终端上,现在我将它重定向到日志文件
>>>logfile = open('/tmp/log.txt','a')
>>>print >> logfile 'error!'
>>>logfile.close()
>>>print >> logfile 'error!'
>>>logfile.close()
是的,使用>>重定向到一个打开的文件
5.运算
除法有两种(、和 //)
6.切片
python有步进切片,省略切片,多维切片
>>> list = [1,2,3,4,5,6,7,8,9,0]
>>> list[::1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> list[::2]
[1, 3, 5, 7, 9]
>>> list[::2]#步进切片,步长为2
[1, 3, 5, 7, 9]
>>> list[::-2]#步进切片,步长为-2
[0, 8, 6, 4, 2]
>>>
>>> list[::1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> list[::2]
[1, 3, 5, 7, 9]
>>> list[::2]#步进切片,步长为2
[1, 3, 5, 7, 9]
>>> list[::-2]#步进切片,步长为-2
[0, 8, 6, 4, 2]
>>>
7,比较
>>> 1>2
False
>>> 'a'>'b'
False
>>> 'b'>'a'
True
>>> ['a','b']>['b','a']
False
>>> ['a','b']=['b','a']
SyntaxError: can't assign to literal
>>> ['a','b']==['b','a']
False
>>> ['a','b']==['a','b']
True
>>>
False
>>> 'a'>'b'
False
>>> 'b'>'a'
True
>>> ['a','b']>['b','a']
False
>>> ['a','b']=['b','a']
SyntaxError: can't assign to literal
>>> ['a','b']==['b','a']
False
>>> ['a','b']==['a','b']
True
>>>
python比较的是对象的值。当然也支持对象引用的比较
>>> ['a','b'] is ['a','b']
False
>>> a= 'a'
>>> b = a
>>> a is b
True
>>> c = 'a'
>>> a is c
True
>>> i=1
>>> k=1
>>> i is k
True
>>> l = []
>>> m = []
>>> l is m
False
>>> l = [1]
>>> m = [1]
>>> l is m
False
>>> a = 1.1
>>> b = 1.1
>>> a is b
False
False
>>> a= 'a'
>>> b = a
>>> a is b
True
>>> c = 'a'
>>> a is c
True
>>> i=1
>>> k=1
>>> i is k
True
>>> l = []
>>> m = []
>>> l is m
False
>>> l = [1]
>>> m = [1]
>>> l is m
False
>>> a = 1.1
>>> b = 1.1
>>> a is b
False
这个例子需要注意的是,在python中为了高效的使用内存,整数和字符串都是不可变对象,会缓存它们,所以当a和b都赋值为1时,它们的引用为同一个对象,而使用浮点数的时候就不一样了。
但是python并不建议使用这个特性,因为缓存的整数随时可变的,它可能根据版本的不同有不同的范围,当发表本文时,在python内部缓存的整数范围是-1到100.
你可以使用id方法来查看对象的id值
>>> id(a)
11647328
>>> id(b)
13535264
>>>
11647328
>>> id(b)
13535264
>>>

浙公网安备 33010602011771号