python 3 变量 +运算符+if 分支结构

python 3 变量 +运算符+if 分支结构

一、 变量

1. 重新赋值

重新赋值后,使用的就是新创建的值,可以给变量赋值不同类型的数据

a=8888              #创建a,并赋值8888
print(a)     

a='study'
print(a)
2. 同时定义多个变量
1) 同时定义多个变量赋相同的值
  • 方法:变量名1=变量名2=变量名3=···=数据

    a=b=c=d=e=f=666
    print(a,b,c,d,e,f)
    #可以按下述方法设置:
    a=666;b=666;c=666;d=666;e=666;f=666
    print(a,b,c,d,e,f)     #缺点是不简便
    
2)同时定义多个变量赋不同的值
  • 方法:变量名1,变量名2,变量名3,···=数据1,数据2,数据3,···

  • 注意:等号后数据的个数和前面的变量个数保持一致

    a,b=22,88
    print(a,b)
    
  • 练习:交换两个变量的值

    方法1:

    a=66
    b=88
    a,b=b,a
    print(a,b)     # 88  66
    

    方法2 :借助第三个变量

    a=66
    b=88
    c=a
    a=b
    b=c
    print(a,b)    #88  66  此种方式比较繁杂
    
3. 变量保存的基本逻辑
1) python中
  • 原理:定义变量的时候,会自动申请内存,申请内存空间大小是根据输入的数据的大小给出所需空间。

  • 常识补充:(1) 内存分为2两种;内存(作用:与cpu沟通桥梁、决定运行速度的快慢); 硬盘(作业:电脑存储装置,增大电脑的存储空间)

    (2) 单位补充:

    #位(bit)
    #1字节(byte)
    #1kb=1024字节
    #1Mb=1024kb
    #1Gb=1024Mb
    #1Tb=1024Gb

2)Java、C语言、python内存申请方式的区别

(1) java、C语言:根据数据类型给出空间大小;

  • 优点:运行速度快
  • 缺点:(1)会出现实际数据的存储空间小,但是占用空间大。(2)实际数据存储空间大,所给空间太小,放不下(溢出)。(3)有的数据具有成长性,需要考虑清楚空间大小。

(2) python:根据数据大小来申请,最多浪费以位位单位的空间.

  • 优点:不会浪费空间
  • 缺点:再给出数据所需空间前会提前计算该数据所需要的存储空间,运行速度慢。(因为要计算空间)

(3) python、Java、C语言如何重新赋值

  • Python如何重新赋值:根据数据大小来申请,最多浪费是以位位单位,重新赋值根据数据大小重新给空间,在与新的变量产生关联。
  • Java、C如何重新赋值:因为c语言是根据数据类型给出空间大小,及所存储的数据类型固定不变的,所以重新赋值后只能存放前面固定好的空间内。要是想增大存储空间,需要去手动申请内存空间

二、运算符

1. 数学运算符

数学运算符:+(加),-(减)、*(乘)、/(除)、%(取余,取模),**(幂运算)

1)+(加)、-(减)、*(乘)、/(除法)
  • 功能:以上四种运算方式和数学中的+、-、×、÷功能一样

    print(5+2)   #7  
    print(5-2)   #3
    print(5*2)   #10
    print(5/2)   #2.5
    
  • 注意:/的运算结果一定是浮点数;其他的运算符的运算结果的类型与运算对象有关;如果运算对象有浮点数,结果一定有浮点数

    print(5.0+2)     #7.0
    print(5.2-2.2)   #3.0
    print(5.0*2)     #10.0
    print(5/2)       #2.5
    print(50/5)      #10.0
    print(2/2)       #1.0
    print(2.0/2)     #1.0
    
2)//(整除)
  • 意义:X//Y - 求X除以Y的商,商向小取整(找和小数相邻的两个整数中,取较小的那个)
