Day03. Python数据类型&变量&运算符&分支语句IF
一、Python中的数据类型
计算机顾明思议就是可以做数学运算的机器,因此计算机理所当然的可以处理各种数据,但是计算机能处理的远远不止数值,还有文本,图形,音频,视频网页等各种数据, 不同数据需要定义不同的数据类型
Number【数字:整型int,浮点型[小数]float,复数类型complex】
String【字符串】
Boolean【布尔类型】 True真(1), Flase假(0)
None【空值】
list【列表】 类似c语言的数组
tuple【元组】 不可改变的列表
dict【字典】
set【集合】(了解)
bytes【字节】b’hello’
二、运算符和表达式
1.表达式
操作数和运算符组成, 比如: 1 + 1
作用: 表达式可以求值,也可以给变量赋值
2.运算符【掌握】
2.1. 算术运算符
+ - *【乘法】 /【除法】 %【求余,取模】 **【求幂,次方】 //【取整】
代码演示:
num1 = 5 num2 = 3 print(num1 + num2) print(num1 - num2) print(num1 * num2) print(num1 / num2) #浮点型:1.6666666666666667 默认精度16位 print(num1 % num2) #2 print(num1 ** num2) #5的3次方 print(num1 // num2) #获取浮点数的整数部分 #除了+和-之外,其他的算术运算符都是相同的优先级 #出现优先级,解决办法使用括号 print((2 ** 5) * 3)
2.2. 赋值运算符
简单赋值运算符:= 给一个变量进行赋值
复合赋值运算符:+= -= %= /= … 给一个变量进行赋值,同时给变量进行相应的运算
代码演示:
#简单 num1 = 10 #注意:在赋值运算符中,先计算等号右边的表达式,然后将计算的结果赋值给等号左边的变量 num2 = num1 + 10 print(num2) #复合 num3 = 10 num3 += 100 #等价于num3 = num3 + 100 print(num3)
2.3. 关系【条件,比较】运算符
作用:比较大小,得到结果为布尔值【如果表达式成立,则返回True,如果不成立,则返回False】
> < >= <= ==【等号】 != 【不等于】
使用场景:if语句,循环
代码演示:
x = 3 y = 5 print(x > y) #False print(x < y) print(x == y) print(x != y) print(x >= y) #False print(x <= y) #True
2.4. 逻辑运算符
and : 与
or: 或
not:非
2.5. 成员运算符和身份运算符
成员运算符:
in, not in
身份运算符:
is, is not
2.6. 位运算符【扩展】
前提:将数字转换为二进制使用
&【按位与】 |【按位或】 ^【按位异或】 ~【按位取反】 << 【左移】 >>【右移】
代码演示:
print(6 & 3) print(6 | 3) print(6 ^ 3) print(~6) print(6 << 2) print(6 >> 2)
三、if语句【重点掌握】
1.代码结构
顺序结构:代码从上往下依次执行
分支结构:根据不同的条件,执行不同的语句
循环结构: 根据指定的条件,重复执行某段代码
2.分支结构-if语句
2.1简单if语句【单分支】
语法:
if 表达式:
执行语句
说明;要么执行,要么不执行,当表达式成立的之后,则执行语句;如果表达式不成立,则直接跳过整个if语句继续执行后面的代码
注意:表达式为真才执行语句
假:0 0.0 False “” None【空值】
一般情况下,表达式使用都是比较运算符
代码演示:
#单分支 num1 = 50 num2 = 60 #需求:当num1 == num2,则给num1重新赋值为100 #在pYthon中,通过缩进来区分代码块 if num1 != num2: num1 = 100 print(num1) #练习:从控制台输入一个数,判断这个数是否是偶数 num = int(input()) if num % 2 == 0: print(num,"是一个偶数") print(num,"不是一个偶数")
2.2if-else语句【双分支】
语法:
if 表达式:
执行语句1
else:
执行语句2
说明:如果表达式成立,则执行语句1;如果不成立,则执行语句2
代码演示:
#双分支 # 从控制台输入一个数,判断这个数是否是偶数 num = int(input()) if num % 2 == 0: print(num,"是一个偶数") else: print(num,"不是一个偶数") #练习:从控制台输入一个数字,根据数字打印年龄段 age = int(input()) if age >= 18: print("成年人") else: print("未成年人")
2.3if-elif-else语句【多分支】
语法:
if 表达式1:
执行语句1
elif 表达式2:
执行语句2
elif 表达式3:
执行语句3
。。。。。
else:
执行语句n
说明:实现了多选一的操作,会根据不同的条件从上往下来进行匹配,如果匹配上了,则执行对应的语句,然后直接结束整个if-elif语句,但是,如果所有的条件都不成立的话,则执行else后面的语句
注意:不管if-elif-else有多少个分支,都只会执行其中的一个分支
代码演示:
#多分支 #需求:从控制台输入一个数字,根据数字打印年龄段 age = int(input()) if age < 0: print("输入有误") elif age <= 3: print("婴儿") elif age <= 6: print("儿童") elif age <= 12: print("青少年") elif age <= 18: print("青年") else: print("hello")
#练习:根据控制台输入的成绩,输出对应的等级 """ 90以上:优秀 80~90:良好 70~80:还行 70以下:加油吧,少年 """ score = int(input("请输入学生的成绩:")) if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 70: print("还行") else: print("") #容易出现的问题:冒号 中文 空格
2.4三者之间的区别
代码演示:
#三者之间的区别 n = 3 #多分支:多选一 if n > 1: print("a") elif n > 2: print("b") elif n > 3: print("c") else: print("d") #a #单分支:要么执行,要么不执行 if n > 1: print("a") #a if n > 2: print("b") #b #双分支:实现二选一 if n > 3: print("c") else: print("d") #d
2.5嵌套if语句
语法:
if 表达式1:
执行语句1
if 表达式2:
执行语句2
说明:if语句的嵌套,可以在单分支,双分支,多分支之间进行任意组合
代码演示:
score = int(input("请输入学生的成绩:")) if score < 0 or score > 100: print("输入有误") else: if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 70: print("还行") else: print("") age = int(input("请输入年龄:")) looks = input("请输入您的相貌:") if age >= 18: if looks == "美女": print("要微信") else: print("略过")
注意:从语法角度来说,嵌套的层数没有任何的限制,但是,为了代码的可读性和可维护性,嵌套层数不要超过3层