运算符
运算符:数据运算符,比较运算符,逻辑运算符,赋值运算符
比较运算符
> ,<,==,!=,>=,<=
所有比较运算符的结果都是布尔值
print(100>10) #True
print(100<10) #False
print(100==100) #True
print(100==10) #False
print(100!=100) #False
print(100>=100) #True
a=100
b=10
print(a == b)
print('a' == 'b')
#将运算结果赋值给变量
result1 = 10 >= 1
result2 = 10 + 100
print(result1,result2)
#判断num是否在0到100之间
num=10
print(0<=num<=100)
逻辑运算符
and,or,not
所有逻辑运算符的结果都是布尔值,操作对象也是布尔值
a.逻辑与运算:and
运算规则:and运算符前后两个值都为True,结果才为True;只要有一个False,结果就是False。
应用:要求多个条件同时满足的时候,使用and将多个条件连接起来。
score = 90
age = 20
#进入公司条件,分数大于等于90,并且年龄大于25
print(score >=90 and age > 25)
#判断num是否在0到100之间
num=10
print(num <= 100 and num >= 0)
b.逻辑或运算:or
运算规则:or运算符前后两个值都为False,结果才为False;只要有一个True,结果就是True。
应用:要求多个条件中至少有一个满足条件的时候,使用or将多个条件连接在一起。
score1 = 80 #成绩
score2 = 90 #操评
#获取奖学金的条件:学习成绩大于90或操平分大于95
print('是否获得奖学金:',score1 > 90 or score2 > 95)
c.逻辑非运算:not
运算规则:True变False,False变True。
应用:对一个条件进行否定
#进入网吧的条件:年龄不小于18
age = 9
print('能否进入:', not age < 18)
print('能否进入:',age >= 18)
练习:获取奖学金条件:成绩大于90且操评分不低于80,或操评分不低于95且成绩大于75
# score1 = input('请输入成绩:')
# score2 = input('请输入操评分:')
#通过input获取的值为字符串类型,不能直接和数字作比较
score1 = 80
score2 = 98
print(score1 > 90 and not (score2 < 80) or not (score2 < 95) and score1 > 75)
print((score1 > 90 and score2 >= 80) or (score2 >= 95 and score1 > 75))
赋值运算符
=,+=,-=,=,/=,//=,%=,*=
所有赋值运算符左边要求都必须是变量,复合赋值运算符除了左边要求是变量外,这个变量还必须已经赋过值
a. = :直接将=右边的值赋给左边的变量
num = 100
num = 100 + 2
b.+=,-=,=,/=,//=,%=,*=
赋值过程:将原变量中的数据取出来,和右边的值做相应的数学运算,然后将新的结果重新赋给变量
num = 3
num += 3
print(num)
num -= 1
print(num)
num *= 3
print(num)
num /= 5
print(num)
num %= 2
print(num)
num **= 3
print(num)
num //= 2
print(num)
运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
先算优先级高的,再算优先级低的;如果有小括号,先算小括号内的。
num = 10
num += 12 * 3
print(num) #结果为46
注意:
- 数字不要参与逻辑运算,没有意义。
- 布尔值可以参与数学运算,其中True值为1,False为0。
数字
Python中和数字相关的类型有4种:int,float,bool,complex
1.int整型
整型包含数字中所有整数,包括正整数,负整数和0。
print(0,+100,-20,23)
2.float浮点型
浮点型包含数字中所有小数,如:0.0,0.12,-3.14
支持科学计数法:2e3
print(0.0,0.12,-3.14)
print(2e3) #2*10**3=2000.0
print(2e-3) #2*10**(-3)=0.002
补充:可以利用**来开平方
print(9**(1/2))
print(8**(1/3))
3.bool布尔
布尔只有两个值True和False,实质,当布尔参与数字运算时,True就是1,False就是0。
print(False == 0)
print(True == 1)
4.complex复数
复数是指包含实部和虚部的数:10+2j,19j,-2j
print(10+2j)
print((10+2j)+(8-3j))
5.获取数据类型:type()
type(数据) -获取括号中数据对应的类型
type1 = type(10+2j)
print(type1)
print(type(True))
print(type('True'))
6.判断是否是指定的类型:isinstance()
isinstance(数据,类型) -判断指定的数据是否是指定的类型,返回结果是布尔值。
result = isinstance(10,float)
print(result)
result = isinstance(3e4,int)
print(result)
7.类型转换:类型名()
类型名(数据) -将指定的数据转换为指定类型
num = 12.5
new_num = int(num)
print(new_num)
print(float(new_num))
print(float(True))
print(bool(0.0)) #布尔转整型或浮点型:True --> 1/1.0 False --> 0/0.0
#整型转布尔型:非0数字 --> True 0/0.0 --> False
if语句
分支结构:Python中只有if条件语句
1.语法
if 条件语句:
语句块
2.说明
if -固定写法,是关键字
条件语句 -可以是一个值,一个变量,一个运算表达式,但不能是赋值语句
: -固定写法(英文标点),在Python中有冒号的地方一般都会产生缩进
语句块 -一行或多行代码(前面要有缩进,Tab或空格都可以,多行代码缩进要一致)
3.执行过程
先判断条件语句的结果是否为True(如果不是布尔值就看转换后的布尔值是否为True)。如果为True就执行语句块对应的代码,否则就不执行。
4.应用
某个操作或某段代码是在满足某个条件才执行,不满足条件就不执行时就是用if语句。
if False:
print('hello')
if 'false':
print('hello')
false = 3
if false:
print('hello')
age = 8
#如果age大于等于18打印成年
if age >= 18:
print('成年')
if-else语句
1.语法
if 条件语句:
语句块1
else:
语句块2
2.执行过程
判断条件语句是否为True,如果为True就执行语句块1,否则执行语句块2。
3.应用
满足条件执行某个操作,不满足条件执行另一个操作就使用if-else结构。
num = 10
if num % 2 == 0:
print('偶数')
else:
print('奇数')
if num % 2:
print('奇数')
else:
print('偶数')
if-elif-else语句
1.语法
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
else:
代码块4
2.说明
在此结构中,elif可以根据情况有多个,else结构可根据情况省略。
3.执行过程
先判断条件语句1是否成立,成立执行代码块1,然后整个if语句结束;
条件语句1不成立时,就判断条件语句2是否成立,成立执行代码块2,然后整个if语句结束;
条件语句2也不成立时,就判断条件语句3是否成立,成立执行代码块3,然后整个if语句结束;
以此类推;
如果前面所有条件语句都不成立,就执行else后面的代码块。
"""
练习:
score > 90 -->优秀
80 <= score <= 90 -->良好
60 <= score <= 79 -->及格
score < 60 -->不及格
"""
score = 90
if score > 90:
print('优秀')
elif 80 <= score:
print('良好')
elif 60 <= score:
print('及格')
elif score < 60:
print('不及格')
if嵌套
在if、elif或else对应的语句块中,可以根据情况写一个或多个其他if语句结构。
score = 90
if score > 90:
print('优秀')
if score == 100:
print('满分')
elif 80 <= score:
print('良好')
elif 60 <= score:
print('及格')
else:
print('不及格')
"""
练习:判断一个数是否是偶数,如果是打印偶数,否则打印奇数,如果这个数能被4整除,打印4的倍数
"""
num = int(input('输入一个整数:')) #将输入的数据转换成整型在赋值给num
if num % 2:
print('奇数')
else:
print('偶数')
if num % 4 == 0:
print('4的倍数')
经验总结:
input函数,不管输入的是什么内容,结果都是字符串类型的值。