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