python笔记2

这篇博客详细介绍了Python中的运算符,包括算术、赋值、关系、逻辑、成员和身份运算符,并深入讲解了IF分支结构,如单分支、双分支、多分支和嵌套IF语句,强调了条件表达式的使用和代码结构的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python运算符&IF分支结构

一、表达式和运算符

1.表达式

操作数和运算符组成的式子就叫做表达式   比如: 1+1
作用:可以用于求值或者给变量赋值等.

2.运算符【掌握】

2.1. 算术运算符

+   -    *【乘法】   /【除法】   %【求余或者取模】  **【求幂或者几次方】  //【取整】

代码演示:

# + - * / %(求模或者取余) **(求几次幂)  //(取整)   算术运算符
num1 = 12
num2 = 4
num3 = 7
print(num1 + num2)  #  加法运算
print(num1 -num2)   #  减法运算
print(num1 * num2)  #  乘法运算
print(num1 / num2)  #  除法运算
print(num1 % num3)  # 取计算后的余数    5
print(num1 ** num2) # 取某个数的几次方   20736
print(num1 // num3) # 取计算后的商      1

2.2. 赋值运算符

简单赋值运算符:= 给一个变量进行赋值

复合赋值运算符:+= -= %= /= ... 给一个变量进行赋值,同时给变量进行相应的运算

代码演示:

#简单的赋值运算符
num = 98
#  = 表示将98 赋给 num这个变量
print(num)
​
# 复杂的赋值运算符    +=  -=  /=   %=
num += 10     #相当于  num = num + 10
print(num)
​
num -= 8     #相当于  num = num - 8
print(num)
​
num *= 2   # 相当于 num = num * 2
print(num)

2.3. 关系【条件,比较】运算符

作用:比较大小,得到结果为布尔值【如果表达式成立,则返回True,如果不成立,则返回False】

>   <   >=    <=    ==【等号】    != 【不等于】 

使用场景:if语句,循环

代码演示:

#   常见的比较运算符  >   <   >=    <=    ==【等号】    != 【不等于】
a = 67
b = 23
c = 67
print(a > b)   # 输出的结果是:True
print(a < b)   # 输出的结果是:False
print(a >= c)   # 输出的结果是:True
print(a <= c)   # 输出的结果是:True
​
print(a == c)   # 输出的结果是:True
print(a != c)   # 输出的结果是:False
print(a != b)   # 输出的结果是:True

2.4. 逻辑运算符

and : 与, 并且

or: 或, 或者

not:非, 取反

逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。

因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量.

而或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量,

# 逻辑运算符  and  or   not
​
#  and 表示与或者 并且的意思
#注意: 表达式两边都为真,则表达式为真
'''
print(True and True)  #结果为True
print(False and True)  #结果为False
print(True and False)  #结果为False
print(False and False)  #结果为False
'''
​
# or 表示或的意思
#注意:表达式中只要有一个为真,则整个表达式为真
"""
print(True or False)   #结果为True
print(False or True)   #结果为True
print(False or False)  #结果为False
"""
​
# not 表示非或者取反的意思
​
'''
print(not True)  #结果为False
print(not False) #结果为True
print(not [])  #结果为True   表示  []是False
print(not {})
​
'''
​
'''
#练习:
a = 12
b = 3
c = 10
print(a > b and b > c)
'''
​
​
#bool类型的判断(记住)
'''
数字类型中,0 为False  其余的全部为True
字符串类型中, "" 或者 '' 为False  
None:为False
list:[]为False
dict:{}为False
tuple:()为False
'''
​
#and短路操作
#  1.and的两边都为真,则整个表达式为真
#  2.从表达式的左边往右依次进行判断,能得出结果直接返回结果,否则往后面继续判断.
​
'''
print(0 and 3)   # 0
print(10 and 3)  # 3
print(11 and 0)  # 0
'''
​
# or 短路操作
'''
1.or的两边都为假,则整个表达式为假, 只要有一个为真,则整个表达式为真.
2.从表达式的左边向右依次进行判断,能得出结果直接返回结果,否则往后面继续判断
'''
a = 11
b = 4
print(3 or 0)   # 3
print(0 or 3)   # 3
print(0 or 0)   # 0
print(0 or a > b)  #True
print(a < b or 0)  # 0
​
# 练习: 判断2020年是否是闰年
'''
1.闰年是能被4 整除 且不能被100整除
'''
year = 2020
print(year % 4 == 0 and year % 100 != 0)    #True 表示2020年是闰年

2.5. 成员运算符和身份运算符

成员运算符:

in, not in

身份运算符:(了解)

is, is not

# 成员运算符   in  not in
print(2 in [23,12,2,34,54])    #True
print("welcome" in "welcome to shenzhen")  #True
print("熊出没" in ["熊出没","喜洋洋与灰太狼","名侦探柯南"])   #True
print("猪猪侠" not in ["蜘蛛侠","钢铁侠","黑侠","绿箭侠","煎饼侠"]) #True
​
#判断输入的月份是否是31天
month = int(input("请输入月份:"))
print(month in [1,3,5,7,8,10,12])
​
​
# 身份运算符(了解)   is  is not
#判断内存地址是否相同
# id():获取内存地址
x = 8
y = 8
print(id(x))
print(id(y))
print(x is y)   #True
print(x is not y)  #False

2.6. 位运算符【扩展】(了解)

a = 60 二进制 00111100

b = 13 二进制 00001101

&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1,相同时,结果为0(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

前提:将数字转换为二进制使用

&【按位与】 |【按位或】 ^【按位异或】 << 【左移】 >>【右移】

代码演示:

# 位运算符主要有 &   |   ^  <<    >>
​
# a = 60    二进制  00111100
​
# b = 13    二进制  00001101
​
a = 60  # 00111100
b = 13  # 00001101
print(a & b)   # 12   # 00001100 ====> 1* 2^3 + 1*2^2 = 12
print(a | b)   # 61   # 00111101 ====> 1*2^5+1*2^4+1*2^3+1*2^2+1=32+16+8+4+1=61
print(a ^ b)   # 49   # 00110001 ===>1 * 2^5+1*2^4+1 = 32+16+1 = 49
print(a << 2)  # 240  # 00111100 ===>11110000===>1*2^7+1*2^6+1*2^5+1*2^4 = 128+64+32+16 = 240

二、分支【重点掌握】

1.代码结构

顺序结构:代码从上往下依次执行

分支结构:根据不同的条件,执行不同的语句

循环结构: 根据指定的条件,重复执行某段代码

2.分支结构-if语句

2.1简单if语句【单分支】

语法:

if 表达式:

执行语句

说明; 要么执行,要么不执行,当表达式成立的之后,则执行语句;如果表达式不成立,则直接跳过整个if语句继续执行后面的代码

注意:表达式为真(True)才执行语句

假:0 0.0 False " " ' ' None【空值】 [] {} ()

一般情况下,表达式使用都是比较运算符

代码演示:

# 单分支结构
a = 10
b = 4
if a > b:
   print("a>b成立")
​
if a < b:
 print("a<b成立")
​
print("测试单分支结构")
​
#练习:
age = int(input("请输入昊昊的年龄:"))
if age > 18:
 print("可以做些成年人的事情了")

2.2if-else语句【双分支】

语法:

if 表达式:

执行语句1

else:

执行语句2

说明:如果表达式成立,则执行语句1;如果不成立,则执行语句2 if区间的语句和else区间的语句永远不会同时出现.

代码演示:

#从控制台输入一个数字,判断输入的数字是否是偶数
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有多少个分支,都只会执行其中的一个分支

代码演示:

'''
 90分以上:优秀
 80-90:良好
 60-80:还行
 60以下:加油吧,骚年
'''
'''
score = int(input("请输入你的成绩:"))
if score >= 90:
 print("优秀")
elif score >= 80:
 print("良好")
elif score >= 60:
 print("还行")
else:
 print("加油吧!骚年")
'''
​
'''
 1000000以上:高收入  
 500000以上:中产   
 200000以上:低产    
 50000以下:低保户
'''
money = int(input("请输入你的年收入:"))
if(money > 1000000):
 print("高收入人群")
elif(money > 500000):
 print("中产")
elif(money > 200000):
 print("低产")
elif(money > 50000):
 print("小低产")
else:
 print("低保户")

2.4嵌套if语句

语法:

if 表达式1:

执行语句1

if 表达式2:

执行语句2

说明:if语句的嵌套,可以在单分支,双分支,多分支之间进行任意组合

代码演示:

#if嵌套语句
​
looks = input("请输入你的相貌:")
money = int(input("请输入你的财富:"))
skin = input("请输入你的皮肤:")
​
if looks == "肤白嫩美大长腿":
    if money >= 120000:
      if skin == "吹弹可破":
            print("做我强哥的大宝贝吧!")
      else:
            print("少涂粉吧,保养一下")
else:
     print("收入太少,还不够我吃软饭的.")q
else:
print("不够白,不够嫩,腿不够长")
​

注意:从语法角度来说,嵌套的层数没有任何的限制,但是,为了代码的可读性和可维护性,嵌套层数不要超过3层

总结:

1.python中常见的数据类型:
    int  float  str  bool none  list  tuple  dict  set  bytes
2.运算符:
    算术运算符:+ - * / % ** //
    比较运算符: > < >= <= ==(等于)  !=(不等于)
    赋值运算符: = (赋值)  +=   -=  *=  /=   %=  
    逻辑运算符: and(与)   or(或)   not(非)
    成员运算符:in   not  in
    身份运算符:is   not  is  (了解)
    位运算符:  &   |   ^   >>   << (了解)
3.分支结构
    单分支:  if  表达式:
                执行语句
    双分支:
            if 表达式:
                执行语句1
            else:
                执行语句2
    多分支:
            if 表达式1:
                执行语句1
            elif 表达式2:
                执行语句2
            elif 表达式3:
                执行语句3
                .....
            else:
                默认的执行语句
    if嵌套:
        if 表达式1:
            if 表达式2:
                if 表达式3:
                    执行语句
        
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值