变量的赋值是变量的声明和定义的过程
eg:a = 1 给变量a赋值,值为1.
[root@linux-01 ~]# ipython
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.21.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = 1
# id() 函数返回对象的唯一标识符,标识符是一个整数。这里所谓的标识符,就是该对象的内存地址。
In [2]: id(a)
Out[2]: 1718155184
赋值运算符 | 描述 |
---|---|
= | 给变量赋值 |
+= | 变量加右边的数值赋值给变量 |
-= | 变量减去右边的数值赋值给变量 |
*= | 变量乘以右边的数值赋值给变量 |
/= | 变量除以右边的数值赋值给变量 |
%= | 变量除以右边的数值结果取余给变量 |
python2中的运算结果
[root@mx ~]# ipython
Python 2.7.8 (default, Sep 17 2017, 22:32:41)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: a = 1
In [2]: a += 2
In [3]: a
Out[3]: 3
In [4]: a -= 2
In [5]: a
Out[5]: 1
In [6]: a *= 2
In [7]: a
Out[7]: 2
In [8]: a /= 2
In [9]: a
Out[9]: 1
In [10]: a %= 2
In [11]: a
Out[11]: 1
In [12]: type(a)
Out[12]: int
python3中的运行结果:
[root@linux-01 ~]# ipython
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.21.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = 1
In [2]: id(a)
Out[2]: 1718155184
In [3]: a += 2
In [4]: a
Out[4]: 3
In [5]: a -=2
In [6]: a
Out[6]: 1
In [7]: a *= 2
In [8]: a
Out[8]: 2
In [9]: a /= 2
In [10]: a
Out[10]: 1.0
In [11]: a %= 2
In [12]: a
Out[12]: 1.0
In [13]: type(a)
Out[13]: float
通过上面的对比可以看到,python2中在运行赋值运算符的时候,变量始终是整型,而在python3中,变量在做除法运算符的时候会变为浮点型。
算术运算符 | 描述 |
---|---|
+ | 加 - 两个对象相加 |
- | 减 - 得到负数或是一个数减去另一个数 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 |
/ | 除 - x除以y |
// | 取整除 - 返回商的整数部分(向下取整) |
% | 取模 - 返回除法的余数 |
** | 幂 - 返回x的y次幂 |
python2中运行结果
[root@mx ~]# ipython
Python 2.7.8 (default, Sep 17 2017, 22:32:41)
Type "copyright", "credits" or "license" for more information.
IPython 5.5.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: a = 10
In [2]: b = 4
In [3]: c = a + b
In [4]: c
Out[4]: 14
In [5]: c = a - b
In [6]: c
Out[6]: 6
In [7]: c = a * b
In [8]: c
Out[8]: 40
In [9]: c = a / b
In [10]: c
Out[10]: 2
In [11]: c = a // b
In [12]: c
Out[12]: 2
In [13]: c = a % b
In [14]: c
Out[14]: 2
In [15]: c = a ** b
In [16]: c
Out[16]: 10000
python3中运行结果:
[root@linux-01 ~]# ipython
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.21.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = 10
In [2]: b = 4
In [3]: c = a+b
In [4]: c
Out[4]: 14
In [5]: c = a-b
In [6]: c
Out[6]: 6
In [7]: c = a*b
In [8]: c
Out[8]: 40
In [9]: c =a/b
In [10]: c
Out[10]: 2.5
In [11]: c = a//b
In [12]: c
Out[12]: 2
In [13]: c = a%b
In [14]: c
Out[14]: 2
In [15]: c = a**b
In [16]: c
Out[16]: 10000
上文的结果可以看到python2中在做除法运算的时候会自动取整,而python3中做除法运算的时候会直接除尽。
关系运算符 | 描述 |
---|---|
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
在进行关系运算符的时候只会有两种结果:Ture 和False
逻辑运算符 | 描述 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
[root@linux-01 ~]# ipython
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.21.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = 1
In [2]: b = 2
In [3]: c = 3
In [4]: a > b and b < c
Out[4]: False
In [5]: a > b or b < c
Out[5]: True
In [6]: d = (a,b,c,'123')
In [7]: a not in d
Out[7]: False
查看下图,从上往下,优先级越来越低。
在Python2中raw_input()和input(),两个函数都存在,其中区别为: raw_input( ) 将所有输入作为字符串看待,返回字符串类型。 input( ) 只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
在 Python3中raw_input()和input()进行了整合,去除了raw_input(),仅保留了 input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
#运行环境:python2.7
[root@linux-001 mypythonshell]# vim suanshu.py
#!/usr/bin/python
#!/usr/bin/python
num1 = input("Please input a number :")
num2 = input("Please input a number :")
print "%s + %s = %s" % (num1,num2,num1+num2)
print "%s - %s = %s" % (num1,num2,num1-num2)
print "%s * %s = %s" % (num1,num2,num1*num2)
print "%s / %s = %s" % (num1,num2,num1/num2)
[root@linux-001 mypythonshell]# python suanshu.py
Please input a number :123
Please input a number :4
123 + 4 = 127
123 - 4 = 119
123 * 4 = 492
123 / 4 = 30
python3环境中运行如上程序,需要把input输入的数字转换为整型,python3中的print需要加括号,如下
[root@iZ23mt6ec6pZ ~]# vim suanshu.py
#!/usr/bin/python3
num1 = int(input("Please input a number :"))
num2 = int(input("Please input a number :"))
print ("%s + %s = %s" % (num1,num2,num1+num2))
print ("%s - %s = %s" % (num1,num2,num1-num2))
print ("%s * %s = %s" % (num1,num2,num1*num2))
print ("%s / %s = %s" % (num1,num2,num1/num2))
[root@iZ23mt6ec6pZ ~]# python3 suanshu.py
Please input a number :123
Please input a number :4
123 + 4 = 127
123 - 4 = 119
123 * 4 = 492
123 / 4 = 30.75