python入门之类型、条件、运算符、流程控制之if判断

1:可变、不可变类型
  • 可变类型:值改变,id不变,原值可以被修改

    可变类型包括:list,dict

    l = [111,222,333]
    print(id(l))
    l[0] = 444
    print(l)
    print(id(l)) # l中的第一个内容被修改,但两个结果id是相同的

    dic = {'k1':111,'k2':222}
    print(id(dic))
    dic['k1'] = 3333333333
    print(dic)
    print(id(dic)) # dic中的'k1'被修改,但是两个结果的id是相同的

    # 补充
    # 定义:{}内用逗号分隔开多key:value,
    # 其中value可以是任意类型
    # 但是key必须是不可变类型
  • 不可变类型:值改变,id也变了,原值不可被修改

    int、float、str是不可变类型

    x=10
    print(id(x))
    x=11
    print(id(x))
    
    x=3.1
    print(id(x))
    x=3.2
    print(id(x))
    
    x="abc"
    print(id(x))
    x='gggg'
    print(id(x))
    
    # 三个类型的两个结果值改变了并且两个结果的id也不相同
    结论:int、float、str都被设计成了不可分割的整体,不能够被改变

2、什么是条件?什么可以当做条件?为何要要用条件?
  • ? 显式布尔值:比较运算符、True、False
  • ? 隐式布尔值:所有数据类型,其中0、None、空为假
3:逻辑运算符:用来
  • not、and、or的基本使用

    # not:把紧跟其后的那个条件结果取反
    print(not 16 > 13)
    print(not True)
    print(not False)
    print(not 10)
    print(not 0)
    print(not None)
    print(not '')
    
    结果:
    False
    False
    True
    False
    True
    True
    True
    False
    
    # and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真
    print(True and 10 > 3)
    print(True and 10 > 3 and 10 and 0)
    print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3)
    
    结果:
    True
    0
    0
    # 运算中条件全部为真则为真,一个条件为假则为假
    
    # or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,个条件都为False的情况下,最终结果才为False
    print(3 > 2 or 0)
    print(3 > 4 or False or 3 != 2 or 3 > 2 or True)
    
    结果:
    True
    True
  • 区分优先级:not > and > or
    # 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
    # 如果是混用,则需要考虑优先级了
    
    res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3
    print(res)
    
    res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3
    print(res)
    
    结果:
    False
    False
