运算符
数学运算符、比较运算符
1.数学运算符
2.比较运算符
: >, <, ==, !=, >=, <= 所有比较运算符的结果都是布尔值
3.逻辑运算符
逻辑与运算: and
运算规则: 两个都为True,结果才是True; 只要有一个是False,结果就是False。(相当于生活中的并且)
True and True == True
True and False == False
False and True == False
False and Fasle == False
应用: 要求多个条件同时满足的时候,使用and将多个条件连接在一起
a.与运算
两个都为True,结果才是True; 只要有一个是False,结果就是False。(相当于生活中的并且)
b.或运算
两个都为False,结果才是False; 只要有一个是True,结果就是True。(相当于生活中的或者)
c.非运算
运算规则: True变False, False变True
not True == False
not False == True
4.赋值运算
=, +=, -=, *=, /=, //=, %=, **= 所有的赋值运算符左边要求都必须是变量;复合赋值运算符左边要求除了是变量以外,这个变量还必须已经赋过值
a. = : 直接将=右边的值赋给左边的变量
b. +=, -=, *=, /=, //=, %=, **=
'变量 += 值' 相当于 '变量 = 变量+值'
赋值过程: 将原变量中的数据取出来,和后边的值相加,然后将最新的结果重新赋给变量
5.运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
先算优先级高的,再算优先级低的。如果有括号,先算括号里面的
num = 10
num += 12 * 3 # num += 36
print(num)
注意: 不要让数字参与逻辑运算, 没有任何意义
print(10 and 3)
print(10 or 30)
python中和数字相关的类型
int, float, bool, complex
1.int
整型包含了数字中所有的整数,包括正整数、负整数和0; 例如: 0, 10, -100, +28
print(10, -100, +200, 0)
2.float
浮点型包含数字中所有的小数; 例如: 0.0, 0.12, -3.14
支持科学计数法: 2e3
print(0.0, 0.12, -3.14)
print(2e3) # 2e3 = 2*10**3 = 2000
print(2e-3) # 2e-3 = 2*10**(-3) = 0.002 2**3
补充: 可以利用**来进行开方运算
print(3**2)
print(9**(1/2)) # 9开平方
print(8**(1/3)) # 8开3次方
3.bool
布尔只有True和False两个值;实质,当布尔参与数字运算的时候True就是1,False
print(True == 1)
print(False == 0)
4.complex
复数是指包含实部和虚部的这种数: 10+2j, 19j, -10j
print(10+2j)
print((10+2j)*(11-8j))
5.判断是否是指定的类型:isinstance()
isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果是布尔值
result = isinstance(10, float) # 判断数字10是否是float
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(0.0)) # 布尔转整型或者浮点型:True ->1/1.0 False -> 0/0.0;
# 整型/浮点型转布尔:非0数字 -> True 0/0.0 -> False
price = 100
new_num = float(price)
print(new_num)
price = 123.8923
new_num = int(price)
print(new_num)
分支结构:只有if语句(if条件语句)
1.if语句
语法
"""
if 条件语句:
(tab缩进)语句块
"""
说明:
if - 固定写法,关键字
条件语句 - 可以是一个值,一个变量等等,不能是赋值语句
: -固定写法(在python中有冒号的地方,一般都会产生缩进)
语句块 -一行或者多行代码;(必须和if保持一个缩进)
"""
执行过程:先判断条件语句的结果是否为True(如果不是布尔值就看转换为布尔后是否为True)
如果为True就执行语句块,否则就不执行语句块的代码。
应用:某段代码是在满足某个条件下才会执行,不满足就不执行的时候就使用if语句。
if 100:
print('if语句1')
print('if语句2')
if 100 > 10:
print('100大于10')
print('语句3')
练习:如果age的值大于18就打印成年
age = 25
if age >= 18:
print('成年')
2.if-else结构
语法:
"""
if 条件语句:
语句块1
else:
语句块2
"""
执行过程:判断条件语句是否为True(不是布尔值就转换为布尔值再看是否为True)
如果为True就执行语句块1,否则就执行语句块2.
应用:满足条件执行某个操作,不满足条件执行另外的操作,就使用if-else结构。
num = 10
if num % 2 == 0:
print('偶数')
else:
print('奇数')
if num % 2:
print('奇数')
else:
print('偶数')
如果age的值大于等于18岁打印已成年,否则打印未成年
age = 10
if age >= 18:
print('已成年')
else:
print('未成年')
3.if-elif-else结构
语法:
"""
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
.......
.......
else:
代码块3
"""
说明:在if-elif-else结构中 ,elif可以根据情况有多个。else根据情况可以省略。
执行过程:先判断条件语句1是否成立,成立,执行代码块1,整个if语句结束,
条件语句1不成立,就判断条件语句2是否成立,成立就执行代码块2,然后整个if语句结束
如果条件语句2不成立,后面接着判断,以此类推。如果前面所有的条件语句都不成立,就执行else的代码块。
score = int(input('请输入你的成绩:'))#将输入的字符类型数据转换成整型数据再赋值给score.
# score = int(score)
# print('==============:',type(score))
if score > 90:
print('优秀')
elif 80<= score:
print('良好')
elif 60<= score:
print('及格')
else:
print('不及格')
.if嵌套
在if elif else对应的语句中,可以根据情况写一个或者多个其他的if语句结构。
判断一个数是否是偶数,如果是,打印偶数,否则打印奇数,如果这个数能被4整除,打印4的倍数
num = 10
if num % 2:
print('奇数')
else:
print('偶数')
if num % 4 == 0:
print('4的倍数')
input函数,不管输入的内容是什么,结果都是字符串类型。