1. python的赋值语句是没有返回值的,所以这种写法是会报语义错误 y=(x=x+1). 如果括号拿掉反而没有问题
2. 在版本2里面,print是语句,到了版本3的话,print变成了函数。另外版本2里面的print会默认加一个换行的打印,可以再输入内容后面加上一个,号,来规避这个行为,但是,号会添加一个空格,虽然不换行了,如下
>>>
for
i
in
range
(
0
,
5
):
...
print
i
...
0
1
2
3
4
>>>
for
i
in
range
(
0
,
5
):
...
print
i,
...
0
1
2
3
4
Python 2
- print 'Python', python_version()
- print 'Hello, World!'
- print('Hello, World!')
- print "text", ; print 'print more text on the same line'
- Python 2.7.6
- Hello, World!
- Hello, World!
- text print more text on the same line
Python 3
- print('Python', python_version())
- print('Hello, World!')
- print("some text,", end="")
- print(' print more text on the same line')
- Python 3.4.1
- Hello, World!
- some text, print more text on the same line
- print 'Hello, World!'
- File "<ipython-input-3-139a7c5835bd>", line 1
- print 'Hello, World!'
- ^
- SyntaxError: invalid syntax
注意:
在Python中,带不带括号输出”Hello World”都很正常。但如果在圆括号中同时输出多个对象时,就会创建一个元组,这是因为在Python 2中,print是一个语句,而不是函数调用。
- print 'Python', python_version()
- print('a', 'b')
- print 'a', 'b'
3. python中的float除法和整除法
- Python 2.7.7
- ('a', 'b')
- a b
从python2.2开始,便有两种除法运算符:"/"、"//"。两者最大区别在:
1. python2.2前的版本和python2.2以后3.0以前的版本的默认情况下,"/"所做的除法是以一种两个数或者多个数出现一个浮点数结果就以浮点数的形式表示,即float除法
2. "//"所做的除法则不相同,"//"不管两者出现任何数,都以整除结果为准,不对小数部分进行处理,直接抛弃,也就是整除法
以下是笔者在编译器测试的数据,测试的版本是python2.7
关于"/":
>>> 3/2 1 >>> 3/2.0 1.5 >>> 3.0/2 1.5 >>> 10/3.0 3.3333333333333335
由以上的例子我们可得出,只要除数中**有一个数**是浮点数,那么得到的结果也是浮点数
以下是关于"//":
>>> 3//2 1 >>> 3//2.0 1.0 >>> 3.0//2 1.0 >>> 3.0//2.0 1.0
由以上的例子,我们可以看出,两个整型相除,得到的还是整型,但是。如果一个浮点数除以一个非浮点数得到的还会是一个浮点数,但是,计算的结果却是忽略小数部分,运算的结果类似两个整型相除,但是得到一个浮点数。另外"//"对于两个浮点数也是不例外的。