1.算术运算符
# + - * /
# ** 次方(幂)
# // 整除
# % 取余
a = 8
b = 2
2.关系运算符
'''
n1 = 8
n2 = 8
result = n1 > n2
print('n1>n2:',result)
result = n1 == n2
print('n1==n2:',result)
result = n1 < n2
username = 'admin123'
uname = input('请输入用户名:')
result = username==uname
print('验证的结果是:',result)
print(username is uname) #is用于比较变量的地址
'''
age = 8
age1 = 8
print(id(age))
print(id(age1))
print('\n')
salary = 2000000
salary1 = 2000000
print(id(salary))
print(id(salary1))
'''
在交互式的命令下,id(salary)与id(salary1)的值不同,而在源文件中执行时,它们的值是一样的
这是因为在交互式命令下(一行一行的执行),有一个小整数对象池(-5,256),只有小整数才可以被复用,大整数是不可以被复用的。
终端每执行一次,大整数都重新创建,
而在源文件中,每次运行是所有的代码都加载进一个内存中,属于一个整体,所以这个时候会有一个大整数对象池
而在源文件中,执行时会在内存开辟出一段空间,该空间内所存的值整个文件都可以被复用。只有程序执行完该内存空间才会被回收。
'''
3.逻辑运算符
'''
逻辑运算符 and(与) or(或) not(非)
运算结果是:true false
and与or都有自动屏蔽功能
'''
4.进制转换
#位运算
a = 0b11 #0b
'''
0b 表示二进制
0o 表示八进制
0x 表示十六进制
'''
a = 3
print(bin(a))#bin():输出一个数的二进制表示
b = -2
print(bin(b))
c = -5
'''
-5的二进制表示
绝对值的二进制表示取反加1
5: 1 0 1
取反:0 1 0
加1: 0 1 1
一个字节(byte)8个bit
'''
5.位运算符1
'''
位运算符
& | ~
^ 异或 -------> 相同为0,不同为1
'''
print(3 & 4)
print(3 & 5)
print(7 | 12)
print(~5,bin(~5))
'''
第一位为1,则是负数
第一位为0,是正数
对整体减1,取反,可以得到正数的二进制表示
'''
6.位运算符2
'''
<< 左移 -------> 相当于乘2的几次方
>> 右移 -------> 相当于除2的几次方
'''
print(16>>3)
print(16<<3)
7.三元运算符和运算符优先级
'''
三元运算符
格式:
result = 表达式1 if 判断条件 else 表达式2
执行:
先执行判断条件,如果条件为真,则计算表达式1,并将计算结果赋值给result
如果条件为假,则计算表达式2,并将计算结果赋值给result
'''
a = 13
b = 17
result = a+b if a<b else a-b
print(result)
'''
运算符的优先级:
()
**
~(取反)
+(正) -(负)
* / // %
+(加) -(减)
&
|
== != < >
'''
8.if语句
'''
if语句
if 条件:
语句...
'''
a = 18
b = 9
if a>b:
print(a)
username = 'admin'
if username:
print('登陆成功')
username = ''
if username:
print('登陆成功')
'''
python中如果判断的变量是:''(空字符串) 0 None
默认为False
'''
9.if-else语句
'''
if 条件1:
语句1
else:
语句2
'''
#随机数
import random
a = random.randint(1,100)
print(a)
#if语句可以嵌套
# if a > 90:
# print('你真厉害!')
# else:
# if a > 80:
# print('你很棒!')
# else:
# if a > 60:
# print('你成功了!')
# else:
# print('你失败了!')
if a > 90:
print('你真厉害!')
elif a > 80:
print('你很棒!')
elif a > 60:
print('你成功了!')
else:
print('你失败了!')