print(5//2)        #2;  2  2.5  3
print(-5//2)       #-3: -2  -2.5  -3
  • 应用场景:

    • 场景1:希望能整除的情况下商是整型
    print(4/2)         #2.0
    print(int(4/2))    #2      添加转换字符类型,可转换成整数
    print(4//2)        #2   
    
    • 场景2:去掉(砍掉)一个整数的低位数,保留高位数(整除的数必须是10)
    num=45678
    print(num//10)     #4567
    print(num//10000)  #4
    
3)%(取余、取模)
  • 意义:X%Y - 求x除以y的余数

    print(10%2)    #0
    print(125%3)   #2
    
  • 应用场景

    •   场景1:判断两个数字之间的整除关系  -   判断余数是否为0;(判断一个数是不是偶数,就去判断78除以2的余数是不是0.如果是0,那就是偶数)
      
     print(78%2)    #0   偶数
     print(71%2)    #1  奇数
    
    • 场景2:去掉高位数,保留低位数

      num=27283
      print(num%10)     #3
      print(num%100)    #83
      

      练习:获取任意一个正整数的十位数

      num=8271
      #方法1:
      print(num//10%10)
      #方法2:先取后两位%100,再去掉个位//10
      print(num%100//10)
      
4)** -幂的运算
  • 意义:x**y - 求x的y次方

    print(2**3)      #8
    print(5**4)      #625
    print(16**0.5)   #4.0
    print(2**-2)     #0.25
    print(8**(1/3))  #2.0
    
2. 比较运算符
  • 类型:<(小于),>(大于),==(等于),>=(大于等于),<=(小于等于),!=(不等于)

  • 注意1:所有的比较运算符的结果都是布尔值。

  • 例题练习

    age=13
    print('是否成年;',age>=18)    #是否成年; False
    ##练习 判断89是不是偶数
    num=89
    print('是否是偶数:',num%2==0)   #是否是偶数: False
    
  • 注意2:Python的比较运算符可以用来直接连接表示范围

    x=23.5
    print('x是否在10~25之间:',10<=x<=25)  #x是否在10~25之间: True
    
3. 逻辑运算符

逻辑运算符and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

条件类型

  • 单一条件:如果下雨;如果温度高于35度
  • 复合条件:有多个条件组合在一起的条件叫做复合条件,组合方式:并且(要求多个条件同时成立)、或者(要求多个条件中只要有一个条件成立即可)。
1) and - 逻辑与运算
  • 应用场景:如果需要多个条件同时成立,就用and连接,相当于生活中的“并且”。
  • 运算规则:条件1 and 条件2 — 如果两个条件都成立就是True,只要有一个不成立结果就是False
#练习:写条件判断num是否是大于10的偶数
num=34
#分析条件类型:看是单一条件还是复合条件
#所有条件:大于10(num>10)、是偶数(num%2==0)
#分析连接方式:num10>10 and num%2==0
print('num是否是大于10的偶数:',num>10 and num%2==0)     #num是否是大于10的偶数: True
#练习:写条件num是否能同时被3和7整除
#类型:复合
#能被3整除(num%3==0)、能被7整除(num%7==0)
#方法1
 num=34
 print('num是否能同时被3和7整除:',num%3==0 and num%7==0)   #num是否能同时被3和7整除: False
#方法2 如果一个数能同时被3和7整除,那么就可以去整除这两个数的最小公倍数。看其余数是否为0
num=34
print('num是否能同时被3和7整除:',num%21==0)
2)or - 逻辑或运算
  • 应用场景:如果多个条件中有一个条件成立就行,就用or连接:相当于生活中的或者

  • 运算规则:条件1 or条件2 ------ 如果两个条件都不成立,结果就是False,只要有一个条件成立结果就是True.

    #判断year是否是闰年
    year=2000
    print('year是否是闰年:',year%4==0 and year%100!=0 or year%400==0)   #year是否是闰年: True
    
3) not - 逻辑非运算
  • 应用场景:对指定条件进行否定(如果一个条件正想写情况很多,反向却非常简单,那么)

  • 预算规则:not 条件

    # 年龄不大于18
    age=19
    print(not age>18)   #False 年龄不大于18
    print(age<=18)      #False年龄小于等于18,根据场景,反过来写,可替代性比较强
    判断num不是偶数
    num=89
    print('num是不是偶数:',not num%2==0)   #num是不是偶数: True
    print('num是不是偶数:',num%2!=0)  	#num是不是偶数: True
    
4. 赋值运算符

1) 类型: =、+=、-=、*=、=、//=、**=

2)作用: 所有赋值运算符的作用就是给变量赋值的,所有的赋值运算都是没有结果的,无法提供数据,凡是需要数据的地方不能用赋值来提供

