运算符
算数运算符:
+ 数字相加为运算 字符串相加为拼接
-,/
* 乘 字符串乘数字表示字符串重复次数
% 取余数
// 取整数
** 幂(次方)
比较运算符:
== :比较运算符
!= :不等于
<
>
>=
<=
赋值运算符:
= :赋值
+=
-=
*=
/=
%=
//=
身份运算符:
is :比较地址是否相同
is not :地址不一致
简单数据类型:如果有重复数据,则不新开辟一个空间,使用原空间地址,节约内存
复杂数据类型:无论是否重复,都开辟新空间
运算符优先级:使用()提高优先级,先运算括号里面的
逻辑运算符
在Python中除了布尔值以外,其他数据类型在参与逻辑运算时候等同于布尔值
特点:
1.其他数据类型(整数,小数,字符串,None,列表.....)
2.参与逻辑运算等同于布尔值
3.如何等同:
以上0,'',None,[],"",{},()这些等同于false,其他等同于true
有哪些运算:
与:and
或:or
非:not
逻辑运算中and和or又称为短(断)路运算
and:在运算中只要出现False就不在继续向下运算
a and b and False and d
or:在运算中只要出现True就不在向下运算
a or b or True or d
最后无论and还是or运算完成后返回最后一个运行结果
例子:
# a和b都是布尔值 (True和False)
print(True and False) # False
print(True and True) # True
print(True or False) # True
print(False or False) # False
print(not False) # True
# 例子
# 查看逻辑运算的结果(其他数据类型当做布尔值,返回的是最后运算结果)
print(1 and True and None and 9 and "张飞") # 返回None
print(False or '' or "张飞" or None) # 返回"张飞"
类型转换
概念:
将一种数据类型转换成另外一种数据类型
为什么:
在python中只有同类型数据才能进行运算
转换方法:
int(s) :转换为整数
float(s) :转换为小数
str(s) :装换为字符串
例子:
# 录入面馆 每天销售的碗数 单价 营业天数 计算一年营业额
num = input("每天销售碗数:")
price = input("单价:")
days = input("营业天数:")
# 进行转换
num = int(num)
price = float(price)
days = int(days)
# 进行运算
total = num * price * days
print("销售总额为:", total)
# 字符串相加
print("销售总额为:" + str(total))
不同类型之间运算的特殊形式
1.数字类型之间可以直接运算,有小数参与运算,结果为小数
2.布尔类型和数字类型之间可以直接运算
当布尔类型参与数学运算时:
True被作为数字1使用
False被作为数字0使用
3.字符串类型之间使用 + 拼接字符串
4.字符串和整数可以使用 * 重复拼接相同的字符串
5.数字类型和字符串类型之间不能够进行数学和连接运算
变量格式化输出
%-string格式化:
% 被称为 格式化操作符,,专用于处理字符串的格式
包含%的字符串称为 格式化字符串
% 和不同的 字符 连用,不同类型数据 需要使用不同格式化字符
%s 字符串
%d 代表整数
%f 代表小数
%% 只输出%号 没有特殊意义
语法:
print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1, 变量2...))
注意:
1、格式化字符串中的占位符 和 %后面的数据是一一对应的。
2、如果只有一个占位符,只需要一个数据
例子:
# 通过 %-string传入变量到字符串中
name = "张飞"
age = 18
money = 3.4567
print("我的姓名是:%s, 今年年龄 %02d 岁, 每天零花钱为:%.2f" % (name, age, money))
f-string格式化:
格式化语法:
print(f"格式化字符串{变量}")
print(f"{变量1}格式化字符串{变量2}")
注意:
1、将变量直接写在{}中,Python就可以解析出{}中的变量对应的值.
2、{}中可以直接进行运算
例子:
# 使用f-string传入变量到字符串
print(f"我的姓名是:{name}, 今年年龄 {age} 岁, 每天零花钱为:{money:.2}")
条件控制
什么是条件控制:根据条件判断是否满足规定来决定是否执行后面的代码.
if条件分支语句
语法:
if 要判断的条件:
执行条件成⽴时,要做的事情
例子:
# 判断能否上网
age = 18
if age >= 18:
print("能够上网嗨皮")
注意事项:
1.判断条件的执行结果是一个Boolean类型的值, 一般是比较运算符或者逻辑运算符.
2.判断条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
3.python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。 缩进的空格数是可变的,但是同一个代 码块的语句必须包含相同的缩进空格数, 缩进的代码块相对于上一级是从属关系
4.代码的缩进为⼀个tab 键,或者 4 个空格 —— 建议使⽤空格、在 Python 开发中,Tab 和空格不要混⽤!
if else条件分支
语法:
if 要判断的条件:
执行条件成⽴时,要做的事情
else:
执行条件不成⽴时,要做的事情
注意事项:
1.else后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。
2.使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
if elif else条件分支语句(多分支)
语法:
if 要判断的条件A:
执行条件成⽴时,要做的事情A
elif 要判断的条件B:
执行条件成⽴时,要做的事情B
elif 要判断的条件C:
执行条件成⽴时,要做的事情C
else:
所有执行条件不成⽴时,要做的事情D
例子:
# 录入成绩0-100,分为优秀,良好,中等,及格,不及格
score = float(input("请输入成绩:"))
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
if嵌套语句
语法:
if 条件 1:
#条件 1 满⾜执⾏的代码
……
if 条件 1 基础上的条件 2:
条件 2 满⾜时,执⾏的代码
……
# 条件 2 不满⾜的处理
else:
条件 2 不满⾜时,执⾏的代码
# 条件 1 不满⾜的处理
else:
条件1 不满⾜时,执⾏的代码
……
例子:
has_ticket = True
knife_length = 20
if has_ticket:
print("开始检票")
if knife_length <=20:
print("通过安检")
else:
print("安检不通过")
else:
print("没有车票不允许通过")
注意事项:
1.Python中是以缩进来区分语句块的。其他编程语言通过{}
2.if elif else 都分别都是一个完整的语句块,同一个语句块都必须有相同的语句块。
3.if elif else是一个语句,缩进不一样将会导致语法错误。
4.向前缩进将意味着语句结束
循环语句
while循环
语法:
while 判断条件:
重复执行的代码
例子:
# 输出一百次 I LOVE YOU
i = 1
while i <= 100:
print("I LOVE YOU")
i += 1
注意事项:
1.判断条件一定让其有机会成为false,否则将会一致执行下去。
2.判断条件后的:不能够省略,否则将产生语法错误。
3.循环体是while中的语句块,所以一定要有缩进。
循环控制语句break和continue
break:某⼀条件满⾜时,不再执⾏循环体中后续重复的代码,可以使用break让其退出循环。
continue:
1.在循环过程中,如果 某⼀个条件满⾜后,不 希望 执⾏本次循环代码,但是⼜不希望退出循环,可以使⽤
2.也就是:在整个循环中,只有某些条件,不需要执⾏循环代码,⽽其他条件都需要执⾏
死循环:
当while的判断条件一直为真时,导致循环持续执⾏,程序⽆法终⽌。 在工作中尽量避免以下情况的出现。
例子1:
while True:
print("将会一直执行下去")
例子2:
i=0
while i<10:
#当i == 7时,不希望执行需要重复执行的代码
if i==7:
continue
#重复执行代码
i+=1
print(i)
while循环嵌套
while嵌套就是:while里面也有while。
语法:
while 条件 1:
条件1满⾜时,做的事情1
while 条件 2:
条件2满⾜时,做的事情1
注意: 外面的循环每执行一次,里面的循环就会被重新执行
while后的else语句(了解)
在 while … else 在判断语句为 false 时执行 else 的语句块
语法:
while 判断语句:
判断条件成立时,重复执行的代码
else:
判断条件不成立时,要执行的代码