【笔记】Python 程序设计基础

文章目录

  • 前言
  • 第1章 Python 语言概述
  • 1.1 Python 转义字符
  • 1.1.1 Python 常用的转义字符
  • 1.1.2 应用实例
  • 第2章 变量
  • 2.1 为什么需要变量
  • 2.1.1 一个程序就是一个世界
  • 2.1.2 变量是程序的基本组成变量
  • 2.1.3 简单的原理示意图
  • 2.2 变量的介绍
  • 2.3 变量快速入门
  • 2.4 格式化输出
  • 2.5 程序中 +号的使用
  • 2.6 数据类型
  • 2.6.1 基本数据类型-目前用到的
  • 2.6.2 type() 函数-查看数据类型
  • 2.7 整数类型
  • 2.7.1 基本介绍
  • 2.7.2 整型的使用细节
  • 2.8 浮点类型
  • 2.8.1 基本介绍
  • 2.8.2 浮点型使用细节
  • 2.9 布尔类型 bool
  • 2.9.1 基本介绍
  • 2.9.2 案例演示
  • 2.9.3 使用细节
  • 2.10 字符串 str
  • 2.10.1 基本介绍
  • 2.10.2 案例演示
  • 2.10.3 使用注意事项
  • 2.10.4 字符串驻留机制
  • 2.11 数据类型转换
  • 2.11.1 隐式类型转换
  • 2.11.2 显式类型转换
  • 2.11.3 显示类型转换注意事项
  • 第3章 运算符
  • 3.1 运算符介绍
  • 3.2 算术运算符
  • 3.2.1 基本介绍
  • 3.2.2 算术运算符一览
  • 3.2.3 案例演示
  • 3.2.4 细节说明
  • 3.2.5 案例
  • 3.3 比较运算符
  • 3.3.1 介绍
  • 3.3.2 比较运算符一览
  • 3.3.3 案例演示
  • 3.3.4 细节说明
  • 3.4 逻辑运算符
  • 3.4.1 基本介绍
  • 3.4.2 and 案例演示
  • 3.4.3 使用注意事项
  • 3.4.4 or 案例演示
  • 3.4.5 使用注意事项
  • 3.4.6 not 案例演示
  • 3.5 赋值运算符
  • 3.5.1 基本介绍
  • 3.5.2 案例演示
  • 3.5.3 赋值运算符特点
  • 3.6 三元运算符
  • 3.6.1 基本语法
  • 3.6.2 应用案例
  • 3.6.3 练习
  • 3.7 关键字
  • 3.8 键盘输入语句
  • 3.8.1 介绍
  • 3.8.2 应用实例演示
  • 第 4 章 进制
  • 第5章 程序控制结构
  • 5.1 程序流程控制介绍
  • 5.2 顺序控制
  • 5.3 分支控制 if-else
  • 5.3.1 介绍
  • 5.3.2 单分支
  • 5.3.3 双分支
  • 5.3.4 单分支和双分支练习题
  • (未完………..持续更新中…………)

  • 前言

    一些简单的…繁杂的记录…争取一个月之内写完python的基础内容(包括:程序控制结构、函数、数据容器、排序和查找、模块和包、面向对象等等…
    人生苦短,我用python!!!

    第1章 Python 语言概述

    1.1 Python 转义字符

    1.1.1 Python 常用的转义字符

    -Python 常用转义字符

    1、\t : 一个制表位,实现对齐的功能
    2、\n : 换行符
    3、\\ : 一个\
    4、\" : 一个"
    5、\' : 一个'
    6、\r : 一个回车
    

    1.1.2 应用实例

    # \t制表符
    print("jack\t20")
    
    # \n换行
    print("Hello,jack\nhello,tom")
    
    # \\ 输出\
    print("D:\\python\\chapter02")
    
    # \" 输出"
    print("杨过说:\"小龙女你嫁给我吧\"")
    
    # \' 输出 '
    print("郭靖说:\'hello\'")  # 单引号也可以不使用转义 \
    
    # \r是回车
    print("段誉向西行,\r他虽不会武功")
    

    第2章 变量

    2.1 为什么需要变量

    2.1.1 一个程序就是一个世界

    2.1.2 变量是程序的基本组成变量

    1、不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位

    2、变量有三个基本要素(类型+名称+值)

    3、应用实例

    # 变量的实例
    
    # 定义了一个变量, 变量的名称a , 变量的值是1, 1是int类型(整数类型)
    a = 1
    # 定义了一个变量, 变量的名称b , 变量的值是2, 2是int类型(整数类型)
    b = 2
    # 变量b的值修改成8, 变量b的值就是8, 8是int类型。。 integer
    b = 8
    
    # 输出变量的值, type(a) 表示输出a的类型
    print("a的值是", a, "类型是", type(a))
    print("b的值是", b, "类型是", type(b))
    

    2.1.3 简单的原理示意图

    2.2 变量的介绍

  • 变量的概念

    1)变量下能当于内存中一个数据存储空间的表示
    2)你可以把变量看作是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)
    
  • 变量使用的基本步骤

    定义变量:a=60
    使用:		print(a)
    
  • 需要先定义变量,才能使用,否则会提示 not defined

    # 变量使用的错误形式
    # print(c)
    # c = 30
    
  • 2.3 变量快速入门

  • 变量使用入门案例
    # 演示记录人的信息并输出的程序

    name = "tom"  # 字符串
    age = 20  # 整型
    score = 90.4  # 浮点型(小数)
    gender = "男"  # 字符串
    
    # 输出信息
    print("个人信息如下:")
    print(name)
    print(age)
    print(gender)
    print(score)
    
    # 输出信息
    print("个人信息如下:", name, age, gender, score)
    
  • 2.4 格式化输出

  • 格式化输出

    1)%操作符
    参考:https://blog.csdn.net/hesongzefairy/article/details/104179419
    2)format()函数
    参考:https://www.runoob.com/python/att-string-format.html
    3)f-strings
    参考:https://blog.csdn.net/weixin_44200553/article/details/130408971
    

    (%是格式化操作符相当于一个占位符)

    %s 输出字符串
    %d 输出整数 (%06表示输出6位整数 不足的位数补0)
    %f 输出浮点数 (%.2f表示输出小数点后保留两位小数)
    %% 输出%

    语法:print(“格式化字符”%(变量1,变量2…))

  • 举例说明

    # 格式化输出案例
    # 定义变量
    age = 80
    score = 77.5
    gender = '男'
    name = "贾宝玉"
    
    # %操作符输出
    print("个人信息: %s-%d-%s-%.2f" % (name, age, gender, score))  //注意类型要匹配!!!
    
    # format()函数
    print("个人信息: {} {} {}".format(name, age, gender))
    
    # f-strings[推荐]
    print(f"个人信息: {name} {age} {score} {gender}")
    
  • 2.5 程序中 +号的使用

    1、当左右两边都是数值型时,则做加法运算

    2、当左右两边都是字符串,则做拼接运算

    3、举例说明

    # +号的使用案例
    
    name = "king"
    score = 50.8
    num1 = 10
    str1 = " ok"
    
    print(score + num1)  # 60.8
    print(name + str1)  # king ok
    print(score + 90)  # 140.8
    print(name + " hi")  # king hi
    print("100" + "98")  # 10098
    print(34.5 + 100)  # 134.5
    
    # print(100 + 100)  # 200
    # print("100" + "100")  # 100100
    # print("100" + 3)  # 报错
    

    2.6 数据类型

    2.6.1 基本数据类型-目前用到的

    类型 描述
    整型 int 整数:比如:1,-1,200 等
    浮点型 float 小数:比如:1.1 -4.5 900.9 等
    布尔值 bool 布尔值就是我们常说的逻辑,可以理解为对(True)或错(False)
    字符串 (string) 字符串就是字符组成的一串内容,Python中用成对的单引号或双引号括起来,比如"~hello"
  • 基本介绍
    1、Python中的变量在使用前都必须赋值,变量赋值以后该变量才会被创建
    2、我们所说的”类型“是变量所指的内存数据类型
  • 解读
    1、a,b是变量,它是没有类型的
    2、a,b变量是指向的/代表的数据"hello",100是有数据类型的,“hello”,100有些地方也称为字面量
  • 2.6.2 type() 函数-查看数据类型

    1、通过type() 函数,来查看数据的类型

    2、type() 基本使用

      -语法:type(object)
      -解读:object就是你要查看类型的数据,可严实一个具体的数据(即:字面量),也可以是变量(也就是查看该变量指向的数据的类型)
    

    3、案例说明

    # 演示type()使用
    
    name = "tom"  # 字符串
    age = 20  # 整型
    score = 90.4  # 浮点型(小数)
    gender = "男"  # 字符串
    is_pass = True  # bool类型
    
    # 查看变量的类型(本质是查看变量指向的数据的类型)
    print(type(name))
    print(type(age))
    print(type(score))
    print(type(gender))
    print(type(is_pass))
    
    # type可以直接查看具体的值(字面量)的类型
    print(f"hello 的类型是{type("hello")}")
    print(f"1.1 的类型是{type(1.1)}")
    print(f"30 的类型是{type(30)}")
    print(f"True 的类型是{type(True)}")
    

    2.7 整数类型

    2.7.1 基本介绍

    -Python 整型就是用于存放整数值的,比如12,30,3456,-1等等

    -案例演示

    # 使用
    n1 = 45
    n2 = 88
    print("n1=",n1)
    print("n2=",n2)
    

    2.7.2 整型的使用细节

    1、Python中的整型,可以表示很大的数(官方:the limit(4300 digits)for integer)

    import sys
    
    # 讲解int类型的细节
    # 在python中,int可以表示很大数
    # the limit (4300 digits) for integer
    n3 = 9 ** 888
    print("n3 =", n3, type(n3))
    

    2、Python的整数有十进制,十六进制,八进制,二进制

    -十进制就是我们最常见的写法,比如 1、66、123等

    -十六进制写法:加前缀 0x,由 0-9 和 A-F 的数字和字母组合

    -八进制写法:加前缀 0o,由 0-7 数字组合

    -二进制写法:加前缀 0b,只有 0 和 1 数字组合

    -运行时,会自动转换为十进制输出

    # python的整数有十进制,十六进制, 八进制,二进制表示
    print(10)
    # 十六进制
    print(0x10)
    # 八进制
    print(0o10)
    # 二进制
    print(0b10)
    

    3、简单介绍十六进制、八进制、二进制

    4、Python中的整型占多少个字符

    字节(byte):计算机中基本存储单元

    位(bit):计算机中最小存储单位

    1byte = 8bit

    -字节数随着数字增大而增大(即:python整型是边长的)
    -每次的增量是4个字节
    

    # 字节数随着数字增大而增大
    
    n1 = 0
    n2 = 1
    n3 = 2
    n4 = 2 ** 15
    n5 = 2 ** 30
    n6 = 2 ** 128
    # 在python中, 可以通过sys.getsizeof 返回对象(数据)的大小(按照字节单位返回)
    
    print(n1, sys.getsizeof((n1)), "类型", type(n1))
    print(n2, sys.getsizeof((n2)), "类型", type(n2))
    print(n3, sys.getsizeof((n3)), "类型", type(n3))
    print(n4, sys.getsizeof((n4)), "类型", type(n4))
    print(n5, sys.getsizeof((n5)), "类型", type(n5))
    print(n6, sys.getsizeof((n6)), "类型", type(n6))
    print(sys.getsizeof(10))  # 28字节
    

    2.8 浮点类型

    2.8.1 基本介绍

    -Python的浮点类型可以表示一个小数,比如123.4,7.8,-0.12等等

    -案例演示

    n1 = 4.5
    n2 = -3.6
    print("n1 =", n1)
    print("n2 =", n2)
    

    2.8.2 浮点型使用细节

    1、浮点数表示形式如下

    -十进制数形式:如:5.12 .512(必须有小数点)

    -科学计数法形式:如:5.12e2,5,12E-2

    2、浮点数有大小限制 边界值为:

    max=1.7976931348623157e+308

    min=2.225073858072014e-308

    浮点类型计算后,存在精度的损失,可以使用 Decimal 类进行精确计算

    案例说明

    # 浮点类型的表示形式
    n3 = 5.12
    n4 = .512
    print("n4 =", n4)
    
    # 科学计数法形式:如:5.12e2,  5.12E-2
    n5 = 5.12e2  # 5.12乘以10的2次方 512.0
    n6 = 5.12E-2  # 5.12除以10的2次方 0.0512
    print("n5 =", n5)
    print("n6 =", n6)
    
    # 浮点类型计算后, 存在精度的损失, 可以使用 Decimal 类进行精确计算
    # 如何解决
    # 1. 为了避免浮点数的精度问题,可以使用Decimal 类进行精确计算
    # 2. 如果使用Decimal 类 , 需要导入Decimal 类
    
    # 导入Decimal 类
    from decimal import Decimal
    
    # b = 8.1 / 3  # 2.6666666669
    b = Decimal("8.1") / Decimal("3") # 2.7
    print("b =", b)
    

    2.9 布尔类型 bool

    2.9.1 基本介绍

    1、布尔类型也叫 boo l类型,取值 True 和 False

    2、True 和 False 都是关键字,表示布尔值

    3、bool类型适用于逻辑运算,一般用于程序流程控制

    -条件控制语句

    -循环控制语句

    比如判断某个条件是否成立,或者在某个条件满足时执行某些代码

    2.9.2 案例演示

    -案例演示

    # bool类型的基本使用
    num1 = 100
    num2 = 200
    
    if num1 > num2:
        print("num1 > num2")
    
    # 表示把 num1 > num2 的结果赋给 result变量
    result = num1 > num2
    print("result =", result)
    
    # 看看result的数据类型
    print("result的类型:", type(result))
    print(type(1 > -1))
    

    2.9.3 使用细节

    1、布尔类型只有两个值:True 和 False

    2、布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1,False 视为 0

    3、在 Python 中,非 0 被视为真值,0 被视为假值

    4、应用实例

    # 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,
    # Python 会将 True 视为 1,False 视为 0
    
    b1 = False
    b2 = True
    
    print(b1 + 10)  # ? 10
    print(b2 + 10)  # ? 11
    
    # 说明
    # b1 = 0: 表示赋值, 把0赋给b1
    # b1 == 0 : 表示判断 b1是否和0相等
    if b1 == 0:
        print("OK")
    
    if b2 == 1:
        print("HI")
    
    # 在Python中,非0被视为真值,0值被视为假值
    
    if 0:
        print("哈哈")
    
    if 1.1:
        print("嘻嘻")
    
    if "老韩":
        print("老韩你好~")
    

    2.10 字符串 str

    2.10.1 基本介绍

    1、字符串是Python中很常用的数据类型,通俗来说,字符串就是字符组成的一串内容

    2、使用引号(’ 或 “)包括起来,创建字符串

    3、str就是string的缩写,在使用type()查看数据类型时,字符串类型显示的是str

    4、通过加号可以连接字符串

    2.10.2 案例演示

    # 字符串使用注意事项
    
    # 使用引号( ' 或 " ) 包括起来, 创建字符串
    str1 = 'tom说: "hello"'
    print(str1)
    str2 = "jack说: 'hi'"
    print(str2)
    
    print(f"str2的类型:{type(str2)}")
    
    # 通过加号可以连接字符串
    print("hi" + " tom")
    

    2.10.3 使用注意事项

    1、Python不支持单字符类型,单字符在Python中也是作为一个字符使用

    2、用三个单引号’‘‘内容’’',或三个双引号”””内容“““可以使字符串内容保持原样输出,在输出格式复杂的内容是比较有用的,比如输出一段代码

    3、在字符串前面加’r’可以使整个字符串不会被转义

    4、应用实例

    # Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用
    str3 = 'A'
    print("str3类型", type(str3))
    
    # 用三个单引号'''内容''', 或三个双引号"""内容"""可以使字符串内容保持原样输出,
    # 在输出格式复杂的内容是比较有用的, 比如输出一段代码
    
    content = '''be the cat's whiskers/pyjamas " ''
    
    (informal) 最棒的东西(或主意、人等)
    to be the best thing, person, idea, etc. " 
    
    He thinks he's the cat's whiskers (= he has a high opinion of himself) .
    def all(iterable):
        for element in iterable:
            if not element:
                return False
        return True
    他自以为了不起'''
    
    print(content)
    
    # 在字符串前面加 'r' 可以使整个字符串不会被转义
    str4 = r"jack\ntom\tking"
    print(str4)
    

    2.10.4 字符串驻留机制

    …(未完)

    2.11 数据类型转换

    2.11.1 隐式类型转换

    1、Python变量的类型不是固定,会根据变量当前值在运行时决定的,可以通过内置函数 type(变量)来查看其类型,这种方式就是隐式转换,也称为自动转换

    # Python 根据该变量使用的上下文(即 当前值)在运行时决定的类型
    var1 = 10
    print(type(var1))  # int类型
    var1 = 1.1
    print(type(var1))  # float类型
    var1 = "字符串"
    print(type(var1))  # str类型
    

    2、在运算的时候,数据类型会向高精度自动转换

    # 在运算的时候,数据类型会向高精度转换, float的精度高于int
    var2 = 10
    var3 = 1.2
    var4 = var2 + var3  # 11.2 float
    print("var4=", var4, "var4的类型: ", type(var4))  # 11.2 float
    var2 = var2 + 0.1  # 10.1
    print("var2=", var2, "var2的类型: ", type(var2))  # 10.1 float
    

    2.11.2 显式类型转换

    1、如果需要对变量数据类型进行转换,只需要将数据类型作为函数名即可,这种方式就是显式转换/强制转换

    2、以下几个内置函数可以完成数据类型之间的转换。函数会返回一个新的对象/值,就是强制转换后的结果

    函数 描述
    int(x[,base]) 将x转换为一个整数
    float(x) 将x转换到一个浮点数
    complex(real[,imag]) 创建一个复数
    str(x) 将对象x转换为字符串
    repr(x) 将对象x转换为表达式字符串
    eval(str) 用来计算在字符串的有效Python表达式,并返回一个对象
    tuple(s) 将序列s转换为一个元组
    list(s) 将序列s转换为一个列表

    3、案例演示

    # 显示类型转换案例
    
    i = 10
    
    j = float(i)
    print("j的类型:", type(j), "j =", j)
    
    k = str(i)
    print("k的类型:", type(k), "k =", k)  # str, "10"
    

    2.11.3 显示类型转换注意事项

    1、不管什么值的 int,float都可以转成str(),str(x) 将对象 x 转换为字符串

    n1 = 100
    n2 = 123.65
    print(str(n1))
    print(str(n2))
    

    2、int 转成 float 时,会增加小数部分,比如 123->123.0,float 转成 int 时,会去掉小数部分 比如123.65->123

    print(float(n1))  # 100.0
    print(int(n2))  # 123
    

    3、str 转 int,float 使用 int(x),float(x) 将对象 x 转换为int/float

    n3 = "12.3"
    print(float(n3))  # 12.3
    # print(int(n3))
    

    4、在将str 类型转成基本数据类型时, 要确保str值能够转成有效的数据, 比如 我们可以把 “123” , 转成一个整数, 但是不能把 “hello” 转成一个整数,如果格式不正确, 程序会报 ValueError,程序就会终止

    n4 = "hello"
    # print(float(n4))
    # print(int(n4))
    

    5、对一个变量进行强制转换,会返回一个数据/值,注意,强制转换后,并不会影响原变量的数据类型(即:不会影响原变量指向数据/值的数据类型)

    i = 10
    j = float(i)
    print("i的值:", i, "i的类型:", type(i))  # 10,int
    print("j的值:", j, "j的类型:", type(j))  # 10.0,float
    
    k = str(i)
    print("i的值:", i, "i的类型:", type(i))  # 10,int
    print("k的值:", k, "k的类型:", type(k))  # "10",str
    

    第3章 运算符

    3.1 运算符介绍

    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等

    1)算数运算符
    2)赋值运算符
    3)比较运算符
    4)逻辑运算符
    5)位运算符
    

    3.2 算术运算符

    3.2.1 基本介绍

    -算术运算符是对数值类型的变量进行运算的,在程序中使用特别多

    3.2.2 算术运算符一览

    3.2.3 案例演示

  • 算术运算符的使用
  • +,-,*,/,%,//,**

  • 代码演示
  • #对于除号 /, 返回结果是小数
    print(10 / 3)
    
    #对于取整除 // , 返回商的整数部分(并且是向下取整)
    print(10 // 3)  # 3
    print(-9 // 2)  # -5
    print(-10 // 3)  # -4
    
    #当对一个数取模时, 对应的运算公式:  a % b = a - a // b * b
    print(10 % 3)  # 1
    #分析  -10 % 3 = -10 - (-10) // 3 * 3 = -10 - (-4) * 3 = -10 +12 = 2
    print(-10 % 3)  # 2
    #分析 10 % -3 = 10 - 10 // (-3) * (-3) = 10 - (-4) * (-3) = 10 - 12=-2
    print(10 % -3)  # -2
    #分析 -10 % -3 = -10 +9 = -1
    print(-10 % -3)  # -1
    
    print(2 ** 5)  # 32
    print(9 ** 2)  # 81
    

    3.2.4 细节说明

    1、对于除号/,返回结果是小数

    例如:10/3 ,结果是 3.33333… ,10/5 ,结果是 2.0

    2、对于取整除 //,返回商的整数部分(并且是向下取整)

    比如 9//2 结果是 4,-9//2 结果是 -5

    3、当对一个数取模时,对应的运算公式:a % b = a – a // b * b

    3.2.5 案例

    1、假如还有97天放假, 问:合xx个星期零xx天

    '''
        思路分析
        1. 定义变量
        days: 记录总的天数
        week: 记录对应的星期
        left_day: 记录剩余的天数
        2. week: 记录对应的星期 days // 7
        3. left_day: 记录剩余的天数 days % 7
        4. 输出信息
    '''
    
    # 定义相关的变量
    days = 97
    week = days // 7
    left_day = days % 7
    # 输出
    print(f"假如还有{days}天放假, 则:合{week}个星期 零{left_day}天")
    

    2、定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为: 5/9*(华氏温度-100), 请求出华氏温度对应的摄氏温度。[234.5]

    """
        思路:
        1. 定义变量 hua_shi she_shi 
        2. 根据要求直接套用公式即可
        3. 输出结果
    """
    hua_shi = 234.5
    she_shi = 5 / 9 * (hua_shi - 100)
    print(f"华氏温度{hua_shi} 对应的摄氏温度 {she_shi}")
    print("华氏温度 %.2f 对应的摄氏温度 %.2f" % (hua_shi, she_shi))
    

    3.3 比较运算符

    3.3.1 介绍

  • 比较运算符的结果要么是 True,要么是 False

  • 比较表达式 经常用在 if 结构的条件,为 True 就执行相应的语句,为 False 就不执行

  • 3.3.2 比较运算符一览

    运算符 运算 范例 结果
    == 等于 4 == 3 False
    != 不等于 4 != 3 True
    < 小于 4 < 3 False
    > 大于 4 > 3 True
    <= 小于等于 4 <= 3 False
    >= 大于等于 4 >= 3 True
    is 判断两个变量引用对象是否为一个
    is not 判断两个变量引用对象是否不同

    3.3.3 案例演示

  • 代码演示
  • # 讲解比较运算符的使用
    
    a = 9
    b = 8
    print(a > b)  # T
    print(a >= b)  # T
    print(a <= b)  # F
    print(a < b)  # F
    print(a == b)  # F
    print(a != b)  # T
    # 表示把 a>b比较的结果,赋给flag
    flag = a > b  # flag = True
    print("flag = ", flag)  # T
    print(a is b)  # F
    print(a is not b)  # T
    
    str1 = "abc#"
    str2 = "abc#"
    
    print("------------------")
    print(str1 == str2)  # T
    print(str1 is str2)  # T
    

    3.3.4 细节说明

    1、比较运算符的结果要么是True,要么是False

    2、比较运算符组成的表达式,我们称为比较表达式,比如:a > b

    3、比较运算符 == 不能误写成 =

    3.4 逻辑运算符

    3.4.1 基本介绍

  • 逻辑运算也称为布尔运算

  • 逻辑运算符一览

    假设变量 a 为 10 ,b 为 20 (PS: 0 为False , 非0 为True)

    运算符 逻辑表达式 描述 实例
    and x and y 布尔“与”:如果x为False,x and y 返回x的值,否则返回 y 的计算值 (a and b) 返回 20
    or x or y 布尔“或”:如果x为True,它返回x的值,否则返回 y 的计算值 (a or b)返回10
    not not x 布尔“非”:如果x为True,返回False,如果 x 为 False,它返回 True not(a and b) 返回False
  • 3.4.2 and 案例演示

    # and运算符的使用
    # 定义一个成绩变量
    score = 70
    # 判断成绩是否在60-80之间
    
    # print(score >= 60 and score <= 80)  # T
    
    if (score >= 60 and score <= 80):
        print("成绩还不错~")
    

    3.4.3 使用注意事项

    1、and是种“短路运算符”,只有当第一个为True时才去验证第二个

    2、在Python中,非0被视为真值,0值被视为假值

    3、代码说明

    # 示例:
    a = 1
    b = 99
    
    print(a and b)  # 99
    # 在python() 括起来的运算优先级最高
    print((a > b) and b)  # F
    print((a < b) and b)  # 99
    

    3.4.4 or 案例演示

    # 定义一个成绩变量
    score = 70
    # 判断成绩是否<=60 或者 >= 80
    
    # print(score <= 60 or score >= 80)  # F
    if score <= 60 or score >= 80:
        print("hi~~")
    

    3.4.5 使用注意事项

    # 示例
    a = 1
    b = 99
    
    print(a or b)  # 1
    print((a &gt; b) or b)  # 99
    print((a &lt; b) or b)  # True
    

    3.4.6 not 案例演示

    # 代码
    a = 3
    b = not (a > 3)  # True
    print(b)  # T
    print(not False)  # T
    print(not True)  # F
    print(not 0)  # T
    print(not "jack")  # F
    print(not 1.88)  # F
    print(not a)  # F
    

    3.5 赋值运算符

    3.5.1 基本介绍

  • 赋值运算符就是将某个运算后的值,赋给指定的变量

  • 赋值运算符一览

  • 运算符 描述 实例
    = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
    += 复合加法赋值运算符 c += a 等效于 c = c + a
    -= 复合减法赋值运算符 c -= a 等效于 c = c – a
    *= 复合乘法赋值运算符 c *= a 等效于 c = c * a
    /= 复合除法赋值运算符 c /= a 等效于 c = c / a
    %= 复合取模赋值运算符 c %= a 等效于 c = c % a
    **= 复合幂赋值运算符 c **= a 等效于 c = c **a
    //= 复合取整除赋值运算符 c //= a 等效于 c = c // a

    3.5.2 案例演示

  • 案例演示比较运算符的使用

    1)赋值运算符案例

    2)有两个变量,a 和 b,要求将其进行交换,最终打印结果

  • 代码演示

    # 1) 赋值运算符案例
    num1 = 10
    i = 100
    i += 100  # => i = i + 100
    print("i=", i)  # 200
    i -= 100  # => i = i - 100
    print("i=", i)  # 100
    i *= 3  # i = i * 3
    print("i=", i)
    # %= //= /= 等等
    
    # 2) 有两个变量, a和b, 要求将其进行交换,最终打印结果
    a = 30
    b = 40
    """
        分析
        1. 先定义一个中间变量temp
        2. temp = a  # 先把a的值保存到temp
        3. a = b # 把b的值赋给a
        4. b = temp #把temp(即a)的值赋给b
    """
    # print(f"没有交换前 a={a}, b={b}")
    # temp = a
    # a = b
    # b = temp
    # print(f"交换后 a={a}, b={b}")
    
    """
        在python中支持一个简单的方式实现变量交换
        x , y = y, x
    """
    print(f"没有交换前 a={a}, b={b}")
    a, b = b, a
    print(f"交换后 a={a}, b={b}")
    
    
  • 3.5.3 赋值运算符特点

    1、运算顺序从右往左 num = a + b + c

    2、赋值运算符的左边是变量,右边可以是变量、表达式、字面量

    比如

    num1 = 20

    num2 = 78 * 34 – 10

    num3 = a

    num4 = a * b

    3、支持链式赋值

    a = b = c = 100

    4、支持系列解包赋值,注意变量和值的个数和位置要对应

    a,b,c =100,200,300

    3.6 三元运算符

    3.6.1 基本语法

  • Python 是一种极简主义的编程语言,它没有引入 ?:这个运算符,而是使用 if else关键字来实现相同的功能

  • 语法是:max = a if a>b else b

    1)如果 a > b 成立,就把 a 作为整个表达式的值,并赋值给变量 max

    2)如果 a > b 不成立,就把 b 作为整个表达式的值,并赋给变量 max

  • 3.6.2 应用案例

    使用前面的方式, 得到2个数的最大值

    a = 10
    b = 80
    max = a if a < b else b
    print(f"max={max}")
    

    3.6.3 练习

    使用前面的 if-else方式, 得到3个数的最大值

    """
        思路分析
        1. a, b, c三个数
        2. 先求出 a , b 的最大值 max1
        3. 再求出 max1 和 c的最大值max2
    """
    
    # 1. a, b, c三个数
    a = 30
    b = 50
    c = 53
    # 2. 先求出 a , b 的最大值 max1
    max1 = a if a > b else b
    # 3. 再求出 max1 和 c的最大值
    max2 = max1 if max1 > c else c
    print("max2=", max2)
    
    # 还可以使用一条语句完成, 即可以支持嵌套使用,可读性差, 知道可以这样使用即可
    # 不推荐..
    max = (a if a > b else b) if (a if a > b else b) > c else c
    print("max=", max)
    

    3.7 关键字

  • 关键字的定义和特点
  • 定义:被Python 语言赋予了特殊含义,用做专门用途的字符串(单词)

    3.8 键盘输入语句

    3.8.1 介绍

    – 在编程中,需要接受用户输入的数据,就可以使用键盘输入语句来获取

    – input() 介绍

    input(prompt)

    如果存在 prompt 实参,则将其写入标准输出,末尾不带换行符。接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。当读取到 EOF 时,则触发 EOFError

    3.8.2 应用实例演示

    要求:可以从控制台接收用户信息,【姓名,年龄,成绩】

    name = input("请输入姓名: ")
    age = input("请输入年龄: ")
    score = input("请输入成绩: ")
    
    print("\n输入的信息如下: ")
    print("name:", name)
    print("age:", age)
    print("score:", score)
    
    # 注意, 接收到的数据类型是str
    print(type(age))
    print(type(score))
    
    # 如果我们希望对接收到的数据进行算术运算,则需要进行类型转换
    print(10 + float(score))
    print(20 + int(age))
    
    # 当然,我们也可以在接收数据的时候,直接转成需要的类型
    age = int(input("请输入年龄: "))
    
    print("age的类型是:", type(age))
    

    第 4 章 进制

    未完…

    第5章 程序控制结构

    5.1 程序流程控制介绍

  • 程序流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
  • 1)顺序控制

    2)分支控制

    3)循环控制

    5.2 顺序控制

  • 顺序控制介绍
  • 程序从上待选逐行地执行,中间没有任何判断和跳转

  • 顺序控制举例和注意事项

  • (示意图)

    – 案例

    print("----程序开始执行----")
    print("1.小明去上学...")
    print("2.小明学习中...")
    print("3.小明放学了...")
    print("----程序执行结束----")
    
    #Python 中定义变量时采用合法的前向引用。如:
    #代码
    #num1 = 12
    #num2 = num1 + 2
    
    #错误形式:
    num2 = num1 + 2 #错误
    num1 = 12
    
  • 5.3 分支控制 if-else

    5.3.1 介绍

  • 分支控制 if-else 介绍
  • 让程序有选择的执行,分支控制有三种

    1)单分支

    2)双分支

    3)多分支

    5.3.2 单分支

  • 基本语法
  • 单分支是通过 if 语句来实现的,if 语句的基本语法如下:

    if 条件表达式:
      	   代码块(可以执行多条语句)
    
  • if 基本语法说明
  • 1、当条件表达式为True 时,就会执行代码块; 如果为False , 就不执行

    2、Python缩进非常重要, 是用于界定代码块的, 相当于其他编程语言里的大括号{ }

    if 4 > 1:
         print("ok1")
         print("ok2")
         print("ok3")
    

    3、最短的缩进对较长的有包含关系, 缩进前后没有要求,但是每个代码块应具有相同的缩进长度(TAB或者相同个数的空格)

    if 100 > 20:
        print("ok4")
        print("ok5")
        if 8 > 2:
            print("ok6")
    

    4、小结:可以看出,和其他语言对比:其他语言的代码块是用{ }表示的, python 缩进就代替了{ }

  • 案例
  • 请编写一个程序, 可以输入人的年龄,如果该小伙伴的年龄大于18岁,则输出 “你年龄大于18,要对自己的行为负责!”

    """
        思路分析:
        1. 定义变量age, 接收用于输入(注意要转成整数)
        2. 使用if判断即可
    """
    age = int(input("请输入小伙伴的年龄:"))
    if age > 18:
        print("你年龄大于18,要对自己的行为负责!")
    
  • 单分支对应的流程图(描述程序执行流程)

  • 5.3.3 双分支

  • 基本语法
  • if 条件表达式:
    	执行代码块 1
    else:
    	执行代码块 2
    
  • if-else 基本语法说明
  • 1)if、else 是关键字,是规定好的
    2)当条件表达式成立,即执行代码块1,否则执行代码块2,注意,不要少写了 冒号:
    
  • 应用实例
  • """
        思路分析:
        1. 定义变量age, 接收用户输入(注意要转成整数)
        2. 使用if-else判断即可
    """
    age = int(input("请输入小伙伴的年龄:"))
    if age > 18:
        print("你年龄大于18,要对自己的行为负责!")
    else:
        print("你的年龄不大, 这次放过你了")
    
  • 双分支对应的流程图(描述程序执行流程)

  • 5.3.4 单分支和双分支练习题

    1、 编写程序,定义2个整数变量并赋值, 判断两数之和,如果大于等于50,打印"hello world!"

    """
        思路分析
        1. 定义变量num1 和 num2 并赋值
        2. 判断num1 + num2 >= 50 是否成立使用 if 单分支
    """
    num1 = 10
    num2 = 99
    if num1 + num2 >= 50:
        print("hello world!")
    

    2、编写程序,定义2个float型变量并赋值, 如果第一个数大于10.0,且第2个数小于20.0,打印两数之和

    """
        思路分析
        1. 定义变量num1 和 num2 并赋值
        2. 判断 num1 > 10.0 and num2 < 20.0 是否成立使用if单分支
        3. 根据判断的结果,输出 num1 + num2
    """
    num1 = 11.2
    num2 = 5.2
    if num1 > 10.0 and num2 < 20.0:
        print(f"{num1} + {num2} = {num1 + num2}")
    

    3、定义两个变量int类型,判断二者的和,是否能被3又能被5整除,打印提示信息

    """
        思路分析
        1. 定义num1 和 num2 并赋值
        2. 判断 (num1 + num2) % 3 == 0 and (num1 + num2) % 5 == 0 使用双分支if-else
        3. 然后输出结果
    """
    
    num1 = 10
    num2 = 5
    if (num1 + num2) % 3 == 0 and (num1 + num2) % 5 == 0:
        print(f"{num1 + num2} 可以被3又能被5整除")
    else:
        print(f"{num1 + num2} 不满足既可以被3又可以被5整除")
    

    4、判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除,但不能被100整除 (2)能被400整除

    """
        思路分析
        1. 定义一个year 保存年份
        2. 判断 (year % 4 == 0 and year % 100 !=0) or year % 400 == 0 是否成立
        3. 如果成立就是闰年,否则就不是闰年 if-else
    """
    year = 2024
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        print(f"{year} 是闰年")
    else:
        print(f"{year} 不是闰年")
    

    (未完…持续更新中…)

    作者:Cayito

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【笔记】Python 程序设计基础

    发表回复