3) 运算符的使用

  • = ---- 直接赋值,

    即:变量=数据 - 将数据保存到变量中,变量即可以是定义过的变量,也可以是没有定义过的变量

  • 复合赋值运算符
    即:变量+=数据 - 先将变量中的数据湖取出来,然后和后面的数据进行加法运算,然后将计算结果再赋值给变量。

  • 要求:变量必须是已经定义过的变量,并且里面保存的数据可以和后面的数据进行加法运算

      a=20
      a+=10    #该语句作用相当于四a=a+10----->a=20+10--->a=30
      print(a)       # 30
      #另一个例子:
      a=20
      a=-5    #a=a-5-->a=30-5=25
      a*=2    #a*=2--->a=2乘25=50
      a%=3    #a%=3---->a=50÷3=16...3
      print(a)      #2
    
5.运算符的优先级
  • 数学运算符>比较运算符> 逻辑运算符>赋值运算符(最低的)
  • 不同的数学运算符的优先级和数学一样。(**>*、/、%、//>+、-)
  • 有括号先算括号里面的 - ( )

三、分支结构

1. 程序的执行过程(顺序结构)
  • 默认情况:程序从上往下按顺序一条一条执行,每一条语句都会执行并且只会执行一次。(但是,在实际业务需求,只需要执行部分条件,不需要全部执行就需要分支结构)
2. 分支结构
1)if 单分支结构
  • 结构: 如果xxx 就 xxx (满足条件执行某个操作,条件执行,不满足的时候这个操作就不执行) (补充and,or,not是关键字)

  • 语法:

    if 条件语句
    代码段 【该行按Tab键缩进,不缩进,会报错】

  • 说明:
    1)if - 关键字:固定写法
    2)条件语句:可以使任何有结果的表达式(比如:具体的数据、运算符表达式、已近定义过的变量,只有赋值语句不行,因为它无结果)
    一般将结果是布尔的表达式作为条件
    3): - 固定写法(注意输入法问题)
    4):代码段 - 结构上就是和if保持一致的一个缩进的一条或者多条语句(至少一条!!!);
    逻辑上,就是满足条件才会执行的代码。

  • 执行过程:先判断条件语句是否成立(如果条件语句的结果不是布尔,就转换成布尔看是否是True),如果成立就执行代码段,条件不成立,代码段就不执行。

    num=24
    if 24<30:
    	print('True')     #True
    #以下写法了解:  
    num=231
    if num % 2:
         print('====')    #====   根据布尔值来判断,若条件语句的结果为0,布尔值为False,不执行代码块;条件语句的结果为0以外的数,布尔值为True,执行代码块。
    
2)if 双分支结构
  • 结构:if双分结构 - 如果xxx就xxx,否则就xxx(条件成立,执行某个操作,不成立就执行另外一个操作。)

  • 语法:

    if 条件语句:
    代码段1(满足条件执行的代码)
    else:
    代码段2(不满足条件执行的代码)

    age=29
    if age>=18:
         print('成年')
    else:
         print('未成年')   #成年
    #练习:根据year的值打印“闰年”或平年
    year=int(input('请输入年份'))
    if (year%4==0 and year%100!=0) or (year%400==0):
         print('闰年')
    else:
         print('平年')      
     ##请输入年份4080
    闰年
    
3) if 多分支结构

版权声明:本文为woaixuexi6666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。