4、成员运算符
  • in:某一个对象包含于另一个对象中

    print("egon" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
    print("e" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
    print(11 in [111,222,33]) # 判断元素是否存在于列表
    
    结果:
    True
    True
    False
    #判断key是否存在于字典
    print(111 in {"k1":111,'k2':222})
    print("k1" in {"k1":111,'k2':222})
    
    结果:
    False
    True
    
    #not in
    print("egon" not in "hello egon") # 推荐使用
    print(not "egon" in "hello egon") # 逻辑同上,但语义不明确,不推荐
    
    结果:
    True
    True
5、身份运算符
  • is:判断两个值的id是否相等

    x = 10
    y = 11
    l = [x,5]
    print(x is y)
    print(x is l[0])
    
    结果:
    False
    True
6、流程控制之if判断
  • 什么是流程控制

    流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)。

  • 分支结构

    1.什么是分支结构:

    分支结构就是根据条件判断的真假去执行不同分支对应的子代码

    2.为什么用分支结构?

    人类某些时候需要根据条件来决定做什么事情,比如:如果今天下雨,就带伞

    所以程序中必须有相应的机制来控制计算机具备人的这种判断能力

  • 如何用分支结构

    1.使用if语句来实现

    if 条件1:   # 如果条件1的结果为True,就依次执行:代码1、代码2,......
       代码1
        代码2
        ......
    elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4,......
       代码3
        代码4
        ......
    elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6,......
       代码5
        代码6
        ......
    else:     # 其它情况,就依次执行:代码7、代码8,......
        代码7
        代码8
        ......
    # 注意:
    # 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
    # 2、条件可以是任意表达式,但执行结果必须为布尔类型
         # 在if判断中所有的数据类型也都会自动转换成布尔类型
           # 2.1、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
           # 2.2、其余均为True

    2.if应用

    # 如果我大于22岁我就可以结婚
    age = 25
    if age > 22:
        print("我可以结婚了")
    # 如果:成绩>=90,那么:优秀
    
    # 如果成绩>=80且<90,那么:良好
    
    # 如果成绩>=70且<80,那么:普通
    
    # 其他情况:很差
    
    score=input('>>: ')
    score=int(score)
    
    if score >= 90:
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 70:
        print('普通')
    else:
        print('很差')   
    # if嵌套
    # 如果我大于22岁我就可以结婚,如果结婚了,那我很幸福,没结婚我就不幸福
    age = 25
    is_marry = True
    if age > 22:
        if is_marry:
          print("我很幸福")
        else:
            print("我不幸福")

原文地址:https://www.cnblogs.com/yding/p/12430119.html

时间: 2024-11-05 22:03:26

python入门之类型、条件、运算符、流程控制之if判断的相关文章

小白学 Python(8):基础流程控制(下)

人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变量基础操作 小白学 Python(5):基础运算符(上) 小白学 Python(6):基础运算符(下) 小白学 Python(7):基础流程控制(上) 循环结构 循环结构一般而言,就是一直做某件事情,直到满足某种条件. 正常的 while 循环 比如:学习使我快乐,一直学习一直快乐. 这好像和我上面

Python黑帽编程2.4 流程控制

Python黑帽编程2.4  流程控制 本节要介绍的是Python编程中和流程控制有关的关键字和相关内容. 2.4.1 if …..else 先上一段代码: #!/usr/bin/python # -*- coding: UTF-8 -*- x=int(input('请输入一个整数:')) if x==0: print '%d ==0' % x elif x<0: print '%d <0' % x else: print '%d >0' % x 这段代码使用if,elif和else三个

云计算开发教程:Python自动化运维开发实战流程控制

今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python自动化运维开发实战流程控制. Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句-- else: 执行语句-- 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范

流程控制之if判断+while循环+for循环

一.流程控制之if判断 编程的目的是让计算机代替人工,人脑除了能进行算术运算还能进行逻辑运算,所谓逻辑运算即人能根据外界的环境做出不同的反应,在计算机模仿人的逻辑思维判断的语句有,if语句. 1.语法1 # if 条件:  如果条件成立,执行下面的同一缩进级别的代码块(从上往下执行),下面的几条代码就是同一缩进级别的 # 代码1 # 代码2 # 代码3 # ... 2.语法2 # if 条件:  如果条件成立,执行代码A,否则执行else后面的代码B # 代码A # ... # else: #

js最基础知识回顾3(字符串拼接,数据类型,变量类型,变量作用域和闭包,运算符,流程控制,)

一.javaScript组成     1.ECMAScript:解释器.翻译 ---------------------------------------------------------几乎没有兼容性问题     2.DOM:Document Object Model --------操作HTML的能力----document--------有一些兼容性问题     3.BOM:Browser Object Model -------------浏览器---------------wind

运算符 流程控制

一.运算符 1,算术 + - * /      % -- 取余 ++ --      +=  -= 加法:+        一般用于数字之间的运算    另外:用于字符串的拼接             任何类型的数据和字符串相加,结果都是字符串 除法:       注意结果的类型       java.lang.ArithmeticException: / by zero ++ -- :         复合运算符的位置 如果没有其他运算符参与,        在前和在后,效果一样 2,比较运算

4 运算符 流程控制

1.格式化输出 现有一练习需求,问用户的姓名.年龄.工作.爱好 ,然后打印成以下格式 name = input("Name:") age = input("age:") job = input("job:") hometown = input("hometown:") print("-----info of", name , "-----") print("Name:"

python 学习之 基础篇三 流程控制

前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进,防止缩进不规范导致的启动失败. 二.在python中变量(标识符)命名和一般的高级语言没有什么不同都推荐使用,字母.下划线.数字命名,其中数字不能作为标识符的开头,python中变量名是区分大小写的(所以可以使用驼峰命名法去命名,也就是英文单词的字母首字母大写其余的小写).以下划线开头的标识符是有

PHP 运算符 流程控制

PHP运算符优先级: 递增/递减 (++ / --) > 算术运算符(+ .- .* ./) > 大小比较 > 逻辑与 (&)> 逻辑或(||) > 三目 > 赋值 > and > or 递增/递减 不影响布尔值 对null递减无效果 对null递增为加1 逻辑运算 短路作用 $a = true || $b == 3   $ b == 3 不会执行 优先级 $a = false || true    $a结果为true $a = false or t