运算符
python中有:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符
1.数学运算符:+,-,,/,%,//,*
加,减,乘,除,取余,整除,幂运算(x**y --> 求x的y次方)
取余可用于判断奇偶数/获取个位数上数字
print(5 % 2)
print(1233//10)
print(133**3)
print(2352637**(1/3))
print(729**(1/3))
2.比较运算符:>,<,>=,<=,==,!=
所有的比较运算的结果都是布尔值
age = 18
print(age == 100)
print(18 <= age <= 20)
注意:python中可以使用多个运算符来表示是否在一个范围内
3.逻辑运算符:and,or,not(都是关键字)
逻辑运算符的运算对象都是布尔值,结果也是布尔值
1) and(逻辑与运算) - 两个都为True结果才是True,只要有一个False结果就是False
True and True - True
True and False - False
False and True - False
False and False - False
2) or(逻辑或运算) - 只要有一个True结果就是True,如果全部都是False结果才是False
True or True - True
True or False - True
False or True - True
False or False - False
应用:如果多个条件中只要有一个条件满足就可以,就可以用or将多个条件连接在一起,相当于生活中的或者
3) not(逻辑非运算) - True变成False,False变成True
not True - False
not False - True
应用:对一个条件进行否定
num = int(input())
print('输入的数字能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('输入的数字不能同时被3和7整除:', not (num % 3 == 0 and num % 7 == 0))
print('输入的数字不能被3或7整除:', not (num % 3 == 0 or num % 7 == 0))
4) 短路操作
逻辑与运算的短路操作:如果and前面的结果有一个是False,就不会执行and后面的语句,结果直接False
逻辑或运算的短路操作:只要or前面的结果有一个是True,就不会执行or后面的语句,结果直接True
def func1():
print('函数执行')
return True
True and func1()
False and func1()
4.赋值运算符: =,+=,-=,=,/=,%=,//=,*=
赋值符号的左边必须是变量;复合赋值运算的左边的变量必须是已经赋值过的变量
num = 10
num %= 3
print(num)
5.运算顺序
数学运算符>比较运算符>逻辑运算符>赋值运算符
数学运算中: ** > *,/,%,// > +,-
数字类型
1.数字类型
数字类型:整型(int),浮点型(float),布尔(bool),复数(complex)
1)整数(int):包含了所有的整数
python中的整数支持二进制、八进制、十进制和十六进制4种表达方式
十进制:
a.基数:0,1,2,3,4,5,6,7,8,9
b.进位:逢10进1
c.位权:100 = 010^0 + 010^1 + 1*10^2 = 100
d.表示方法:直接写的所有的数字都是十进制的数据
e.转换方式:直接打印
二进制:
a.基数: 0,1
b.进位: 逢2进1 100(4)
c.位权: 100 = 02^0 + 02^1 + 1*2^2 = 4
d.表示方法:在二进制数的前面加前缀0B/0b
e.转换方式:bin()
八进制:
a.基数:0,1,2,3,4,5,6,7
b.进位:逢8进1
c.位权:100 = 08^0 + 08^1 + 1*8^2 = 64
d.表示方法:在八进制数的前面加前缀0O/0o
e.转换方式:oct()
十六进制:
a.基数:0,1,2,3,4,5,6,7,8,9,a/A,b/B,c/C,d/D,e/E,f/F
b.进位:逢16进1
c.位权:100 = 016^0 + 016^1 + 1*16^2 = 256
d.表示方法:在十六进制数的前面加前缀0X/0x
e.转换方式:hex()
print(0x23d)
print(hex(393248))
print(0x60020)
2)浮点型(float):所有的小数对应的类型
支持科学记数法:
num = 3e4 # 3x10^4
3)布尔(bool):只有True和False两个值,True实质为1,False实质为0
4)复数(complex):包括所有由实部和虚部组成的数字,用j来表示虚部
python中支持直接复数运算
print((10+100j) + (10-20j))
print((10+100j) * (10-20j))
2.type函数
type(数据) - 返回指定数据对应的类型
a = 10+2j
print(type(a))
3.类型转换
类型名(数据) - 将指定数据转换成指定类型,返回新的数据
num = 324.324
print(complex(num))
print(complex('23.7'))
print(bool(33+20j))
print(bool(0))
print(bool())
print(bool(False))
int(num)
print(num)
int() - 转换成整型,数字转换成整型只保留整数部分;只有去掉引号后本身就是一个整数的才能转换成整型
float() - 转换成浮点型,数字后加.0;只有去掉引号后本身就是一个数字的才能转换成浮点数
bool() - 所有的数据都可以转换成布尔值;所有为0,为空的值会转换成False,其余为True
if分之结构
1.什么时候使用if
当某段代码是需要在满足某个条件的时候才会执行,这个时候就使用if分支结构
2.怎么使用if
1)语法一
if 条件语句:
代码块
a.说明
if - 关键字,固定写法
条件语句 - 除了赋值语句以外的所有表达式,例:数据、运算表达式、已经赋值过的变量等
: - 固定写法
代码块 - 和if保持一个缩进的一条或多条语句
b.执行过程
先判断条件语句是否为True(如果结果不是布尔就先转换成布尔再判断),如果是True就执行代码块,否则就不执行
2)语法二
if 条件语句:
代码块1
else:
代码块2
a.说明
if - 关键字,固定写法
条件语句 - 除了赋值语句以外的所有表达式,例:数据、运算表达式、已经赋值过的变量等
: - 固定写法
代码块1 - 和if保持一个缩进的一条或多条语句
else - 关键字,固定写法
代码块2 - 和else保持一个缩进的一条或多条语句
b.执行过程
先判断条件语句是否为True(如果结果不是布尔就先转换成布尔再判断),如果是True就执行代码块,否则执行代码块2