Python中一切皆对象,一个对象由 id、type、value 组成。
input
# Author:猫斯基
# Website:www.maosiji.com
present = input('猫斯基的网址是什么?')
print('猫斯基的网址是:' + present)
age = input('猫斯基今年多大了?')
print(type(age))
age_int = int(age)
print(type(age_int)) # 类型转换
print('今年:', age_int)
打印结果:
猫斯基的网址是什么?https://www.maosiji.com/id/maosiji
猫斯基的网址是:https://www.maosiji.com/id/maosiji
猫斯基今年多大了?23
今年: 23
# Author:猫斯基
# Website:www.maosiji.com
a = float(input('输入一个加数:'))
b = float(input('输入另一个加数:'))
print('和:', a+b)
打印结果:
输入一个加数:2
输入另一个加数:6.3
和: 8.3
算术运算符
标准算术运算符:加+、减-、乘*、除/、整除//
取余运算符:%
幂运算符:**
注意:
1、整除,向下取整。
2、取余,一正一负的取余计算公式:一个操作数为负数,则 余数 = 除数 - 被除数 * 商
# Author:猫斯基 # Website:www.maosiji.com print(1+1) # 2 print(1-1) # 0 print(1*1) # 1 print(1/1) # 1.0 # 整除,向下取整 print(11//2) # 5 print(-11//-2) # 5 print(-11//2) # -6 print(11//-2) # -6 # 幂运算 print(2**4) # 16 ,即2的4次方 # 取余、求模 print(11%4) # 3 print(-11%-4) # -3 ''' 一正一负的取余计算公式:一个操作数为负数,则 余数 = 除数 - 被除数 * 商 ''' print(-11%4) # 1 print(11%-4) # -1
赋值运算符
执行顺序:从右向左
链式赋值:a = b = c = 2
参数赋值:+= -+ *= /= //= %=
系列解包赋值:a,b,c = 2,3,4
# Author:猫斯基
# Website:www.maosiji.com
a = 10+2+3*3/2-1 # 先计算右侧表达式的值,再赋值给变量a
print(a)
# 链式赋值
a=b=c=10
print(a,b,c)
# 参数赋值
a = 2
print(id(a))
a += 20
print(id(30))
print(id(a))
print(a)
# 系列解包赋值
a,b,c = 2,3,5
print(a,b,c)
# 交换
temp = a
a = b
b = temp
print(a,b)
#
a,b = 50,80
print('交换之前:', a, b)
a,b = b,a
print('交换之后:', a, b)
打印结果:
15.5
10 10 10
2050672716112
2050672717008
2050672716752
22
2 3 5
3 2
交换之前: 50 80
交换之后: 80 50
比较运算符
Python的比较运算符有 > < >= <= !=
对象value值的比较:==
对象id的比较:is is not
# Author:猫斯基 # Website:www.maosiji.com a,b = 1,3 print( a > b ) # False print( a < b ) # True print( a >= b ) # False print( a <= b ) # True print( a != b ) # True print( a == b ) # False print( a is b ) # False print( a is not b ) # True lista = [1,3,5] listb = [1,3,5] print( lista == listb ) # True print( lista is listb ) # False
布尔运算符
and or not in not in
# Author:猫斯基 # Website:www.maosiji.com a,b = 1,3 print( a==1 and b==3 ) # True s = 'www.maosiji.com/id/maosiji' print( 'mao' in s ) # True,mao 在 www.maosiji.com/id/maosiji 中 print( 'mao' not in s) # False
位运算符
位于 &,对应位数都是1,结果位数才是1,否则0
位或 |,对应位数都是0,结果位数才是0,否则1
左移位运算符 <<,高位溢出舍弃,低位补0。向左移动1位,相当于乘以2的1次方;向左移动2位,相当于乘以2的2次方。
右移位运算符 >>,低位溢出舍弃,高位补0。向右移动1位,相当于除以2的1次方;向右移动2位,相当于除以2的2次方。
# Author:猫斯基 # Website:www.maosiji.com print( 8 & 4 ) # 0 ''' 8的二进制 0 0 0 0 1 0 0 0 & 4的二进制 0 0 0 0 0 1 0 0 结果二进制 0 0 0 0 0 0 0 0 ''' print( 8 | 4 ) # 12 ''' 8的二进制 0 0 0 0 1 0 0 0 | 4的二进制 0 0 0 0 0 1 0 0 结果二进制 0 0 0 0 1 1 0 0 '''


# Author:猫斯基 # Website:www.maosiji.com # 左移位。向左移动1位,相当于乘以2的1次方;向左移动2位,相当于乘以2的2次方。 print( 8 << 1 ) # 16 print( 8 << 2 ) # 32


# Author:猫斯基 # Website:www.maosiji.com # 右移位。向右移动1位,相当于除以2的1次方;向右移动2位,相当于除以2的2次方。 print( 8 >> 1 ) # 4 print( 8 >> 2 ) # 2
运算符优先级
**
* / // %
+ -
<< >>
&
|
> < >= <= != ==
and
or
=